From: Pablo Neira Ayuso <pablo@netfilter.org> Date: 2021-12-15 23:49:23
Hi,
The following patchset contains Netfilter updates for net-next, mostly
rather small housekeeping patches:
1) Remove unused variable in IPVS, from GuoYong Zheng.
2) Use memset_after in conntrack, from Kees Cook.
3) Remove leftover function in nfnetlink_queue, from Florian Westphal.
4) Remove redundant test on bool in conntrack, from Bernard Zhao.
5) egress support for nft_fwd, from Lukas Wunner.
6) Make pppoe work for br_netfilter, from Florian Westphal.
7) Remove unused variable in conntrack resize routine, from luo penghao.
Please, pull these changes from:
git://git.kernel.org/pub/scm/linux/kernel/git/pablo/nf-next.git
Thanks.
----------------------------------------------------------------
The following changes since commit 196073f9c44be0b4758ead11e51bc2875f98df29:
net: ixp4xx_hss: drop kfree for memory allocated with devm_kzalloc (2021-11-30 12:40:22 +0000)
are available in the Git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/pablo/nf-next.git HEAD
for you to fetch changes up to 284ca7647c67683b32f4f8c0dec6cc38cb2cb9f8:
netfilter: conntrack: Remove useless assignment statements (2021-12-16 00:17:40 +0100)
----------------------------------------------------------------
Bernard Zhao (1):
netfilter: ctnetlink: remove useless type conversion to bool
Florian Westphal (2):
netfilter: nf_queue: remove leftover synchronize_rcu
netfilter: bridge: add support for pppoe filtering
GuoYong Zheng (1):
ipvs: remove unused variable for ip_vs_new_dest
Kees Cook (1):
netfilter: conntrack: Use memset_startat() to zero struct nf_conn
Pablo Neira Ayuso (1):
netfilter: nft_fwd_netdev: Support egress hook
luo penghao (1):
netfilter: conntrack: Remove useless assignment statements
net/bridge/br_netfilter_hooks.c | 7 +++----
net/netfilter/ipvs/ip_vs_ctl.c | 7 ++-----
net/netfilter/nf_conntrack_core.c | 5 +----
net/netfilter/nf_conntrack_netlink.c | 2 +-
net/netfilter/nfnetlink_queue.c | 6 ------
net/netfilter/nft_fwd_netdev.c | 7 +++++--
6 files changed, 12 insertions(+), 22 deletions(-)
From: Pablo Neira Ayuso <pablo@netfilter.org> Date: 2021-12-15 23:49:27
From: GuoYong Zheng <redacted>
The dest variable is not used after ip_vs_new_dest anymore in
ip_vs_add_dest, do not need pass it to ip_vs_new_dest, remove it.
Signed-off-by: GuoYong Zheng <redacted>
Acked-by: Julian Anastasov <ja@ssi.bg>
Acked-by: Simon Horman <horms@verge.net.au>
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
---
net/netfilter/ipvs/ip_vs_ctl.c | 7 ++-----
1 file changed, 2 insertions(+), 5 deletions(-)
From: Pablo Neira Ayuso <pablo@netfilter.org> Date: 2021-12-15 23:49:29
From: Bernard Zhao <redacted>
dying is bool, the type conversion to true/false value is not
needed.
Signed-off-by: Bernard Zhao <redacted>
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
---
net/netfilter/nf_conntrack_netlink.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
@@ -27,9 +27,11 @@ static void nft_fwd_netdev_eval(const struct nft_expr *expr,{structnft_fwd_netdev*priv=nft_expr_priv(expr);intoif=regs->data[priv->sreg_dev];+structsk_buff*skb=pkt->skb;/* This is used by ifb only. */-skb_set_redirected(pkt->skb,true);+skb->skb_iif=skb->dev->ifindex;+skb_set_redirected(skb,nft_hook(pkt)==NF_NETDEV_INGRESS);nf_fwd_netdev_egress(pkt,oif);regs->verdict.code=NF_STOLEN;
@@ -198,7 +200,8 @@ static int nft_fwd_validate(const struct nft_ctx *ctx,conststructnft_expr*expr,conststructnft_data**data){-returnnft_chain_validate_hooks(ctx->chain,(1<<NF_NETDEV_INGRESS));+returnnft_chain_validate_hooks(ctx->chain,(1<<NF_NETDEV_INGRESS)|+(1<<NF_NETDEV_EGRESS));}staticstructnft_expr_typenft_fwd_netdev_type;
From: Pablo Neira Ayuso <pablo@netfilter.org> Date: 2021-12-15 23:49:31
From: Florian Westphal <fw@strlen.de>
This makes 'bridge-nf-filter-pppoe-tagged' sysctl work for
bridged traffic.
Looking at the original commit it doesn't appear this ever worked:
static unsigned int br_nf_post_routing(unsigned int hook, struct sk_buff **pskb,
[..]
if (skb->protocol == htons(ETH_P_8021Q)) {
skb_pull(skb, VLAN_HLEN);
skb->network_header += VLAN_HLEN;
+ } else if (skb->protocol == htons(ETH_P_PPP_SES)) {
+ skb_pull(skb, PPPOE_SES_HLEN);
+ skb->network_header += PPPOE_SES_HLEN;
}
[..]
NF_HOOK(... POST_ROUTING, ...)
... but the adjusted offsets are never restored.
The alternative would be to rip this code out for good,
but otoh we'd have to keep this anyway for the vlan handling
(which works because vlan tag info is in the skb, not the packet
payload).
Reported-and-tested-by: Amish Chana <redacted>
Fixes: 516299d2f5b6f97 ("[NETFILTER]: bridge-nf: filter bridged IPv4/IPv6 encapsulated in pppoe traffic")
Signed-off-by: Florian Westphal <fw@strlen.de>
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
---
net/bridge/br_netfilter_hooks.c | 7 +++----
1 file changed, 3 insertions(+), 4 deletions(-)
From: Pablo Neira Ayuso <pablo@netfilter.org> Date: 2021-12-15 23:49:35
From: luo penghao <redacted>
The old_size assignment here will not be used anymore
The clang_analyzer complains as follows:
Value stored to 'old_size' is never read
Reported-by: Zeal Robot <redacted>
Signed-off-by: luo penghao <redacted>
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
---
net/netfilter/nf_conntrack_core.c | 1 -
1 file changed, 1 deletion(-)
@@ -2588,7 +2588,6 @@ int nf_conntrack_hash_resize(unsigned int hashsize)hlist_nulls_add_head_rcu(&h->hnnode,&hash[bucket]);}}-old_size=nf_conntrack_htable_size;old_hash=nf_conntrack_hash;nf_conntrack_hash=hash;
Hello:
This series was applied to netdev/net-next.git (master)
by Pablo Neira Ayuso [off-list ref]:
On Thu, 16 Dec 2021 00:49:05 +0100 you wrote:
From: GuoYong Zheng <redacted>
The dest variable is not used after ip_vs_new_dest anymore in
ip_vs_add_dest, do not need pass it to ip_vs_new_dest, remove it.
Signed-off-by: GuoYong Zheng <redacted>
Acked-by: Julian Anastasov <ja@ssi.bg>
Acked-by: Simon Horman <horms@verge.net.au>
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
[...]