]> www.infradead.org Git - users/dwmw2/linux.git/commitdiff
netfilter: nf_tables: always initialize flowtable hook list in transaction
authorPablo Neira Ayuso <pablo@netfilter.org>
Wed, 1 Jun 2022 15:49:36 +0000 (17:49 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 14 Jun 2022 16:32:39 +0000 (18:32 +0200)
[ Upstream commit 2c9e4559773c261900c674a86b8e455911675d71 ]

The hook list is used if nft_trans_flowtable_update(trans) == true. However,
initialize this list for other cases for safety reasons.

Fixes: 78d9f48f7f44 ("netfilter: nf_tables: add devices to existing flowtable")
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
net/netfilter/nf_tables_api.c

index a5779790e3377a0e500455c103527688fc1ae508..b90e45f1ffa051d9bf830c188e10d4e9746659a4 100644 (file)
@@ -481,6 +481,7 @@ static int nft_trans_flowtable_add(struct nft_ctx *ctx, int msg_type,
        if (msg_type == NFT_MSG_NEWFLOWTABLE)
                nft_activate_next(ctx->net, flowtable);
 
+       INIT_LIST_HEAD(&nft_trans_flowtable_hooks(trans));
        nft_trans_flowtable(trans) = flowtable;
        list_add_tail(&trans->list, &ctx->net->nft.commit_list);