netfilter: nf_tables: bogus EBUSY when deleting set after flush
authorPablo Neira Ayuso <pablo@netfilter.org>
Fri, 8 Mar 2019 14:30:03 +0000 (15:30 +0100)
committerPablo Neira Ayuso <pablo@netfilter.org>
Mon, 11 Mar 2019 12:19:24 +0000 (13:19 +0100)
commit273fe3f1006ea5ebc63d6729e43e8e45e32b256a
tree810f730706a6175ce19697e4eb3f2a81a1c0ca99
parent40ba1d9b4d19796afc9b7ece872f5f3e8f5e2c13
netfilter: nf_tables: bogus EBUSY when deleting set after flush

Set deletion after flush coming in the same batch results in EBUSY. Add
set use counter to track the number of references to this set from
rules. We cannot rely on the list of bindings for this since such list
is still populated from the preparation phase.

Reported-by: Václav Zindulka <vaclav.zindulka@tlapnet.cz>
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
include/net/netfilter/nf_tables.h
net/netfilter/nf_tables_api.c
net/netfilter/nft_dynset.c
net/netfilter/nft_lookup.c
net/netfilter/nft_objref.c