Re: [PATCH] powerpc/pseries: Fix of_node_put() underflow during pseries remove

From: Michael Ellerman
Date: Mon Jul 24 2017 - 06:42:48 EST


Laurent Vivier <lvivier@xxxxxxxxxx> writes:

> As for commit 68baf692c435 ("powerpc/pseries: Fix of_node_put()
> underflow during DLPAR remove"), the call to of_node_put()
> must be removed from pSeries_reconfig_remove_node().
>
> dlpar_detach_node() and pSeries_reconfig_remove_node() call
> of_detach_node(), and thus the node should not be released
> in this case too.
>
> Signed-off-by: Laurent Vivier <lvivier@xxxxxxxxxx>
> ---
> arch/powerpc/platforms/pseries/reconfig.c | 1 -
> 1 file changed, 1 deletion(-)

Thanks. I'll spare you the swearing about why we have the same bug in
two places.

As for the other fix, I'll add:

Fixes: 0829f6d1f69e ("of: device_node kobject lifecycle fixes")
Cc: stable@xxxxxxxxxxxxxxx # v3.15+

cheers

> diff --git a/arch/powerpc/platforms/pseries/reconfig.c b/arch/powerpc/platforms/pseries/reconfig.c
> index e5bf1e8..011ef21 100644
> --- a/arch/powerpc/platforms/pseries/reconfig.c
> +++ b/arch/powerpc/platforms/pseries/reconfig.c
> @@ -82,7 +82,6 @@ static int pSeries_reconfig_remove_node(struct device_node *np)
>
> of_detach_node(np);
> of_node_put(parent);
> - of_node_put(np); /* Must decrement the refcount */
> return 0;
> }
>
> --
> 2.9.4