From: Pablo Neira Ayuso <pablo@netfilter.org> Date: Wed, 1 Jun 2022 15:49:36 +0000 (+0200) Subject: netfilter: nf_tables: always initialize flowtable hook list in transaction X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=77b68c59f6c938424bf29ed0dc5d27732a635d30;p=linux.git netfilter: nf_tables: always initialize flowtable hook list in transaction [ 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> --- diff --git a/net/netfilter/nf_tables_api.c b/net/netfilter/nf_tables_api.c index b19974073156f..5c0379394b4aa 100644 --- a/net/netfilter/nf_tables_api.c +++ b/net/netfilter/nf_tables_api.c @@ -544,6 +544,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; nft_trans_commit_list_add_tail(ctx->net, trans);