summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAl Viro <viro@zeniv.linux.org.uk>2012-08-18 01:49:09 +0200
committerAl Viro <viro@zeniv.linux.org.uk>2012-08-22 16:23:04 +0200
commit934ad4c235f87dcb9206abdfa22922358999afab (patch)
treeb6589b1db3544cae6f14f1b4d4041c1066f48bde
parentmqueue: lift mnt_want_write() outside ->i_mutex, clean up a bit (diff)
downloadlinux-934ad4c235f87dcb9206abdfa22922358999afab.tar.xz
linux-934ad4c235f87dcb9206abdfa22922358999afab.zip
vfio: don't dereference after kfree...
Acked-by: Alex Williamson <alex.williamson@redhat.com> Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
-rw-r--r--drivers/vfio/vfio.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/vfio/vfio.c b/drivers/vfio/vfio.c
index 9591e2b509d7..0b025d58de81 100644
--- a/drivers/vfio/vfio.c
+++ b/drivers/vfio/vfio.c
@@ -416,8 +416,9 @@ static void vfio_device_release(struct kref *kref)
/* Device reference always implies a group reference */
static void vfio_device_put(struct vfio_device *device)
{
+ struct vfio_group *group = device->group;
kref_put(&device->kref, vfio_device_release);
- vfio_group_put(device->group);
+ vfio_group_put(group);
}
static void vfio_device_get(struct vfio_device *device)