Re: [PATCH 22/28] x86: apm: avoid uninitialized data

From: Jiri Kosina
Date: Tue Oct 18 2016 - 09:06:14 EST


On Tue, 18 Oct 2016, Arnd Bergmann wrote:

> apm_bios_call() can fail, and return a status in its argument
> structure. If that status however is zero during a call from
> apm_get_power_status(), we end up using data that may have
> never been set, as reported by "gcc -Wmaybe-uninitialized":
>
> arch/x86/kernel/apm_32.c: In function âapmâ:
> arch/x86/kernel/apm_32.c:1729:17: error: âbxâ may be used uninitialized in this function [-Werror=maybe-uninitialized]
> arch/x86/kernel/apm_32.c:1835:5: error: âcxâ may be used uninitialized in this function [-Werror=maybe-uninitialized]
> arch/x86/kernel/apm_32.c:1730:17: note: âcxâ was declared here
> arch/x86/kernel/apm_32.c:1842:27: error: âdxâ may be used uninitialized in this function [-Werror=maybe-uninitialized]
> arch/x86/kernel/apm_32.c:1731:17: note: âdxâ was declared here
>
> This changes the function to return "APM_NO_ERROR" here, which
> makes the code more robust to broken BIOS versions, and avoids
> the warning.
>
> Cc: x86@xxxxxxxxxx
> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx>

Makes sense.

Reviewed-by: Jiri Kosina <jkosina@xxxxxxx>

Thanks,

--
Jiri Kosina
SUSE Labs