diff mbox series

vfio/pci: fix potential memory leak in vfio_intx_enable()

Message ID 20240415015029.3699844-1-yebin10@huawei.com (mailing list archive)
State New, archived
Headers show
Series vfio/pci: fix potential memory leak in vfio_intx_enable() | expand

Commit Message

yebin (H) April 15, 2024, 1:50 a.m. UTC
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>
---
 drivers/vfio/pci/vfio_pci_intrs.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

Comments

Tian, Kevin April 17, 2024, 5:02 a.m. UTC | #1
> From: Ye Bin <yebin10@huawei.com>
> Sent: Monday, April 15, 2024 9:50 AM
> 
> 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>
Reinette Chatre April 18, 2024, 3:17 a.m. UTC | #2
On 4/14/2024 6:50 PM, Ye Bin wrote:
> 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>
> ---

Thank you for catching this.

Acked-by: Reinette Chatre <reinette.chatre@intel.com>

Reinette
Alex Williamson April 23, 2024, 8:25 p.m. UTC | #3
On Mon, 15 Apr 2024 09:50:29 +0800
Ye Bin <yebin10@huawei.com> wrote:

> 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>
> ---
>  drivers/vfio/pci/vfio_pci_intrs.c | 4 +++-
>  1 file changed, 3 insertions(+), 1 deletion(-)

Applied to vfio next branch for v6.10.  Thanks!

Alex
diff mbox series

Patch

diff --git a/drivers/vfio/pci/vfio_pci_intrs.c b/drivers/vfio/pci/vfio_pci_intrs.c
index fb5392b749ff..e80c5d75b541 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;