Netdev List
 help / color / mirror / Atom feed
* [PATCH net 0/4] net/mlx5e: Fix crashes in dynamic per-channel stats and HV VHCA agent
@ 2026-06-04 13:50 Tariq Toukan
  2026-06-04 13:50 ` [PATCH net 1/4] net/mlx5e: Fix HV VHCA stats zero-sized buffer allocation Tariq Toukan
                   ` (3 more replies)
  0 siblings, 4 replies; 5+ messages in thread
From: Tariq Toukan @ 2026-06-04 13:50 UTC (permalink / raw)
  To: Eric Dumazet, Jakub Kicinski, Paolo Abeni, Andrew Lunn,
	David S. Miller
  Cc: Saeed Mahameed, Leon Romanovsky, Tariq Toukan, Mark Bloch,
	Eran Ben Elisha, Feng Liu, Cosmin Ratiu, Gal Pressman,
	Simon Horman, Alexei Lazar, Nimrod Oren, Carolina Jubran,
	Kees Cook, Lama Kayal, Eran Ben Elisha, Saeed Mahameed,
	Haiyang Zhang, Joe Damato, netdev, linux-rdma, linux-kernel

Hi,

Since per-channel stats were converted to be allocated and published
lazily at first channel open in commit fa691d0c9c08 ("net/mlx5e: Allocate
per-channel stats dynamically at first usage"), priv->channel_stats[]
and priv->stats_nch are filled in incrementally during interface
bring-up. This opened a window in which the various stats readers - most
of them reachable from userspace via netlink/netdev stats queries - can
race with mlx5e_open_channel() on another CPU and observe partially
initialized state. The HV VHCA stats agent, which is created before the
channels are opened, hits related problems of its own.

This series by Feng collects the resulting crashes and fixes them.

Regards,
Tariq

Feng Liu (4):
  net/mlx5e: Fix HV VHCA stats zero-sized buffer allocation
  net/mlx5e: Fix HV VHCA stats agent registration race
  net/mlx5e: Bounds-check stats_nch in mlx5e_get_queue_stats_rx()
  net/mlx5e: Fix publication race for priv->channel_stats[]

 drivers/net/ethernet/mellanox/mlx5/core/en.h  | 12 ++++++
 .../mellanox/mlx5/core/en/hv_vhca_stats.c     | 38 +++++++++++++------
 .../net/ethernet/mellanox/mlx5/core/en_main.c | 15 +++++---
 .../ethernet/mellanox/mlx5/core/en_stats.c    |  9 +++--
 .../ethernet/mellanox/mlx5/core/ipoib/ipoib.c |  3 +-
 .../ethernet/mellanox/mlx5/core/lib/hv_vhca.c |  8 +++-
 .../ethernet/mellanox/mlx5/core/lib/hv_vhca.h |  6 ++-
 7 files changed, 64 insertions(+), 27 deletions(-)


base-commit: c05fa14db43ebef3bd862ca9d073981c0358b3f0
-- 
2.44.0


^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2026-06-04 13:52 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-06-04 13:50 [PATCH net 0/4] net/mlx5e: Fix crashes in dynamic per-channel stats and HV VHCA agent Tariq Toukan
2026-06-04 13:50 ` [PATCH net 1/4] net/mlx5e: Fix HV VHCA stats zero-sized buffer allocation Tariq Toukan
2026-06-04 13:50 ` [PATCH net 2/4] net/mlx5e: Fix HV VHCA stats agent registration race Tariq Toukan
2026-06-04 13:50 ` [PATCH net 3/4] net/mlx5e: Bounds-check stats_nch in mlx5e_get_queue_stats_rx() Tariq Toukan
2026-06-04 13:50 ` [PATCH net 4/4] net/mlx5e: Fix publication race for priv->channel_stats[] Tariq Toukan

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox