mpls: fix mpls_net_init memory leak
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: 7720c01f3f
("mpls: Add a sysctl to control the size of the mpls label table")
Signed-off-by: Nikolay Aleksandrov <nikolay@cumulusnetworks.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
Родитель
f0fa6e529e
Коммит
6ea3c9d5b0
|
@ -1177,8 +1177,10 @@ static int mpls_net_init(struct net *net)
|
||||||
|
|
||||||
table[0].data = net;
|
table[0].data = net;
|
||||||
net->mpls.ctl = register_net_sysctl(net, "net/mpls", table);
|
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 -ENOMEM;
|
||||||
|
}
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
Загрузка…
Ссылка в новой задаче