netfilter: nf_tables: release objects on netns destruction
authorPablo Neira Ayuso <pablo@netfilter.org>
Tue, 15 Dec 2015 18:39:32 +0000 (19:39 +0100)
committerPablo Neira Ayuso <pablo@netfilter.org>
Mon, 28 Dec 2015 17:34:35 +0000 (18:34 +0100)
commitdf05ef874b284d833c2d9795a6350c6a373ab6c9
treeffd2f14eaaebec6551de4e8e2fc1f19d9cb1ccf0
parent26a4d063b1357e3ad81b776eb89d4d82f101da2c
netfilter: nf_tables: release objects on netns destruction

We have to release the existing objects on netns removal otherwise we
leak them. Chains are unregistered in first place to make sure no
packets are walking on our rules and sets anymore.

The object release happens by when we unregister the family via
nft_release_afinfo() which is called from nft_unregister_afinfo() from
the corresponding __net_exit path in every family.

Reported-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
include/net/netfilter/nf_tables.h
net/bridge/netfilter/nf_tables_bridge.c
net/ipv4/netfilter/nf_tables_arp.c
net/ipv4/netfilter/nf_tables_ipv4.c
net/ipv6/netfilter/nf_tables_ipv6.c
net/netfilter/nf_tables_api.c
net/netfilter/nf_tables_inet.c
net/netfilter/nf_tables_netdev.c