Files
linux-stable-mirror/include/linux
Alex WilliamsonandGreg Kroah-Hartman 45d7cf5174 vfio/pci: Use RCU for error/request triggers to avoid circular locking
[ Upstream commit 98693e0897 ]

Thanks to a device generating an ACS violation during bus reset,
lockdep reported the following circular locking issue:

CPU0: SET_IRQS (MSI/X): holds igate, acquires memory_lock
CPU1: HOT_RESET: holds memory_lock, acquires pci_bus_sem
CPU2: AER: holds pci_bus_sem, acquires igate

This results in a potential 3-way deadlock.

Remove the pci_bus_sem->igate leg of the triangle by using RCU
to peek at the eventfd rather than locking it with igate.

Fixes: 3be3a074cf ("vfio-pci: Don't use device_lock around AER interrupt setup")
Signed-off-by: Alex Williamson <alex.williamson@nvidia.com>
Reviewed-by: Jason Gunthorpe <jgg@nvidia.com>
Link: https://lore.kernel.org/r/20251124223623.2770706-1-alex@shazbot.org
Signed-off-by: Alex Williamson <alex@shazbot.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2025-12-18 13:55:12 +01:00
..
2025-11-02 22:15:22 +09:00
2025-10-15 12:00:03 +02:00
2025-09-11 17:21:46 +02:00
2025-07-10 16:05:08 +02:00
2025-05-29 11:03:25 +02:00
2025-09-09 18:58:04 +02:00
2025-05-29 11:03:25 +02:00
2025-05-29 11:02:23 +02:00
2025-06-19 15:32:18 +02:00
2025-05-29 11:02:20 +02:00
2025-08-15 12:13:35 +02:00
2025-08-01 09:48:43 +01:00
2025-07-10 16:05:11 +02:00