]> git.ipfire.org Git - thirdparty/kernel/linux.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)
committerJakub Kicinski <kuba@kernel.org>
Sun, 18 Jan 2026 00:22:18 +0000 (16:22 -0800)
commitb47adaab8b3d443868096bac08fdbb3d403194ba
treeb88118c99ed77591ad5def57336a503320fad78d
parent6a5e5a3da3557ab1ccc3716b2cdb67aab658dc45
veth: fix data race in veth_get_ethtool_stats

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>
drivers/net/veth.c