Message ID | 1622545553-19160-1-git-send-email-jiapeng.chong@linux.alibaba.com |
---|---|
State | New |
Headers | show |
Series | ACPI: APEI: ERST: Fix missing error code in erst_init() | expand |
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@linux.alibaba.com> > Signed-off-by: Jiapeng Chong <jiapeng.chong@linux.alibaba.com> 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 <keescook@chromium.org> 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 <abaci@linux.alibaba.com> >> Signed-off-by: Jiapeng Chong <jiapeng.chong@linux.alibaba.com> > > 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 >>
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;
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@linux.alibaba.com> Signed-off-by: Jiapeng Chong <jiapeng.chong@linux.alibaba.com> --- drivers/acpi/apei/erst.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-)