vfio-pci: Don't use device_lock around AER interrupt setup
authorAlex Williamson <alex.williamson@redhat.com>
Tue, 14 Jan 2014 23:12:55 +0000 (16:12 -0700)
committerAlex Williamson <alex.williamson@redhat.com>
Tue, 14 Jan 2014 23:12:55 +0000 (16:12 -0700)
commit3be3a074cf5ba641529d8fdae0e05ca642f23e12
treeae0c3fc80319e33c7618c63706a9c9dd98842b79
parentd10999016f4164e9b80f1b3dece3842087cfa3bb
vfio-pci: Don't use device_lock around AER interrupt setup

device_lock is much too prone to lockups.  For instance if we have a
pending .remove then device_lock is already held.  If userspace
attempts to modify AER signaling after that point, a deadlock occurs.
eventfd setup/teardown is already protected in vfio with the igate
mutex.  AER is not a high performance interrupt, so we can also use
the same mutex to protect signaling versus setup races.

Signed-off-by: Alex Williamson <alex.williamson@redhat.com>
drivers/vfio/pci/vfio_pci.c
drivers/vfio/pci/vfio_pci_intrs.c