From: Florian Westphal Date: Mon, 15 Apr 2024 12:23:44 +0000 (+0200) Subject: ip6_vti: fix memleak on netns dismantle X-Git-Tag: net-accept-more-20240515~4^2~219 X-Git-Url: https://git.kernel.dk/?a=commitdiff_plain;h=86600ea11dc18ecd10110c13148d0fb04a80ceea;p=linux-block.git ip6_vti: fix memleak on netns dismantle kmemleak reports net_device resources are no longer released, restore needs_free_netdev toggle. Sample backtrace: unreferenced object 0xffff88810874f000 (size 4096): [..] [<00000000a2b8af8b>] __kmalloc_node+0x209/0x290 [<0000000040b0a1a9>] alloc_netdev_mqs+0x58/0x470 [<00000000b4be1e78>] vti6_init_net+0x94/0x230 [<000000008830c1ea>] ops_init+0x32/0xc0 [<000000006a26fa8f>] setup_net+0x134/0x2e0 [..] Cc: Breno Leitao Fixes: a9b2d55a8f1e ("ip6_vti: Do not use custom stat allocator") Signed-off-by: Florian Westphal Reviewed-by: Simon Horman Link: https://lore.kernel.org/r/20240415122346.26503-1-fw@strlen.de Signed-off-by: Jakub Kicinski --- diff --git a/net/ipv6/ip6_vti.c b/net/ipv6/ip6_vti.c index 4d68a0777b0c..78344cf3867e 100644 --- a/net/ipv6/ip6_vti.c +++ b/net/ipv6/ip6_vti.c @@ -901,6 +901,7 @@ static void vti6_dev_setup(struct net_device *dev) { dev->netdev_ops = &vti6_netdev_ops; dev->header_ops = &ip_tunnel_header_ops; + dev->needs_free_netdev = true; dev->pcpu_stat_type = NETDEV_PCPU_STAT_TSTATS; dev->type = ARPHRD_TUNNEL6;