summaryrefslogtreecommitdiffstats
path: root/drivers/vfio/mdev
diff options
context:
space:
mode:
authorJason Gunthorpe <jgg@nvidia.com>2021-04-06 21:40:32 +0200
committerAlex Williamson <alex.williamson@redhat.com>2021-04-07 23:39:18 +0200
commit18d731242d5c67c0783126c42d3f85870cec2df5 (patch)
treef1273273514af929c7d6f8c111fcbacf5f63fb61 /drivers/vfio/mdev
parentvfio/mdev: Reorganize mdev_device_create() (diff)
downloadlinux-18d731242d5c67c0783126c42d3f85870cec2df5.tar.xz
linux-18d731242d5c67c0783126c42d3f85870cec2df5.zip
vfio/mdev: Add missing error handling to dev_set_name()
This can fail, and seems to be a popular target for syzkaller error injection. Check the error return and unwind with put_device(). Fixes: 7b96953bc640 ("vfio: Mediated device Core driver") Reviewed-by: Christoph Hellwig <hch@lst.de> Reviewed-by: Kevin Tian <kevin.tian@intel.com> Reviewed-by: Max Gurtovoy <mgurtovoy@nvidia.com> Reviewed-by: Cornelia Huck <cohuck@redhat.com> Signed-off-by: Jason Gunthorpe <jgg@nvidia.com> Message-Id: <9-v2-d36939638fc6+d54-vfio2_jgg@nvidia.com> Signed-off-by: Alex Williamson <alex.williamson@redhat.com>
Diffstat (limited to 'drivers/vfio/mdev')
-rw-r--r--drivers/vfio/mdev/mdev_core.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/vfio/mdev/mdev_core.c b/drivers/vfio/mdev/mdev_core.c
index f7559835b061..4caedb3d4fbf 100644
--- a/drivers/vfio/mdev/mdev_core.c
+++ b/drivers/vfio/mdev/mdev_core.c
@@ -258,7 +258,9 @@ int mdev_device_create(struct mdev_type *type, const guid_t *uuid)
list_add(&mdev->next, &mdev_list);
mutex_unlock(&mdev_list_lock);
- dev_set_name(&mdev->dev, "%pUl", uuid);
+ ret = dev_set_name(&mdev->dev, "%pUl", uuid);
+ if (ret)
+ goto out_put_device;
/* Check if parent unregistration has started */
if (!down_read_trylock(&parent->unreg_sem)) {