lkml.org 
[lkml]   [2018]   [Apr]   [10]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH v2 1/2] vfio: platform: Fix reset module leak in error path
    Date
    If the IOMMU group setup fails, the reset module is not released.

    Fixes: b5add544d677d363 ("vfio, platform: make reset driver a requirement by default")
    Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
    Reviewed-by: Eric Auger <eric.auger@redhat.com>
    ---
    v2:
    - Add Reviewed-by.
    ---
    drivers/vfio/platform/vfio_platform_common.c | 15 ++++++++++-----
    1 file changed, 10 insertions(+), 5 deletions(-)

    diff --git a/drivers/vfio/platform/vfio_platform_common.c b/drivers/vfio/platform/vfio_platform_common.c
    index 35469af87f88678e..b60bb5326668498c 100644
    --- a/drivers/vfio/platform/vfio_platform_common.c
    +++ b/drivers/vfio/platform/vfio_platform_common.c
    @@ -680,18 +680,23 @@ int vfio_platform_probe_common(struct vfio_platform_device *vdev,
    group = vfio_iommu_group_get(dev);
    if (!group) {
    pr_err("VFIO: No IOMMU group for device %s\n", vdev->name);
    - return -EINVAL;
    + ret = -EINVAL;
    + goto put_reset;
    }

    ret = vfio_add_group_dev(dev, &vfio_platform_ops, vdev);
    - if (ret) {
    - vfio_iommu_group_put(group, dev);
    - return ret;
    - }
    + if (ret)
    + goto put_iommu;

    mutex_init(&vdev->igate);

    return 0;
    +
    +put_iommu:
    + vfio_iommu_group_put(group, dev);
    +put_reset:
    + vfio_platform_put_reset(vdev);
    + return ret;
    }
    EXPORT_SYMBOL_GPL(vfio_platform_probe_common);

    --
    2.7.4
    \
     
     \ /
      Last update: 2018-04-10 17:54    [W:3.096 / U:0.288 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site