From: Nikolay Aleksandrov <niko...@cumulusnetworks.com>

Fix a memory leak in the mpls netns init function in case of failure. If
register_net_sysctl fails then we need to free the ctl_table.

Fixes: 7720c01f3f59 ("mpls: Add a sysctl to control the size of the mpls label 
table")
Signed-off-by: Nikolay Aleksandrov <niko...@cumulusnetworks.com>
---
 net/mpls/af_mpls.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/net/mpls/af_mpls.c b/net/mpls/af_mpls.c
index 1f93a5978f2a..b1faa2dc0e6a 100644
--- a/net/mpls/af_mpls.c
+++ b/net/mpls/af_mpls.c
@@ -1066,8 +1066,10 @@ static int mpls_net_init(struct net *net)
 
        table[0].data = net;
        net->mpls.ctl = register_net_sysctl(net, "net/mpls", table);
-       if (net->mpls.ctl == NULL)
+       if (net->mpls.ctl == NULL) {
+               kfree(table);
                return -ENOMEM;
+       }
 
        return 0;
 }
-- 
2.4.3

--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to