2022-11-15 10:35:17

by Wei Yongjun

[permalink] [raw]
Subject: [PATCH v2] irqchip/wpcm450: fix memory leak in wpcm450_aic_of_init()

From: Wei Yongjun <[email protected]>

If of_iomap() failed, 'aic' should be freed before return. Otherwise
there is a memory leak.

Fixes: fead4dd49663 ("irqchip: Add driver for WPCM450 interrupt controller")
Signed-off-by: Wei Yongjun <[email protected]>
---
v1 -> v2: fix function name in subject

drivers/irqchip/irq-wpcm450-aic.c | 1 +
1 file changed, 1 insertion(+)

diff --git a/drivers/irqchip/irq-wpcm450-aic.c b/drivers/irqchip/irq-wpcm450-aic.c
index 0dcbeb1a05a1..91df62a64cd9 100644
--- a/drivers/irqchip/irq-wpcm450-aic.c
+++ b/drivers/irqchip/irq-wpcm450-aic.c
@@ -146,6 +146,7 @@ static int __init wpcm450_aic_of_init(struct device_node *node,
aic->regs = of_iomap(node, 0);
if (!aic->regs) {
pr_err("Failed to map WPCM450 AIC registers\n");
+ kfree(aic);
return -ENOMEM;
}

--
2.34.1



2022-11-15 17:20:44

by Jonathan Neuschäfer

[permalink] [raw]
Subject: Re: [PATCH v2] irqchip/wpcm450: fix memory leak in wpcm450_aic_of_init()

On Tue, Nov 15, 2022 at 09:25:32AM +0000, Wei Yongjun wrote:
> From: Wei Yongjun <[email protected]>
>
> If of_iomap() failed, 'aic' should be freed before return. Otherwise
> there is a memory leak.
>
> Fixes: fead4dd49663 ("irqchip: Add driver for WPCM450 interrupt controller")
> Signed-off-by: Wei Yongjun <[email protected]>

Reviewed-by: Jonathan Neuschäfer <[email protected]>


Thanks.

> ---
> v1 -> v2: fix function name in subject
>
> drivers/irqchip/irq-wpcm450-aic.c | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/drivers/irqchip/irq-wpcm450-aic.c b/drivers/irqchip/irq-wpcm450-aic.c
> index 0dcbeb1a05a1..91df62a64cd9 100644
> --- a/drivers/irqchip/irq-wpcm450-aic.c
> +++ b/drivers/irqchip/irq-wpcm450-aic.c
> @@ -146,6 +146,7 @@ static int __init wpcm450_aic_of_init(struct device_node *node,
> aic->regs = of_iomap(node, 0);
> if (!aic->regs) {
> pr_err("Failed to map WPCM450 AIC registers\n");
> + kfree(aic);
> return -ENOMEM;
> }
>
> --
> 2.34.1
>


Attachments:
(No filename) (1.03 kB)
signature.asc (849.00 B)
Download all attachments
Subject: [irqchip: irq/irqchip-next] irqchip/wpcm450: Fix memory leak in wpcm450_aic_of_init()

The following commit has been merged into the irq/irqchip-next branch of irqchip:

Commit-ID: 4208d4faf36573a507b5e5de17abe342e9276759
Gitweb: https://git.kernel.org/pub/scm/linux/kernel/git/maz/arm-platforms/4208d4faf36573a507b5e5de17abe342e9276759
Author: Wei Yongjun <[email protected]>
AuthorDate: Tue, 15 Nov 2022 09:25:32
Committer: Marc Zyngier <[email protected]>
CommitterDate: Sat, 26 Nov 2022 13:29:48

irqchip/wpcm450: Fix memory leak in wpcm450_aic_of_init()

If of_iomap() failed, 'aic' should be freed before return. Otherwise
there is a memory leak.

Fixes: fead4dd49663 ("irqchip: Add driver for WPCM450 interrupt controller")
Signed-off-by: Wei Yongjun <[email protected]>
Reviewed-by: Jonathan Neuschäfer <[email protected]>
Signed-off-by: Marc Zyngier <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
---
drivers/irqchip/irq-wpcm450-aic.c | 1 +
1 file changed, 1 insertion(+)

diff --git a/drivers/irqchip/irq-wpcm450-aic.c b/drivers/irqchip/irq-wpcm450-aic.c
index 0dcbeb1..91df62a 100644
--- a/drivers/irqchip/irq-wpcm450-aic.c
+++ b/drivers/irqchip/irq-wpcm450-aic.c
@@ -146,6 +146,7 @@ static int __init wpcm450_aic_of_init(struct device_node *node,
aic->regs = of_iomap(node, 0);
if (!aic->regs) {
pr_err("Failed to map WPCM450 AIC registers\n");
+ kfree(aic);
return -ENOMEM;
}