]> git.proxmox.com Git - mirror_ubuntu-kernels.git/commitdiff
soc: bcm: brcmstb: biuctrl: fix of_iomap leak
authorZhaoyang Li <lizhaoyang04@hust.edu.cn>
Mon, 27 Mar 2023 11:54:22 +0000 (19:54 +0800)
committerStefan Bader <stefan.bader@canonical.com>
Fri, 7 Jul 2023 10:16:51 +0000 (12:16 +0200)
BugLink: https://bugs.launchpad.net/bugs/2025067
[ Upstream commit c3fbced9af885a6f217fd95509a613d6590916ce ]

Smatch reports:

drivers/soc/bcm/brcmstb/biuctrl.c:291 setup_hifcpubiuctrl_regs() warn:
'cpubiuctrl_base' from of_iomap() not released on lines: 291.

This is because in setup_hifcpubiuctrl_regs(),
cpubiuctrl_base is not released when handle error, which may cause a leak.
To fix this, iounmap is added when handle error.

Fixes: 22f7a9116eba ("soc: brcmstb: Correct CPU_CREDIT_REG offset for Brahma-B53 CPUs")
Signed-off-by: Zhaoyang Li <lizhaoyang04@hust.edu.cn>
Reviewed-by: Dan Carpenter <error27@gmail.com>
Reviewed-by: Dongliang Mu <dzm91@hust.edu.cn>
Link: https://lore.kernel.org/r/20230327115422.1536615-1-lizhaoyang04@hust.edu.cn
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
Signed-off-by: Kamal Mostafa <kamal@canonical.com>
Signed-off-by: Stefan Bader <stefan.bader@canonical.com>
drivers/soc/bcm/brcmstb/biuctrl.c

index e1d7b45432485a0601d26886a7834cc58e4c2963..364ddbe365c248ca3b8464492791f4a9485afc3e 100644 (file)
@@ -288,6 +288,10 @@ static int __init setup_hifcpubiuctrl_regs(struct device_node *np)
        if (BRCM_ID(family_id) == 0x7260 && BRCM_REV(family_id) == 0)
                cpubiuctrl_regs = b53_cpubiuctrl_no_wb_regs;
 out:
+       if (ret && cpubiuctrl_base) {
+               iounmap(cpubiuctrl_base);
+               cpubiuctrl_base = NULL;
+       }
        return ret;
 }