mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-05 10:31:46 +09:00
UPSTREAM: netfilter: nf_tables: check if catch-all set element is active in next generation
commit b1db244ffd041a49ecc9618e8feb6b5c1afcdaa7 upstream. When deactivating the catch-all set element, check the state in the next generation that represents this transaction. This bug uncovered after the recent removal of the element busy marka2dd0233cb("netfilter: nf_tables: remove busy mark and gc batch API"). Bug: 323034444 Fixes:aaa31047a6("netfilter: nftables: add catch-all set element support") Cc: stable@vger.kernel.org Reported-by: lonial con <kongln9170@gmail.com> Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> (cherry picked from commita372f1d01b) Signed-off-by: Lee Jones <joneslee@google.com> Change-Id: I40ac92a33db48a2709079d27d7d529946ba297c7
This commit is contained in:
committed by
Todd Kjos
parent
8d4d76a2bd
commit
7dc3b2e49e
@@ -6152,7 +6152,7 @@ static int nft_setelem_catchall_deactivate(const struct net *net,
|
|||||||
|
|
||||||
list_for_each_entry(catchall, &set->catchall_list, list) {
|
list_for_each_entry(catchall, &set->catchall_list, list) {
|
||||||
ext = nft_set_elem_ext(set, catchall->elem);
|
ext = nft_set_elem_ext(set, catchall->elem);
|
||||||
if (!nft_is_active(net, ext))
|
if (!nft_is_active_next(net, ext))
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
kfree(elem->priv);
|
kfree(elem->priv);
|
||||||
|
|||||||
Reference in New Issue
Block a user