Free the vdev->msi_perm in error path.

Signed-off-by: Li Qiang <liq...@gmail.com>
---
 drivers/vfio/pci/vfio_pci_config.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/drivers/vfio/pci/vfio_pci_config.c 
b/drivers/vfio/pci/vfio_pci_config.c
index 115a36f6f403..62023b4a373b 100644
--- a/drivers/vfio/pci/vfio_pci_config.c
+++ b/drivers/vfio/pci/vfio_pci_config.c
@@ -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;
 }
-- 
2.11.0

Reply via email to