lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Message-Id: <20230811201512.461657-1-thinhtr@linux.vnet.ibm.com> Date: Fri, 11 Aug 2023 15:15:08 -0500 From: Thinh Tran <thinhtr@...ux.vnet.ibm.com> To: kuba@...nel.org Cc: aelior@...vell.com, davem@...emloft.net, edumazet@...gle.com, manishc@...vell.com, netdev@...r.kernel.org, pabeni@...hat.com, skalluru@...vell.com, VENKATA.SAI.DUGGI@....com, Thinh Tran <thinhtr@...ux.vnet.ibm.com>, Abdul Haleem <abdhalee@...ibm.com>, David Christensen <drc@...ux.vnet.ibm.com>, Simon Horman <simon.horman@...igine.com>, Venkata Sai Duggi <venkata.sai.duggi@....com> Subject: [Patch v5 0/4] bnx2x: Fix error recovering in switch configuration As the BCM57810 and other I/O adapters are connected through a PCIe switch, the bnx2x driver causes unexpected system hang/crash while handling PCIe switch errors, if its error handler is called after other drivers' handlers. In this case, after numbers of bnx2x_tx_timout(), the bnx2x_nic_unload() is called, frees up resources and calls bnx2x_napi_disable(). Then when EEH calls its error handler, the bnx2x_io_error_detected() and bnx2x_io_slot_reset() also calling bnx2x_napi_disable() and freeing the resources. Signed-off-by: Thinh Tran <thinhtr@...ux.vnet.ibm.com> Reviewed-by: Manish Chopra <manishc@...vell.com> Tested-by: Abdul Haleem <abdhalee@...ibm.com> Tested-by: David Christensen <drc@...ux.vnet.ibm.com> Reviewed-by: Simon Horman <simon.horman@...igine.com> Tested-by: Venkata Sai Duggi <venkata.sai.duggi@....com> v5: - Breaking down into a series of individual patches v4: - factoring common code into new function bnx2x_stop_nic() that disables and releases IRQs and NAPIs v3: - no changes, just repatched to the latest driver level - updated the reviewed-by Manish in October, 2022 v2: - Check the state of the NIC before calling disable nappi and freeing the IRQ - Prevent recurrence of TX timeout by turning off the carrier, calling netif_carrier_off() in bnx2x_tx_timeout() - Check and bail out early if fp->page_pool already freed Thinh Tran (4): bnx2x: new the bp->nic_stopped variable for checking NIC status bnx2x: factor out common code to bnx2x_stop_nic() bnx2x: Prevent access to a freed page in page_pool bnx2x: prevent excessive debug information during a TX timeout drivers/net/ethernet/broadcom/bnx2x/bnx2x.h | 2 ++ .../net/ethernet/broadcom/bnx2x/bnx2x_cmn.c | 32 ++++++++++++++----- .../net/ethernet/broadcom/bnx2x/bnx2x_cmn.h | 4 +++ .../net/ethernet/broadcom/bnx2x/bnx2x_main.c | 26 +++------------ .../net/ethernet/broadcom/bnx2x/bnx2x_vfpf.c | 9 ++---- 5 files changed, 36 insertions(+), 37 deletions(-) -- 2.27.0
Powered by blists - more mailing lists