]> git.proxmox.com Git - mirror_ubuntu-bionic-kernel.git/commitdiff
vfio/pci: Fix potential memory leak in vfio_msi_cap_len
authorLi Qiang <liq3ea@gmail.com>
Tue, 25 Sep 2018 19:01:27 +0000 (13:01 -0600)
committerStefan Bader <stefan.bader@canonical.com>
Tue, 26 Nov 2019 12:16:50 +0000 (13:16 +0100)
BugLink: https://bugs.launchpad.net/bugs/1853915
[ Upstream commit 30ea32ab1951c80c6113f300fce2c70cd12659e4 ]

Free allocated vdev->msi_perm in error path.

Signed-off-by: Li Qiang <liq3ea@gmail.com>
Reviewed-by: Eric Auger <eric.auger@redhat.com>
Signed-off-by: Alex Williamson <alex.williamson@redhat.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
Signed-off-by: Kamal Mostafa <kamal@canonical.com>
Signed-off-by: Khalid Elmously <khalid.elmously@canonical.com>
drivers/vfio/pci/vfio_pci_config.c

index 115a36f6f40398b75dfa75b61b50e81f98bc5a63..62023b4a373b4985db47a9bb14f465fb78ab598d 100644 (file)
@@ -1180,8 +1180,10 @@ static int vfio_msi_cap_len(struct vfio_pci_device *vdev, u8 pos)
                return -ENOMEM;
 
        ret = init_pci_cap_msi_perm(vdev->msi_perm, len, flags);
-       if (ret)
+       if (ret) {
+               kfree(vdev->msi_perm);
                return ret;
+       }
 
        return len;
 }