irqchip/wpcm450: Fix memory leak in wpcm450_aic_of_init()
authorWei Yongjun <weiyongjun1@huawei.com>
Tue, 15 Nov 2022 09:25:32 +0000 (09:25 +0000)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 31 Dec 2022 12:14:03 +0000 (13:14 +0100)
[ 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>
drivers/irqchip/irq-wpcm450-aic.c

index f3ac392..36d0d0c 100644 (file)
@@ -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;
        }