| From foo@baz Sun 07 Jun 2020 03:24:36 PM CEST |
| From: Yang Yingliang <yangyingliang@huawei.com> |
| Date: Sat, 30 May 2020 11:34:33 +0800 |
| Subject: devinet: fix memleak in inetdev_init() |
| |
| From: Yang Yingliang <yangyingliang@huawei.com> |
| |
| [ Upstream commit 1b49cd71b52403822731dc9f283185d1da355f97 ] |
| |
| 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 <yangyingliang@huawei.com> |
| Acked-by: Cong Wang <xiyou.wangcong@gmail.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| --- |
| net/ipv4/devinet.c | 1 + |
| 1 file changed, 1 insertion(+) |
| |
| --- a/net/ipv4/devinet.c |
| +++ b/net/ipv4/devinet.c |
| @@ -262,6 +262,7 @@ static struct in_device *inetdev_init(st |
| 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; |