From: Sabrina Dubroca Date: Fri, 8 Sep 2017 08:26:19 +0000 (+0200) Subject: ipv6: fix memory leak with multiple tables during netns destruction X-Git-Url: https://git.openpandora.org/cgi-bin/gitweb.cgi?p=pandora-kernel.git;a=commitdiff_plain;h=4faaefb9e038c5aa09ff5b33a91c2bf9b8b37e93;ds=sidebyside ipv6: fix memory leak with multiple tables during netns destruction commit ba1cc08d9488c94cb8d94f545305688b72a2a300 upstream. fib6_net_exit only frees the main and local tables. If another table was created with fib6_alloc_table, we leak it when the netns is destroyed. Fix this in the same way ip_fib_net_exit cleans up tables, by walking through the whole hashtable of fib6_table's. We can get rid of the special cases for local and main, since they're also part of the hashtable. Reproducer: ip netns add x ip -net x -6 rule add from 6003:1::/64 table 100 ip netns del x Reported-by: Jianlin Shi Fixes: 58f09b78b730 ("[NETNS][IPV6] ip6_fib - make it per network namespace") Signed-off-by: Sabrina Dubroca Signed-off-by: David S. Miller [bwh: Backported to 3.2: - No need to call inetpeer_invalidate_tree() - Add the extra iterator variable needed by hlist_for_each_entry_safe()] Signed-off-by: Ben Hutchings --- Reading git-diff-tree failed