Commit 6d365eab authored by Pablo Neira Ayuso's avatar Pablo Neira Ayuso
Browse files

netfilter: nft_set_pipapo: stop GC iteration if GC transaction allocation fails



nft_trans_gc_queue_sync() enqueues the GC transaction and it allocates a
new one. If this allocation fails, then stop this GC sync run and retry
later.

Fixes: 5f68718b ("netfilter: nf_tables: GC transaction API to avoid race with control plane")
Signed-off-by: default avatarPablo Neira Ayuso <pablo@netfilter.org>
parent 4a9e12ea
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -1596,7 +1596,7 @@ static void pipapo_gc(const struct nft_set *_set, struct nft_pipapo_match *m)

			gc = nft_trans_gc_queue_sync(gc, GFP_ATOMIC);
			if (!gc)
				break;
				return;

			nft_pipapo_gc_deactivate(net, set, e);
			pipapo_drop(m, rulemap);