[PATCH] gpib: ines: fix I/O region leak in ines_isa_attach() error path

tonybanters posted 1 patch 1 week, 4 days ago
drivers/gpib/ines/ines_gpib.c | 1 +
1 file changed, 1 insertion(+)
[PATCH] gpib: ines: fix I/O region leak in ines_isa_attach() error path
Posted by tonybanters 1 week, 4 days ago
If request_irq() fails after request_region() has succeeded,
ines_isa_attach() returns without releasing the I/O region. This
leaks the region and prevents a subsequent attach attempt from
acquiring it.

Release the region on the failure path.

Reported-by: kernel test robot <lkp@intel.com>
Reported-by: Dan Carpenter <error27@gmail.com>
Closes: https://lore.kernel.org/r/202605271229.d8wGTffx-lkp@intel.com/
Fixes: e6ab504633e4 ("staging: gpib: Destage gpib")
Cc: stable <stable@kernel.org>
Signed-off-by: tonybanters <tonybanters@gmail.com>
---
 drivers/gpib/ines/ines_gpib.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/gpib/ines/ines_gpib.c b/drivers/gpib/ines/ines_gpib.c
index c000f647fbb..cb6ee6882a0 100644
--- a/drivers/gpib/ines/ines_gpib.c
+++ b/drivers/gpib/ines/ines_gpib.c
@@ -911,6 +911,7 @@ static int ines_isa_attach(struct gpib_board *board, const struct gpib_board_con
 	nec7210_board_reset(nec_priv, board);
 	if (request_irq(config->ibirq, ines_pci_interrupt, isr_flags, DRV_NAME, board)) {
 		dev_err(board->gpib_dev, "failed to allocate IRQ %d\n", config->ibirq);
+		release_region(config->ibbase, ines_isa_iosize);
 		return -1;
 	}
 	ines_priv->irq = config->ibirq;
-- 
2.54.0