Commit 1b49cd71 authored by Yang Yingliang's avatar Yang Yingliang Committed by David S. Miller

devinet: fix memleak in inetdev_init()

When devinet_sysctl_register() failed, the memory allocated
in neigh_parms_alloc() should be freed.

Fixes: 20e61da7 ("ipv4: fail early when creating netdev named all or default")
Signed-off-by: default avatarYang Yingliang <yangyingliang@huawei.com>
Acked-by: default avatarCong Wang <xiyou.wangcong@gmail.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 8692cefc
...@@ -276,6 +276,7 @@ static struct in_device *inetdev_init(struct net_device *dev) ...@@ -276,6 +276,7 @@ static struct in_device *inetdev_init(struct net_device *dev)
err = devinet_sysctl_register(in_dev); err = devinet_sysctl_register(in_dev);
if (err) { if (err) {
in_dev->dead = 1; in_dev->dead = 1;
neigh_parms_release(&arp_tbl, in_dev->arp_parms);
in_dev_put(in_dev); in_dev_put(in_dev);
in_dev = NULL; in_dev = NULL;
goto out; goto out;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment