> -----Original Message----- > From: Keller, Jacob E <[email protected]> > Sent: Tuesday, November 4, 2025 2:07 AM > To: Loktionov, Aleksandr <[email protected]>; Lobakin, > Aleksander <[email protected]>; Nguyen, Anthony L > <[email protected]>; Kitszel, Przemyslaw > <[email protected]> > Cc: [email protected]; [email protected]; Keller, > Jacob E <[email protected]> > Subject: [PATCH iwl-next 1/9] ice: initialize ring_stats->syncp > > The u64_stats_sync structure is empty on 64-bit systems. However, on > 32-bit systems it contains a seqcount_t which needs to be initialized. > While the memory is zero-initialized, a lack of u64_stats_init means > that lockdep won't get initialized properly. Fix this by adding > u64_stats_init() calls to the rings just after allocation. > > Fixes: 2b245cb29421 ("ice: Implement transmit and NAPI support") > Signed-off-by: Jacob Keller <[email protected]> > --- > drivers/net/ethernet/intel/ice/ice_lib.c | 5 +++++ > 1 file changed, 5 insertions(+) > > diff --git a/drivers/net/ethernet/intel/ice/ice_lib.c > b/drivers/net/ethernet/intel/ice/ice_lib.c > index bac481e8140d..e7265e877703 100644 > --- a/drivers/net/ethernet/intel/ice/ice_lib.c > +++ b/drivers/net/ethernet/intel/ice/ice_lib.c > @@ -398,7 +398,10 @@ static int ice_vsi_alloc_ring_stats(struct > ice_vsi *vsi) > if (!ring_stats) > goto err_out; > > + u64_stats_init(&ring_stats->syncp); > + > WRITE_ONCE(tx_ring_stats[i], ring_stats); > + > } > > ring->ring_stats = ring_stats; > @@ -417,6 +420,8 @@ static int ice_vsi_alloc_ring_stats(struct ice_vsi > *vsi) > if (!ring_stats) > goto err_out; > > + u64_stats_init(&ring_stats->syncp); > + > WRITE_ONCE(rx_ring_stats[i], ring_stats); > } > > > -- > 2.51.0.rc1.197.g6d975e95c9d7
Reviewed-by: Aleksandr Loktionov <[email protected]>
