diff options
| author | Alex Williamson <alex.williamson@nvidia.com> | 2025-11-24 15:36:22 -0700 |
|---|---|---|
| committer | Alex Williamson <alex@shazbot.org> | 2025-11-28 10:04:27 -0700 |
| commit | 98693e0897f754e3f51ce6626ed5f785f625ba2b (patch) | |
| tree | 634b57ae01e46282b1b2f869bdf1e418b5caaf79 /tools/lib/python/jobserver.py | |
| parent | fa804aa4ac1b091ef2ec2981f08a1c28aaeba8e7 (diff) | |
vfio/pci: Use RCU for error/request triggers to avoid circular locking
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: 3be3a074cf5b ("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>
Diffstat (limited to 'tools/lib/python/jobserver.py')
0 files changed, 0 insertions, 0 deletions
