]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
vfio/pci: fix potential memory leak in vfio_intx_enable()
authorYe Bin <yebin10@huawei.com>
Mon, 15 Apr 2024 01:50:29 +0000 (09:50 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 17 Oct 2024 13:11:09 +0000 (15:11 +0200)
commit 82b951e6fbd31d85ae7f4feb5f00ddd4c5d256e2 upstream.

If vfio_irq_ctx_alloc() failed will lead to 'name' memory leak.

Fixes: 18c198c96a81 ("vfio/pci: Create persistent INTx handler")
Signed-off-by: Ye Bin <yebin10@huawei.com>
Reviewed-by: Kevin Tian <kevin.tian@intel.com>
Acked-by: Reinette Chatre <reinette.chatre@intel.com>
Link: https://lore.kernel.org/r/20240415015029.3699844-1-yebin10@huawei.com
Signed-off-by: Alex Williamson <alex.williamson@redhat.com>
Signed-off-by: Oleksandr Tymoshenko <ovt@google.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/vfio/pci/vfio_pci_intrs.c

index cb55f96b4f03ea6fa0a9c6393a37dae2e4af5943..f20512c413f760594eee99752c0bd99916641110 100644 (file)
@@ -181,8 +181,10 @@ static int vfio_intx_enable(struct vfio_pci_core_device *vdev,
                return -ENOMEM;
 
        vdev->ctx = kzalloc(sizeof(struct vfio_pci_irq_ctx), GFP_KERNEL);
-       if (!vdev->ctx)
+       if (!vdev->ctx) {
+               kfree(name);
                return -ENOMEM;
+       }
 
        vdev->num_ctx = 1;