vfio: fix noiommu vfio_iommu_group_get reference count
authorEric Auger <eric.auger@redhat.com>
Fri, 11 Aug 2017 13:16:06 +0000 (15:16 +0200)
committerAlex Williamson <alex.williamson@redhat.com>
Wed, 30 Aug 2017 20:00:47 +0000 (14:00 -0600)
commitd935ad91f07d20268fca97b1ddc56a816ac71826
tree0db9c015f9aa0f8599a92048aa024e194029b161
parentf203f7f1dbb298e1ed68f6c2f53715d13d5f3a0f
vfio: fix noiommu vfio_iommu_group_get reference count

In vfio_iommu_group_get() we want to increase the reference
count of the iommu group.

In noiommu case, the group does not exist and is allocated.
iommu_group_add_device() increases the group ref count. However we
then call iommu_group_put() which decrements it.

This leads to a "refcount_t: underflow WARN_ON".

Only decrement the ref count in case of iommu_group_add_device
failure.

Signed-off-by: Eric Auger <eric.auger@redhat.com>
Signed-off-by: Alex Williamson <alex.williamson@redhat.com>
drivers/vfio/vfio.c