Re: [PATCH] asus-laptop: Fix an uninitialized variable

From: Ilpo Järvinen
Date: Tue Mar 25 2025 - 07:18:24 EST


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@xxxxxxxxxxxxxxx
> Signed-off-by: Denis Arefev <arefev@xxxxxxxxx>
> ---
> 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?

--
i.