netfilter: nf_tables: use correct lock to protect gc_list
authorPablo Neira Ayuso <pablo@netfilter.org>
Mon, 21 Aug 2023 12:33:32 +0000 (14:33 +0200)
committerFlorian Westphal <fw@strlen.de>
Wed, 23 Aug 2023 14:10:01 +0000 (16:10 +0200)
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>
net/netfilter/nf_tables_api.c

index a255456efae43d4dca4f9de8a5631c2406401b32..eb8b1167dced2a4320c51d86e491c10d70b30f7d 100644 (file)
@@ -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);