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 <[email protected]>
Signed-off-by: Jiapeng Chong <[email protected]>
---
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
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 <[email protected]>
> Signed-off-by: Jiapeng Chong <[email protected]>
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
Kees Cook <[email protected]> writes:
> 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 <[email protected]>
>> Signed-off-by: Jiapeng Chong <[email protected]>
>
> 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;
I don't think this is necessary. It isn't an error not to have ERST
table in a machine.
Best Regards,
Huang, Ying
>> 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
>>