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 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 99bbd647e5d8..620134041b48 100644 --- a/drivers/vfio/pci/vfio_pci_intrs.c +++ b/drivers/vfio/pci/vfio_pci_intrs.c @@ -277,8 +277,10 @@ static int vfio_intx_enable(struct vfio_pci_core_device *vdev, return -ENOMEM;
ctx = vfio_irq_ctx_alloc(vdev, 0); - if (!ctx) + if (!ctx) { + kfree(name); return -ENOMEM; + }
ctx->name = name; ctx->trigger = trigger;