[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20240903183034.3530411-1-anthony.l.nguyen@intel.com>
Date: Tue, 3 Sep 2024 11:30:26 -0700
From: Tony Nguyen <anthony.l.nguyen@...el.com>
To: davem@...emloft.net,
kuba@...nel.org,
pabeni@...hat.com,
edumazet@...gle.com,
netdev@...r.kernel.org
Cc: Tony Nguyen <anthony.l.nguyen@...el.com>,
larysa.zaremba@...el.com,
wojciech.drewek@...el.com,
michal.kubiak@...el.com,
jacob.e.keller@...el.com,
amritha.nambiar@...el.com,
przemyslaw.kitszel@...el.com,
sridhar.samudrala@...el.com,
maciej.fijalkowski@...el.com,
magnus.karlsson@...el.com,
ast@...nel.org,
daniel@...earbox.net,
hawk@...nel.org,
john.fastabend@...il.com,
bpf@...r.kernel.org
Subject: [PATCH net 0/6][pull request] ice: fix synchronization between .ndo_bpf() and reset
Larysa Zaremba says:
PF reset can be triggered asynchronously, by tx_timeout or by a user. With some
unfortunate timings both ice_vsi_rebuild() and .ndo_bpf will try to access and
modify XDP rings at the same time, causing system crash.
The first patch factors out rtnl-locked code from VSI rebuild code to avoid
deadlock. The following changes lock rebuild and .ndo_bpf() critical sections
with an internal mutex as well and provide complementary fixes.
---
IWL: https://lore.kernel.org/intel-wired-lan/20240823095933.17922-1-larysa.zaremba@intel.com/
The following are changes since commit cfd433cecef929b4d92685f570f1a480762ec260:
Merge branch 'ptp-ocp-fix-serial-port-information-export'
and are available in the git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/tnguy/net-queue 100GbE
Larysa Zaremba (6):
ice: move netif_queue_set_napi to rtnl-protected sections
ice: protect XDP configuration with a mutex
ice: check for XDP rings instead of bpf program when unconfiguring
ice: check ICE_VSI_DOWN under rtnl_lock when preparing for reset
ice: remove ICE_CFG_BUSY locking from AF_XDP code
ice: do not bring the VSI up, if it was down before the XDP setup
drivers/net/ethernet/intel/ice/ice.h | 2 +
drivers/net/ethernet/intel/ice/ice_base.c | 11 +-
drivers/net/ethernet/intel/ice/ice_lib.c | 179 ++++++++--------------
drivers/net/ethernet/intel/ice/ice_lib.h | 10 +-
drivers/net/ethernet/intel/ice/ice_main.c | 47 ++++--
drivers/net/ethernet/intel/ice/ice_xsk.c | 18 +--
6 files changed, 106 insertions(+), 161 deletions(-)
--
2.42.0
Powered by blists - more mailing lists