]> git.ipfire.org Git - thirdparty/kernel/stable.git/commit
veth: fix data race in veth_get_ethtool_stats
authorDavid Yang <mmyangfl@gmail.com>
Wed, 14 Jan 2026 12:24:45 +0000 (20:24 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 30 Jan 2026 09:27:33 +0000 (10:27 +0100)
commit0bb986d83922c5380bbc56ed993468578b8d2b2a
tree29ef12f063bf7396cb792093ef0311c9749c6193
parent1cc98b8887cabb1808d2f4a37cd10a7be7574771
veth: fix data race in veth_get_ethtool_stats

[ Upstream commit b47adaab8b3d443868096bac08fdbb3d403194ba ]

In veth_get_ethtool_stats(), some statistics protected by
u64_stats_sync, are read and accumulated in ignorance of possible
u64_stats_fetch_retry() events. These statistics, peer_tq_xdp_xmit and
peer_tq_xdp_xmit_err, are already accumulated by veth_xdp_xmit(). Fix
this by reading them into a temporary buffer first.

Fixes: 5fe6e56776ba ("veth: rely on peer veth_rq for ndo_xdp_xmit accounting")
Signed-off-by: David Yang <mmyangfl@gmail.com>
Link: https://patch.msgid.link/20260114122450.227982-1-mmyangfl@gmail.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/net/veth.c