Re: [PATCH] x86, olpc: Avoid leak OF node on error

From: Johan Hovold
Date: Mon May 23 2022 - 07:53:40 EST


On Mon, May 23, 2022 at 11:12:53AM +0000, cgel.zte@xxxxxxxxx wrote:
> From: Minghao Chi <chi.minghao@xxxxxxxxxx>
>
> The OF node should be put before returning error in xo1_rtc_init(),
> otherwise node's refcount will be leaked.
>
> Reported-by: Zeal Robot <zealci@xxxxxxxxxx>
> Signed-off-by: Minghao Chi <chi.minghao@xxxxxxxxxx>
> ---
> arch/x86/platform/olpc/olpc-xo1-rtc.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/arch/x86/platform/olpc/olpc-xo1-rtc.c b/arch/x86/platform/olpc/olpc-xo1-rtc.c
> index 57f210cda761..dc5ac56cd9dd 100644
> --- a/arch/x86/platform/olpc/olpc-xo1-rtc.c
> +++ b/arch/x86/platform/olpc/olpc-xo1-rtc.c
> @@ -59,9 +59,9 @@ static int __init xo1_rtc_init(void)
> struct device_node *node;
>
> node = of_find_compatible_node(NULL, NULL, "olpc,xo1-rtc");
> + of_node_put(node);
> if (!node)
> return 0;
> - of_node_put(node);

Is this a joke? Don't you guys even try to understand the code your
"robot" tells you to change?

Please don't send any more patches until you've figured out how you
messed up here.

> pr_info("olpc-xo1-rtc: Initializing OLPC XO-1 RTC\n");
> rdmsrl(MSR_RTC_DOMA_OFFSET, rtc_info.rtc_day_alarm);

Johan