ACPI: APEI: fix return value of __setup handlers
authorRandy Dunlap <rdunlap@infradead.org>
Sun, 6 Mar 2022 02:46:20 +0000 (18:46 -0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 15 Apr 2022 12:14:43 +0000 (14:14 +0200)
[ Upstream commit f3303ff649dbf7dcdc6a6e1a922235b12b3028f4 ]

__setup() handlers should return 1 to indicate that the boot option
has been handled. Returning 0 causes a boot option to be listed in
the Unknown kernel command line parameters and also added to init's
arg list (if no '=' sign) or environment list (if of the form 'a=b').

Unknown kernel command line parameters "erst_disable
  bert_disable hest_disable BOOT_IMAGE=/boot/bzImage-517rc6", will be
  passed to user space.

 Run /sbin/init as init process
   with arguments:
     /sbin/init
     erst_disable
     bert_disable
     hest_disable
   with environment:
     HOME=/
     TERM=linux
     BOOT_IMAGE=/boot/bzImage-517rc6

Fixes: a3e2acc5e37b ("ACPI / APEI: Add Boot Error Record Table (BERT) support")
Fixes: a08f82d08053 ("ACPI, APEI, Error Record Serialization Table (ERST) support")
Fixes: 9dc966641677 ("ACPI, APEI, HEST table parsing")
Signed-off-by: Randy Dunlap <rdunlap@infradead.org>
Reported-by: Igor Zhbanov <i.zhbanov@omprussia.ru>
Link: lore.kernel.org/r/64644a2f-4a20-bab3-1e15-3b2cdd0defe3@omprussia.ru
Reviewed-by: "Huang, Ying" <ying.huang@intel.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/acpi/apei/bert.c
drivers/acpi/apei/erst.c
drivers/acpi/apei/hest.c

index 12771fcf0417df30ed36ddceed49bea7532b9d8e..876824948c19883b3114e74797bf20d35a05fb7a 100644 (file)
@@ -82,7 +82,7 @@ static int __init setup_bert_disable(char *str)
 {
        bert_disable = 1;
 
-       return 0;
+       return 1;
 }
 __setup("bert_disable", setup_bert_disable);
 
index ab8faa6d6616f3cb3b208423aafde127b9d68ded..445e85394db6138138cfd31ee8fd8b334b1135e1 100644 (file)
@@ -899,7 +899,7 @@ EXPORT_SYMBOL_GPL(erst_clear);
 static int __init setup_erst_disable(char *str)
 {
        erst_disable = 1;
-       return 0;
+       return 1;
 }
 
 __setup("erst_disable", setup_erst_disable);
index b1e9f81ebeea25b58ba6c0f9820ad38b4bc5b9e0..d536e4d132eb4f042ad302299fa712bb7c21d1fb 100644 (file)
@@ -215,7 +215,7 @@ static int __init hest_ghes_dev_register(unsigned int ghes_count)
 static int __init setup_hest_disable(char *str)
 {
        hest_disable = HEST_DISABLED;
-       return 0;
+       return 1;
 }
 
 __setup("hest_disable", setup_hest_disable);