Re: [PATCH] ACPI: APEI: ERST: Fix missing error code in erst_init()

From: Kees Cook
Date: Tue Jun 01 2021 - 16:05:36 EST


On Tue, Jun 01, 2021 at 07:05:53PM +0800, Jiapeng Chong wrote:
> The error code is missing in this code scenario, add the error code
> '-EINVAL' to the return value 'rc'.
>
> Eliminate the follow smatch warning:
>
> drivers/acpi/apei/erst.c:1114 erst_init() warn: missing error code 'rc'.
>
> Reported-by: Abaci Robot <abaci@xxxxxxxxxxxxxxxxx>
> Signed-off-by: Jiapeng Chong <jiapeng.chong@xxxxxxxxxxxxxxxxx>

Is this a bug? I can't tell if this is meant to be a "silent" failure,
like with acpi_disabled, erst_disabled, etc.

If it _is_ a bug, then please include:

Fixes: a08f82d08053 ("ACPI, APEI, Error Record Serialization Table (ERST) support")

-Kees

> ---
> drivers/acpi/apei/erst.c | 5 +++--
> 1 file changed, 3 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/acpi/apei/erst.c b/drivers/acpi/apei/erst.c
> index 242f3c2..492d499 100644
> --- a/drivers/acpi/apei/erst.c
> +++ b/drivers/acpi/apei/erst.c
> @@ -1110,9 +1110,10 @@ static int __init erst_init(void)
>
> status = acpi_get_table(ACPI_SIG_ERST, 0,
> (struct acpi_table_header **)&erst_tab);
> - if (status == AE_NOT_FOUND)
> + if (status == AE_NOT_FOUND) {
> + rc = -EINVAL;
> goto err;
> - else if (ACPI_FAILURE(status)) {
> + } else if (ACPI_FAILURE(status)) {
> const char *msg = acpi_format_exception(status);
> pr_err("Failed to get table, %s\n", msg);
> rc = -EINVAL;
> --
> 1.8.3.1
>

--
Kees Cook