summary refs log tree commit diff
path: root/drivers/irqchip
diff options
context:
space:
mode:
authorWei Yongjun <weiyongjun1@huawei.com>2022-11-15 09:25:32 +0000
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2022-12-31 13:31:57 +0100
commit773c9d7f127f7a599d42ceed831de69f5aa22f03 (patch)
tree294ea67f1dade36368acc5ffe3ce9c8171dab415 /drivers/irqchip
parent12f45dc266f847daa7262d0a13dc47c1cb1b288c (diff)
downloadlinux-773c9d7f127f7a599d42ceed831de69f5aa22f03.tar.gz
irqchip/wpcm450: Fix memory leak in wpcm450_aic_of_init()
[ Upstream commit 4208d4faf36573a507b5e5de17abe342e9276759 ]

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 <weiyongjun1@huawei.com>
Reviewed-by: Jonathan Neuschäfer <j.neuschaefer@gmx.net>
Signed-off-by: Marc Zyngier <maz@kernel.org>
Link: https://lore.kernel.org/r/20221115092532.1704032-1-weiyongjun@huaweicloud.com
Signed-off-by: Sasha Levin <sashal@kernel.org>
Diffstat (limited to 'drivers/irqchip')
-rw-r--r--drivers/irqchip/irq-wpcm450-aic.c1
1 files changed, 1 insertions, 0 deletions
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;
 	}