Re: [PATCH RESEND] PM: domains: Fix return value of API dev_pm_get_subsys_data()

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 2024/11/12 19:46, Greg Kroah-Hartman wrote:
> On Mon, Oct 28, 2024 at 08:31:11PM +0800, Zijun Hu wrote:
>> From: Zijun Hu <quic_zijuhu@xxxxxxxxxxx>
>>
>> dev_pm_get_subsys_data() has below 2 issues under condition
>> (@dev->power.subsys_data != NULL):
>>
>> - it will do unnecessary kzalloc() and kfree().
> 
> But that's ok, everything still works, right?
> 

i don't think so, as explained below:

under condition (@dev->power.subsys_data != NULL), the API does
not need to do kzalloc() and should always return 0 (success).

but it actually does *unnecessary* kzalloc() and have below impact
shown:

if (kzalloc() is successfully)
	it will degrade the API's performance
else
        it changed the API's return value to -ENOMEM from 0, that
        will impact caller's logic.

>> - it will return -ENOMEM if the kzalloc() fails, that is wrong
>>   since the kzalloc() is not needed.
> 
> But it's ok to return the proper error if the system is that broken.
> >>
>> Fixed by not doing kzalloc() and returning 0 for the condition.
>>
>> Fixes: ef27bed1870d ("PM: Reference counting of power.subsys_data")
>> Cc: stable@xxxxxxxxxxxxxxx
> 
> Why is this relevant for stable kernels?
> 

it has impact related to performance and logic as explained above.

> thanks,
> 
> greg k-h





[Index of Archives]     [Linux Kernel]     [Kernel Development Newbies]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Hiking]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux