netfilter: nf_tables_offload: incorrect flow offload action array size
authorPablo Neira Ayuso <pablo@netfilter.org>
Thu, 17 Feb 2022 22:41:20 +0000 (23:41 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 2 Mar 2022 10:47:51 +0000 (11:47 +0100)
commit6c5d780469d6c3590729940e2be8a3bd66ea4814
treec32c48e059a06e7149a4a597debad79fd1cb5a8a
parent144f3008524cfb17d56353b9aa072072c2abdc9a
netfilter: nf_tables_offload: incorrect flow offload action array size

commit b1a5983f56e371046dcf164f90bfaf704d2b89f6 upstream.

immediate verdict expression needs to allocate one slot in the flow offload
action array, however, immediate data expression does not need to do so.

fwd and dup expression need to allocate one slot, this is missing.

Add a new offload_action interface to report if this expression needs to
allocate one slot in the flow offload action array.

Fixes: be2861dc36d7 ("netfilter: nft_{fwd,dup}_netdev: add offload support")
Reported-and-tested-by: Nick Gregory <Nick.Gregory@Sophos.com>
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
include/net/netfilter/nf_tables.h
include/net/netfilter/nf_tables_offload.h
net/netfilter/nf_tables_offload.c
net/netfilter/nft_dup_netdev.c
net/netfilter/nft_fwd_netdev.c
net/netfilter/nft_immediate.c