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

Tyrel Datwyler turtle.in.the.kernel at gmail.com
Tue Jul 25 04:42:40 AEST 2017


On 07/24/2017 03:42 AM, Michael Ellerman wrote:
> Laurent Vivier <lvivier at redhat.com> 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 at redhat.com>
>> ---
>>  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 at vger.kernel.org # 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



More information about the Linuxppc-dev mailing list