diff mbox series

zorro: Fix a resource leak in zorro7xx_remove_one()

Message ID 247066a3104d25f9a05de8b3270fc3c848763bcc.1647673264.git.christophe.jaillet@wanadoo.fr
State New
Headers show
Series zorro: Fix a resource leak in zorro7xx_remove_one() | expand

Commit Message

Christophe JAILLET March 19, 2022, 7:01 a.m. UTC
The error handling path of the probe releases a resource that is not freed
in the remove function.

In some cases, a ioremap() must be undone.

Add the missing iounmap() call in the remove function.

Fixes: 45804fbb00ee ("[SCSI] 53c700: Amiga Zorro NCR53c710 SCSI")
Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
---
 drivers/scsi/zorro7xx.c | 2 ++
 1 file changed, 2 insertions(+)

Comments

Geert Uytterhoeven March 21, 2022, 9 a.m. UTC | #1
Hi Christophe,

On Sat, Mar 19, 2022 at 8:01 AM Christophe JAILLET
<christophe.jaillet@wanadoo.fr> wrote:
> The error handling path of the probe releases a resource that is not freed
> in the remove function.
>
> In some cases, a ioremap() must be undone.
>
> Add the missing iounmap() call in the remove function.
>
> Fixes: 45804fbb00ee ("[SCSI] 53c700: Amiga Zorro NCR53c710 SCSI")
> Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>

Thanks for your patch!

The online-summary should be
"scsi: zorro7xx: Fix a resource leak in zorro7xx_remove_one()".

Reviewed-by: Geert Uytterhoeven <geert@linux-m68k.org>

Gr{oetje,eeting}s,

                        Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
                                -- Linus Torvalds
Christophe JAILLET March 21, 2022, 5:57 p.m. UTC | #2
Le 21/03/2022 à 10:00, Geert Uytterhoeven a écrit :
> Hi Christophe,
> 
> On Sat, Mar 19, 2022 at 8:01 AM Christophe JAILLET
> <christophe.jaillet@wanadoo.fr> wrote:
>> The error handling path of the probe releases a resource that is not freed
>> in the remove function.
>>
>> In some cases, a ioremap() must be undone.
>>
>> Add the missing iounmap() call in the remove function.
>>
>> Fixes: 45804fbb00ee ("[SCSI] 53c700: Amiga Zorro NCR53c710 SCSI")
>> Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
> 
> Thanks for your patch!
> 
> The online-summary should be
> "scsi: zorro7xx: Fix a resource leak in zorro7xx_remove_one()".

Hi,
should I send a V2 or can this be fixed when/if applied?

CJ

> 
> Reviewed-by: Geert Uytterhoeven <geert@linux-m68k.org>
> 
> Gr{oetje,eeting}s,
> 
>                          Geert
> 
> --
> Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org
> 
> In personal conversations with technical people, I call myself a hacker. But
> when I'm talking to journalists I just say "programmer" or something like that.
>                                  -- Linus Torvalds
>
Martin K. Petersen March 30, 2022, 4:05 a.m. UTC | #3
Christophe,

> The error handling path of the probe releases a resource that is not freed
> in the remove function.

Applied to 5.18/scsi-staging, thanks!
diff mbox series

Patch

diff --git a/drivers/scsi/zorro7xx.c b/drivers/scsi/zorro7xx.c
index 27b9e2baab1a..7acf9193a9e8 100644
--- a/drivers/scsi/zorro7xx.c
+++ b/drivers/scsi/zorro7xx.c
@@ -159,6 +159,8 @@  static void zorro7xx_remove_one(struct zorro_dev *z)
 	scsi_remove_host(host);
 
 	NCR_700_release(host);
+	if (host->base > 0x01000000)
+		iounmap(hostdata->base);
 	kfree(hostdata);
 	free_irq(host->irq, host);
 	zorro_release_device(z);