OSDN Git Service

netfilter: nf_tables: do not reduce read-only expressions
authorPablo Neira Ayuso <pablo@netfilter.org>
Mon, 14 Mar 2022 17:23:00 +0000 (18:23 +0100)
committerPablo Neira Ayuso <pablo@netfilter.org>
Sat, 19 Mar 2022 23:29:46 +0000 (00:29 +0100)
commitb2d306542ff935a4edf7a88ba8145c108193442a
tree4c02a42b60c7c6305d11ac1838127795238e18e7
parent31d0bb9763efad30377505f3467f958d1ebe1e3d
netfilter: nf_tables: do not reduce read-only expressions

Skip register tracking for expressions that perform read-only operations
on the registers. Define and use a cookie pointer NFT_REDUCE_READONLY to
avoid defining stubs for these expressions.

This patch re-enables register tracking which was disabled in ed5f85d42290
("netfilter: nf_tables: disable register tracking"). Follow up patches
add remaining register tracking for existing expressions.

Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
31 files changed:
include/net/netfilter/nf_tables.h
net/bridge/netfilter/nft_reject_bridge.c
net/ipv4/netfilter/nft_dup_ipv4.c
net/ipv4/netfilter/nft_reject_ipv4.c
net/ipv6/netfilter/nft_dup_ipv6.c
net/ipv6/netfilter/nft_reject_ipv6.c
net/netfilter/nf_tables_api.c
net/netfilter/nft_cmp.c
net/netfilter/nft_compat.c
net/netfilter/nft_connlimit.c
net/netfilter/nft_counter.c
net/netfilter/nft_ct.c
net/netfilter/nft_dup_netdev.c
net/netfilter/nft_dynset.c
net/netfilter/nft_flow_offload.c
net/netfilter/nft_fwd_netdev.c
net/netfilter/nft_last.c
net/netfilter/nft_limit.c
net/netfilter/nft_log.c
net/netfilter/nft_masq.c
net/netfilter/nft_nat.c
net/netfilter/nft_objref.c
net/netfilter/nft_queue.c
net/netfilter/nft_quota.c
net/netfilter/nft_range.c
net/netfilter/nft_redir.c
net/netfilter/nft_reject_inet.c
net/netfilter/nft_reject_netdev.c
net/netfilter/nft_rt.c
net/netfilter/nft_synproxy.c
net/netfilter/nft_tproxy.c