diff mbox series

[v2,02/15] ARM: bcm: fix a leaked reference by adding missing of_node_put

Message ID 1551785646-46173-2-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

Commit Message

Wen Yang March 5, 2019, 11:33 a.m. UTC
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-bcm/board_bcm281xx.c:43:2-8: ERROR: missing of_node_put; acquired a node pointer with refcount incremented on line 35, 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: Florian Fainelli <f.fainelli@gmail.com>
Cc: Ray Jui <rjui@broadcom.com>
Cc: Scott Branden <sbranden@broadcom.com>
Cc: bcm-kernel-feedback-list@broadcom.com
Cc: Russell King <linux@armlinux.org.uk>
Cc: linux-arm-kernel@lists.infradead.org
Cc: linux-kernel@vger.kernel.org
---
v2->v1: add a missing space between "adding" and "missing"

 arch/arm/mach-bcm/board_bcm281xx.c | 1 +
 1 file changed, 1 insertion(+)

Comments

Ray Jui March 5, 2019, 5:24 p.m. UTC | #1
On 3/5/2019 3:33 AM, Wen Yang 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-bcm/board_bcm281xx.c:43:2-8: ERROR: missing of_node_put; acquired a node pointer with refcount incremented on line 35, 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: Florian Fainelli <f.fainelli@gmail.com>
> Cc: Ray Jui <rjui@broadcom.com>
> Cc: Scott Branden <sbranden@broadcom.com>
> Cc: bcm-kernel-feedback-list@broadcom.com
> Cc: Russell King <linux@armlinux.org.uk>
> Cc: linux-arm-kernel@lists.infradead.org
> Cc: linux-kernel@vger.kernel.org
> ---
> v2->v1: add a missing space between "adding" and "missing"
> 
>  arch/arm/mach-bcm/board_bcm281xx.c | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/arch/arm/mach-bcm/board_bcm281xx.c b/arch/arm/mach-bcm/board_bcm281xx.c
> index b81bb38..1238ac8 100644
> --- a/arch/arm/mach-bcm/board_bcm281xx.c
> +++ b/arch/arm/mach-bcm/board_bcm281xx.c
> @@ -38,6 +38,7 @@ static void bcm281xx_restart(enum reboot_mode mode, const char *cmd)
>  		return;
>  	}
>  	base = of_iomap(np_wdog, 0);
> +	of_node_put(np_wdog);
>  	if (!base) {
>  		pr_emerg("Couldn't map brcm,kona-wdt\n");
>  		return;
> 

Change looks good to me. Thanks!

Acked-by: Ray Jui <ray.jui@broadcom.com>
Florian Fainelli March 8, 2019, 6:50 p.m. UTC | #2
On 3/5/19 9:24 AM, Ray Jui wrote:
> 
> 
> On 3/5/2019 3:33 AM, Wen Yang 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-bcm/board_bcm281xx.c:43:2-8: ERROR: missing of_node_put; acquired a node pointer with refcount incremented on line 35, 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: Florian Fainelli <f.fainelli@gmail.com>
>> Cc: Ray Jui <rjui@broadcom.com>
>> Cc: Scott Branden <sbranden@broadcom.com>
>> Cc: bcm-kernel-feedback-list@broadcom.com
>> Cc: Russell King <linux@armlinux.org.uk>
>> Cc: linux-arm-kernel@lists.infradead.org
>> Cc: linux-kernel@vger.kernel.org
>> ---
>> v2->v1: add a missing space between "adding" and "missing"
>>
>>  arch/arm/mach-bcm/board_bcm281xx.c | 1 +
>>  1 file changed, 1 insertion(+)
>>
>> diff --git a/arch/arm/mach-bcm/board_bcm281xx.c b/arch/arm/mach-bcm/board_bcm281xx.c
>> index b81bb38..1238ac8 100644
>> --- a/arch/arm/mach-bcm/board_bcm281xx.c
>> +++ b/arch/arm/mach-bcm/board_bcm281xx.c
>> @@ -38,6 +38,7 @@ static void bcm281xx_restart(enum reboot_mode mode, const char *cmd)
>>  		return;
>>  	}
>>  	base = of_iomap(np_wdog, 0);
>> +	of_node_put(np_wdog);
>>  	if (!base) {
>>  		pr_emerg("Couldn't map brcm,kona-wdt\n");
>>  		return;
>>
> 
> Change looks good to me. Thanks!
> 
> Acked-by: Ray Jui <ray.jui@broadcom.com>
> 

Squashed this patch and "[PATCH 1/4] ARM: brcmstb: fix a leaked
reference by adding missing of_node_put" into the same commit:

https://github.com/Broadcom/stblinux/commit/ff98f8f6083a7f317463f538e9a21822e1128657

thanks Wen!
diff mbox series

Patch

diff --git a/arch/arm/mach-bcm/board_bcm281xx.c b/arch/arm/mach-bcm/board_bcm281xx.c
index b81bb38..1238ac8 100644
--- a/arch/arm/mach-bcm/board_bcm281xx.c
+++ b/arch/arm/mach-bcm/board_bcm281xx.c
@@ -38,6 +38,7 @@  static void bcm281xx_restart(enum reboot_mode mode, const char *cmd)
 		return;
 	}
 	base = of_iomap(np_wdog, 0);
+	of_node_put(np_wdog);
 	if (!base) {
 		pr_emerg("Couldn't map brcm,kona-wdt\n");
 		return;