Commit 42eb1fa8 authored by Eric Dumazet's avatar Eric Dumazet Committed by Dong Chenchen
Browse files

ip6_tunnel: use dev_sw_netstats_rx_add()

stable inclusion
from stable-v5.10.209
commit a57b114a84f85e7e3c10260c4ffc04558d0a86f6
category: bugfix
bugzilla: 189707, https://gitee.com/src-openeuler/kernel/issues/I99JV2
CVE: CVE-2024-26641

Reference: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=a57b114a84f85e7e3c10260c4ffc04558d0a86f6



--------------------------------

[ Upstream commit afd2051b ]

We have a convenient helper, let's use it.

Signed-off-by: default avatarEric Dumazet <edumazet@google.com>
Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
Stable-dep-of: 8d975c15c0cd ("ip6_tunnel: make sure to pull inner header in __ip6_tnl_rcv()")
Signed-off-by: default avatarSasha Levin <sashal@kernel.org>
Signed-off-by: default avatarDong Chenchen <dongchenchen2@huawei.com>
parent 28ad13bd
Loading
Loading
Loading
Loading
+1 −6
Original line number Diff line number Diff line
@@ -829,7 +829,6 @@ static int __ip6_tnl_rcv(struct ip6_tnl *tunnel, struct sk_buff *skb,
						struct sk_buff *skb),
			 bool log_ecn_err)
{
	struct pcpu_sw_netstats *tstats;
	const struct ipv6hdr *ipv6h = ipv6_hdr(skb);
	int err;

@@ -888,11 +887,7 @@ static int __ip6_tnl_rcv(struct ip6_tnl *tunnel, struct sk_buff *skb,
		}
	}

	tstats = this_cpu_ptr(tunnel->dev->tstats);
	u64_stats_update_begin(&tstats->syncp);
	tstats->rx_packets++;
	tstats->rx_bytes += skb->len;
	u64_stats_update_end(&tstats->syncp);
	dev_sw_netstats_rx_add(tunnel->dev, skb->len);

	skb_scrub_packet(skb, !net_eq(tunnel->net, dev_net(tunnel->dev)));