]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
gpib: cb7210: Fix region leak when request_irq fails
authorHongling Zeng <zenghongling@kylinos.cn>
Sun, 3 May 2026 09:30:36 +0000 (17:30 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 23 May 2026 11:47:34 +0000 (13:47 +0200)
When request_irq() fails, the region allocated by request_region()
is not released. Fix this by calling release_region() before returning.

  Smatch warning:
    drivers/gpib/cb7210/cb7210.c:1068 cb_isa_attach() warn: 'config->ibbase'
  from __request_region() not released on lines: 1064.

Fixes: 82e3508046f9 ("staging: gpib: cb7210 console messaging cleanup")
Signed-off-by: Hongling Zeng <zenghongling@kylinos.cn>
Link: https://patch.msgid.link/20260503093036.283546-1-zenghongling@kylinos.cn
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/gpib/cb7210/cb7210.c

index 6dd8637c5964b358874a5981587e2040195aa67a..05058bf2cd50bc6f666b4c88d0bc6aeb14d7ec0c 100644 (file)
@@ -1062,6 +1062,7 @@ static int cb_isa_attach(struct gpib_board *board, const struct gpib_board_confi
        // install interrupt handler
        if (request_irq(config->ibirq, cb7210_interrupt, isr_flags, DRV_NAME, board)) {
                dev_err(board->gpib_dev, "failed to obtain IRQ %d\n", config->ibirq);
+               release_region(nec7210_iobase(cb_priv), cb7210_iosize);
                return -EBUSY;
        }
        cb_priv->irq = config->ibirq;