[lvc-project] [PATCH] asus-laptop: Fix an uninitialized variable

Arefev arefev at swemel.ru
Wed Mar 26 15:07:42 MSK 2025


25.03.2025 14:18, Ilpo Järvinen пишет:
> On Tue, 25 Mar 2025, Denis Arefev wrote:
>
>> The value returned by the acpi_evaluate_integer() function is not
>> checked, but the result is not always successful, so an uninitialized
>> 'val' variable may be used in calculations.
>>
>> Found by Linux Verification Center (linuxtesting.org) with SVACE.
>>
>> Fixes: b23910c2194e ("asus-laptop: Pegatron Lucid accelerometer")
>> Cc: stable at vger.kernel.org
>> Signed-off-by: Denis Arefev <arefev at swemel.ru>
>> ---
>>   drivers/platform/x86/asus-laptop.c | 2 +-
>>   1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/drivers/platform/x86/asus-laptop.c b/drivers/platform/x86/asus-laptop.c
>> index d460dd194f19..b74b7d0eb6c2 100644
>> --- a/drivers/platform/x86/asus-laptop.c
>> +++ b/drivers/platform/x86/asus-laptop.c
>> @@ -427,7 +427,7 @@ static int asus_pega_lucid_set(struct asus_laptop *asus, int unit, bool enable)
>>   static int pega_acc_axis(struct asus_laptop *asus, int curr, char *method)
>>   {
>>   	int i, delta;
>> -	unsigned long long val;
>> +	unsigned long long val = PEGA_ACC_CLAMP;
>>   	for (i = 0; i < PEGA_ACC_RETRIES; i++) {
>>   		acpi_evaluate_integer(asus->handle, method, NULL, &val);
> Shouldn't you handle the error from acpi_evaluate_integer() properly
> instead?
>
Apparently, the developer realized that the output is very noisy and
therefore created an algorithm that will surely return a good result.

I did not check the return value, because if acpi_evaluate_integer()
cannot read the values of accelerometers, 'val' will remain
uninitialized and will be used in further calculations.



More information about the lvc-project mailing list