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

From: Tyrel Datwyler
Date: Mon Jul 24 2017 - 14:42:53 EST


On 07/24/2017 03:42 AM, Michael Ellerman wrote:
> 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.

That's probably my bad. I must have failed to test with older powerpc-util tooling where
drmgr uses the /proc/ofdt interface for device tree modification.

-Tyrel

>
> 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