Commit de2c2118 authored by Philo Lu's avatar Philo Lu Committed by Paolo Abeni
Browse files

ipvs: Always clear ipvs_property flag in skb_scrub_packet()



We found an issue when using bpf_redirect with ipvs NAT mode after
commit ff70202b ("dev_forward_skb: do not scrub skb mark within
the same name space"). Particularly, we use bpf_redirect to return
the skb directly back to the netif it comes from, i.e., xnet is
false in skb_scrub_packet(), and then ipvs_property is preserved
and SNAT is skipped in the rx path.

ipvs_property has been already cleared when netns is changed in
commit 2b5ec1a5 ("netfilter/ipvs: clear ipvs_property flag when
SKB net namespace changed"). This patch just clears it in spite of
netns.

Fixes: 2b5ec1a5 ("netfilter/ipvs: clear ipvs_property flag when SKB net namespace changed")
Signed-off-by: default avatarPhilo Lu <lulie@linux.alibaba.com>
Acked-by: default avatarJulian Anastasov <ja@ssi.bg>
Link: https://patch.msgid.link/20250222033518.126087-1-lulie@linux.alibaba.com


Signed-off-by: default avatarPaolo Abeni <pabeni@redhat.com>
parent 29b036be
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -6033,11 +6033,11 @@ void skb_scrub_packet(struct sk_buff *skb, bool xnet)
	skb->offload_fwd_mark = 0;
	skb->offload_l3_fwd_mark = 0;
#endif
	ipvs_reset(skb);

	if (!xnet)
		return;

	ipvs_reset(skb);
	skb->mark = 0;
	skb_clear_tstamp(skb);
}