diff options
author | Pablo Neira Ayuso <pablo@netfilter.org> | 2023-08-21 14:33:32 +0200 |
---|---|---|
committer | Florian Westphal <fw@strlen.de> | 2023-08-23 16:10:01 +0200 |
commit | 8357bc946a2abc2a10ca40e5a2105d2b4c57515e (patch) | |
tree | 6f71260551875e9de057313059274b9409013f45 /net | |
parent | netfilter: nf_tables: GC transaction race with abort path (diff) | |
download | linux-8357bc946a2abc2a10ca40e5a2105d2b4c57515e.tar.xz linux-8357bc946a2abc2a10ca40e5a2105d2b4c57515e.zip |
netfilter: nf_tables: use correct lock to protect gc_list
Use nf_tables_gc_list_lock spinlock, not nf_tables_destroy_list_lock to
protect the gc list.
Fixes: 5f68718b34a5 ("netfilter: nf_tables: GC transaction API to avoid race with control plane")
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
Signed-off-by: Florian Westphal <fw@strlen.de>
Diffstat (limited to 'net')
-rw-r--r-- | net/netfilter/nf_tables_api.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/net/netfilter/nf_tables_api.c b/net/netfilter/nf_tables_api.c index a255456efae4..eb8b1167dced 100644 --- a/net/netfilter/nf_tables_api.c +++ b/net/netfilter/nf_tables_api.c @@ -9456,9 +9456,9 @@ static void nft_trans_gc_work(struct work_struct *work) struct nft_trans_gc *trans, *next; LIST_HEAD(trans_gc_list); - spin_lock(&nf_tables_destroy_list_lock); + spin_lock(&nf_tables_gc_list_lock); list_splice_init(&nf_tables_gc_list, &trans_gc_list); - spin_unlock(&nf_tables_destroy_list_lock); + spin_unlock(&nf_tables_gc_list_lock); list_for_each_entry_safe(trans, next, &trans_gc_list, list) { list_del(&trans->list); |