Message ID | 1551785646-46173-6-git-send-email-wen.yang99@zte.com.cn (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [v2,01/15] ARM: actions: fix a leaked reference by adding missing of_node_put | expand |
On Tue, Mar 5, 2019 at 1:33 PM Wen Yang <wen.yang99@zte.com.cn> wrote: > > The call to of_get_next_child returns a node pointer with refcount > incremented thus it must be explicitly decremented after the last > usage. > > Detected by coccinelle with the following warnings: > ./arch/arm/mach-npcm/platsmp.c:52:1-7: ERROR: missing of_node_put; acquired a node pointer with refcount incremented on line 31, but without a corresponding object release within this function. > ./arch/arm/mach-npcm/platsmp.c:68:2-8: ERROR: missing of_node_put; acquired a node pointer with refcount incremented on line 60, but without a corresponding object release within this function. > > Signed-off-by: Wen Yang <wen.yang99@zte.com.cn> > Reviewed-by: Florian Fainelli <f.fainelli@gmail.com> > Cc: Avi Fishman <avifishman70@gmail.com> > Cc: Tomer Maimon <tmaimon77@gmail.com> > Cc: Patrick Venture <venture@google.com> > Cc: Nancy Yuen <yuenn@google.com> > Cc: Brendan Higgins <brendanhiggins@google.com> > Cc: Russell King <linux@armlinux.org.uk> > Cc: linux-arm-kernel@lists.infradead.org > Cc: openbmc@lists.ozlabs.org > Cc: linux-kernel@vger.kernel.org > --- > v2->v1: add a missing space between "adding" and "missing" > > arch/arm/mach-npcm/platsmp.c | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/arch/arm/mach-npcm/platsmp.c b/arch/arm/mach-npcm/platsmp.c > index 21633c7..fe63edc 100644 > --- a/arch/arm/mach-npcm/platsmp.c > +++ b/arch/arm/mach-npcm/platsmp.c > @@ -35,6 +35,7 @@ static int npcm7xx_smp_boot_secondary(unsigned int cpu, > goto out; > } > gcr_base = of_iomap(gcr_np, 0); > + of_node_put(gcr_np); > if (!gcr_base) { > pr_err("could not iomap gcr"); > ret = -ENOMEM; > @@ -63,6 +64,7 @@ static void __init npcm7xx_smp_prepare_cpus(unsigned int max_cpus) > return; > } > scu_base = of_iomap(scu_np, 0); > + of_node_put(scu_np); > if (!scu_base) { > pr_err("could not iomap scu"); > return; > -- > 2.9.5 > Reviewed-by: Avi Fishman <avifishman70@gmail.com>
diff --git a/arch/arm/mach-npcm/platsmp.c b/arch/arm/mach-npcm/platsmp.c index 21633c7..fe63edc 100644 --- a/arch/arm/mach-npcm/platsmp.c +++ b/arch/arm/mach-npcm/platsmp.c @@ -35,6 +35,7 @@ static int npcm7xx_smp_boot_secondary(unsigned int cpu, goto out; } gcr_base = of_iomap(gcr_np, 0); + of_node_put(gcr_np); if (!gcr_base) { pr_err("could not iomap gcr"); ret = -ENOMEM; @@ -63,6 +64,7 @@ static void __init npcm7xx_smp_prepare_cpus(unsigned int max_cpus) return; } scu_base = of_iomap(scu_np, 0); + of_node_put(scu_np); if (!scu_base) { pr_err("could not iomap scu"); return;