From: Ye Bin yebin10@huawei.com
mainline inclusion from mainline-v6.10-rc1 commit 82b951e6fbd31d85ae7f4feb5f00ddd4c5d256e2 category: bugfix bugzilla: https://gitee.com/src-openeuler/kernel/issues/IA7D2E CVE: CVE-2024-38632
Reference: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?i...
---------------------------
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 Conflicts: drivers/vfio/pci/vfio_pci_intrs.c [Huangxiaojia adapt the context.] Signed-off-by: Huang Xiaojia huangxiaojia2@huawei.com --- drivers/vfio/pci/vfio_pci_intrs.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/drivers/vfio/pci/vfio_pci_intrs.c b/drivers/vfio/pci/vfio_pci_intrs.c index 753753c271cb..405aaaec5950 100644 --- a/drivers/vfio/pci/vfio_pci_intrs.c +++ b/drivers/vfio/pci/vfio_pci_intrs.c @@ -184,8 +184,10 @@ static int vfio_intx_enable(struct vfio_pci_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;