]> git.hungrycats.org Git - linux/commit
vfio: Fix group release deadlock
authorAlex Williamson <alex.williamson@redhat.com>
Mon, 19 Jun 2017 15:10:32 +0000 (09:10 -0600)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 27 Jul 2017 22:10:16 +0000 (15:10 -0700)
commit4fb3d76fcac31d2f9423bb8021030ac22bc552ec
treea6fa1ef6dcdbd4008eefb3793dc93374da41da36
parent72ec4c2f63204a41b4e559940d82f02e981f89e4
vfio: Fix group release deadlock

commit 811642d8d8a82c0cce8dc2debfdaf23c5a144839 upstream.

If vfio_iommu_group_notifier() acquires a group reference and that
reference becomes the last reference to the group, then vfio_group_put
introduces a deadlock code path where we're trying to unregister from
the iommu notifier chain from within a callout of that chain.  Use a
work_struct to release this reference asynchronously.

Signed-off-by: Alex Williamson <alex.williamson@redhat.com>
Reviewed-by: Eric Auger <eric.auger@redhat.com>
Tested-by: Eric Auger <eric.auger@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/vfio/vfio.c