diff options
author | 2012-09-21 10:48:28 -0600 | |
---|---|---|
committer | 2012-09-21 10:48:28 -0600 | |
commit | b68e7fa879cd3b1126a7c455d9da1b70299efc0d (patch) | |
tree | 96126d0337b76ab5148fcd844e971e4afe9a02b1 /tools/perf/scripts/python/export-to-postgresql.py | |
parent | vfio: Trivial Documentation correction (diff) | |
download | linux-dev-b68e7fa879cd3b1126a7c455d9da1b70299efc0d.tar.xz linux-dev-b68e7fa879cd3b1126a7c455d9da1b70299efc0d.zip |
vfio: Fix virqfd release race
vfoi-pci supports a mechanism like KVM's irqfd for unmasking an
interrupt through an eventfd. There are two ways to shutdown this
interface: 1) close the eventfd, 2) ioctl (such as disabling the
interrupt). Both of these do the release through a workqueue,
which can result in a segfault if two jobs get queued for the same
virqfd.
Fix this by protecting the pointer to these virqfds by a spinlock.
The vfio pci device will therefore no longer have a reference to it
once the release job is queued under lock. On the ioctl side, we
still flush the workqueue to ensure that any outstanding releases
are completed.
Signed-off-by: Alex Williamson <alex.williamson@redhat.com>
Diffstat (limited to 'tools/perf/scripts/python/export-to-postgresql.py')
0 files changed, 0 insertions, 0 deletions