From: Yang Yingliang Date: Sat, 30 May 2020 03:34:33 +0000 (+0800) Subject: devinet: fix memleak in inetdev_init() X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=1b49cd71b52403822731dc9f283185d1da355f97;p=linux.git devinet: fix memleak in inetdev_init() When devinet_sysctl_register() failed, the memory allocated in neigh_parms_alloc() should be freed. Fixes: 20e61da7ffcf ("ipv4: fail early when creating netdev named all or default") Signed-off-by: Yang Yingliang Acked-by: Cong Wang Signed-off-by: David S. Miller --- diff --git a/net/ipv4/devinet.c b/net/ipv4/devinet.c index c0dd561aa1903..5267b6b191eba 100644 --- a/net/ipv4/devinet.c +++ b/net/ipv4/devinet.c @@ -276,6 +276,7 @@ static struct in_device *inetdev_init(struct net_device *dev) err = devinet_sysctl_register(in_dev); if (err) { in_dev->dead = 1; + neigh_parms_release(&arp_tbl, in_dev->arp_parms); in_dev_put(in_dev); in_dev = NULL; goto out;