lkml.org 
[lkml]   [2020]   [Oct]   [27]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.9 530/757] vfio: fix a missed vfio group put in vfio_pin_pages
    Date
    From: Yan Zhao <yan.y.zhao@intel.com>

    [ Upstream commit 28b130244061863cf0437b7af1625fb45ec1a71e ]

    When error occurs, need to put vfio group after a successful get.

    Fixes: 95fc87b44104 ("vfio: Selective dirty page tracking if IOMMU backed device pins pages")
    Signed-off-by: Yan Zhao <yan.y.zhao@intel.com>
    Reviewed-by: Cornelia Huck <cohuck@redhat.com>
    Signed-off-by: Alex Williamson <alex.williamson@redhat.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    drivers/vfio/vfio.c | 6 ++++--
    1 file changed, 4 insertions(+), 2 deletions(-)

    diff --git a/drivers/vfio/vfio.c b/drivers/vfio/vfio.c
    index 532bcaf28c11d..2151bc7f87ab1 100644
    --- a/drivers/vfio/vfio.c
    +++ b/drivers/vfio/vfio.c
    @@ -1949,8 +1949,10 @@ int vfio_pin_pages(struct device *dev, unsigned long *user_pfn, int npage,
    if (!group)
    return -ENODEV;

    - if (group->dev_counter > 1)
    - return -EINVAL;
    + if (group->dev_counter > 1) {
    + ret = -EINVAL;
    + goto err_pin_pages;
    + }

    ret = vfio_group_add_container_user(group);
    if (ret)
    --
    2.25.1


    \
     
     \ /
      Last update: 2020-10-27 18:09    [W:4.066 / U:0.044 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site