linux/drivers/net/ethernet/google/gve
Joshua Washington 0cb6939a4d gve: fix napi_disable deadlock when attempting to disable XSK pools
When disabling XSK pools, GVE calls the unlocked versions of
napi_disable and napi_enable. However, the netdev lock has already been
acquired before ndo_bpf is called because GVE supports queue management
ops. Calling the unlocked versions of napi_disable/enable results in a
deadlock when attempting to disable XSK pools, as the thread attempts to
re-acquire a lock it already holds.

Update the NAPI calls to use the locked versions.

This issue was found in production.

Fixes: 606048cbd8 ("net: designate XSK pool pointers in queues as "ops protected"")
Cc: stable@vger.kernel.org
Reviewed-by: Harshitha Ramamurthy <hramamurthy@google.com>
Reviewed-by: Jordan Rhee <jordanrhee@google.com>
Signed-off-by: Joshua Washington <joshwash@google.com>
Link: https://patch.msgid.link/20260930214735.3288780-4-joshwash@google.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
2026-10-05 16:59:56 -07:00
..
gve_adminq.c gve: add a few helper functions to set device properties 2026-08-17 18:40:08 -07:00
gve_adminq.h gve: add a few helper functions to set device properties 2026-08-17 18:40:08 -07:00
gve_buffer_mgmt_dqo.c gve: Update QPL page registration logic 2026-02-28 08:58:29 -08:00
gve_desc_dqo.h gve: DQO: reject TSO packets with an out of range MSS 2026-09-24 10:56:59 -07:00
gve_desc.h gve: trivial spell fix Recive to Receive 2023-07-14 10:28:17 +01:00
gve_dqo.h gve: Prepare bpf_xdp_metadata_rx_timestamp support 2025-11-18 15:52:43 +01:00
gve_ethtool.c net: ethtool: keep rtnl_lock for ops using ethtool_op_get_link() 2026-06-25 10:18:34 -07:00
gve_flow_rule.c Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
gve_main.c gve: fix napi_disable deadlock when attempting to disable XSK pools 2026-10-05 16:59:56 -07:00
gve_ptp.c gve: fix NULL dereference due to missing ptp adjfine 2026-08-11 18:26:04 -07:00
gve_register.h gve: Deprecate adminq_pfn for pci revision 0x1. 2023-11-29 08:32:36 -08:00
gve_rx_dqo.c gve: fix XSK buffer leak on error descriptor 2026-10-05 16:59:36 -07:00
gve_rx.c gve: Update QPL page registration logic 2026-02-28 08:58:29 -08:00
gve_tx_dqo.c gve: DQO: accept TSO packets with non-protocol gso_type bits 2026-09-29 12:09:40 +02:00
gve_tx.c gve: Update QPL page registration logic 2026-02-28 08:58:29 -08:00
gve_utils.c gve: defer interrupt enabling until NAPI registration 2025-12-29 19:09:49 +01:00
gve_utils.h gve: Add header split data path 2024-03-04 10:03:32 +00:00
gve.h gve: fix Rx queue stall on alloc failure 2026-07-21 14:45:27 -07:00
Makefile gve: Add initial PTP device support 2025-06-16 15:27:24 -07:00