netfilter: nf_tables: fix oops when deleting a chain with references
authorPatrick McHardy <kaber@trash.net>
Sat, 25 Jan 2014 08:04:07 +0000 (08:04 +0000)
committerPablo Neira Ayuso <pablo@netfilter.org>
Wed, 5 Feb 2014 12:16:17 +0000 (13:16 +0100)
commit3dd7279fb6db05ec5a088cd0cae6ba22580a82bd
treeb19de5ae3787470a9e29bfd40627ccfef24e8768
parent2a53bfb3e0fb6aa6b1ac93e5979a040a4b57ea8b
netfilter: nf_tables: fix oops when deleting a chain with references

The following commands trigger an oops:

 # nft -i
 nft> add table filter
 nft> add chain filter input { type filter hook input priority 0; }
 nft> add chain filter test
 nft> add rule filter input jump test
 nft> delete chain filter test

We need to check the chain use counter before allowing destruction since
we might have references from sets or jump rules.

Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=69341
Reported-by: Matthew Ife <deleriux1@gmail.com>
Tested-by: Matthew Ife <deleriux1@gmail.com>
Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
net/netfilter/nf_tables_api.c