summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatteo Croce <mcroce@microsoft.com>2020-12-16 07:47:00 +0300
committerLinus Torvalds <torvalds@linux-foundation.org>2020-12-16 09:46:19 +0300
commit0c5c0179e2cddb0d1c52ba1487f9f9e77714c8af (patch)
treed31d78c11e4e00eab995543ef775879fc190e9bb
parent2c622ed0eaa38b68d7440bedb8c6cdd138b5a860 (diff)
downloadlinux-0c5c0179e2cddb0d1c52ba1487f9f9e77714c8af.tar.xz
reboot: remove cf9_safe from allowed types and rename cf9_force
BOOT_CF9_SAFE_STR is an internal value used only by the x86 code and it's not possible to set it from userspace. Remove it, and rename 'cf9_force' to 'pci', so to make it coherent with the kernel command line reboot= option. Tested with this script: cd /sys/kernel/reboot/ for i in cold warm hard soft gpio; do echo $i >mode read j <mode [ $i = $j ] || echo "mode $i != $j" done for i in bios acpi kbd triple efi pci; do echo $i >type read j <type [ $i = $j ] || echo "type $i != $j" done for i in $(seq 0 $(nproc --ignore=1)); do echo $i >cpu read j <cpu [ $i = $j ] || echo "cpu $i != $j" done for i in 0 1; do echo $i >force read j <force [ $i = $j ] || echo "force $i != $j" done Link: https://lkml.kernel.org/r/20201113015900.543923-1-mcroce@linux.microsoft.com Fixes: eab8da48579d ("reboot: allow to specify reboot mode via sysfs") Signed-off-by: Matteo Croce <mcroce@microsoft.com> Cc: Arnd Bergmann <arnd@arndb.de> Cc: Guenter Roeck <linux@roeck-us.net> Cc: Kees Cook <keescook@chromium.org> Cc: Mike Rapoport <rppt@kernel.org> Cc: Nathan Chancellor <natechancellor@gmail.com> Cc: Pavel Tatashin <pasha.tatashin@soleen.com> Cc: Petr Mladek <pmladek@suse.com> Cc: Tyler Hicks <tyhicks@linux.microsoft.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
-rw-r--r--kernel/reboot.c12
1 files changed, 3 insertions, 9 deletions
diff --git a/kernel/reboot.c b/kernel/reboot.c
index 940cbb784e17..769ad55c7187 100644
--- a/kernel/reboot.c
+++ b/kernel/reboot.c
@@ -615,8 +615,7 @@ __setup("reboot=", reboot_setup);
#define BOOT_BIOS_STR "bios"
#define BOOT_ACPI_STR "acpi"
#define BOOT_EFI_STR "efi"
-#define BOOT_CF9_FORCE_STR "cf9_force"
-#define BOOT_CF9_SAFE_STR "cf9_safe"
+#define BOOT_PCI_STR "pci"
static ssize_t mode_show(struct kobject *kobj, struct kobj_attribute *attr, char *buf)
{
@@ -688,10 +687,7 @@ static ssize_t type_show(struct kobject *kobj, struct kobj_attribute *attr, char
val = BOOT_EFI_STR;
break;
case BOOT_CF9_FORCE:
- val = BOOT_CF9_FORCE_STR;
- break;
- case BOOT_CF9_SAFE:
- val = BOOT_CF9_SAFE_STR;
+ val = BOOT_PCI_STR;
break;
default:
val = REBOOT_UNDEFINED_STR;
@@ -715,10 +711,8 @@ static ssize_t type_store(struct kobject *kobj, struct kobj_attribute *attr,
reboot_type = BOOT_ACPI;
else if (!strncmp(buf, BOOT_EFI_STR, strlen(BOOT_EFI_STR)))
reboot_type = BOOT_EFI;
- else if (!strncmp(buf, BOOT_CF9_FORCE_STR, strlen(BOOT_CF9_FORCE_STR)))
+ else if (!strncmp(buf, BOOT_PCI_STR, strlen(BOOT_PCI_STR)))
reboot_type = BOOT_CF9_FORCE;
- else if (!strncmp(buf, BOOT_CF9_SAFE_STR, strlen(BOOT_CF9_SAFE_STR)))
- reboot_type = BOOT_CF9_SAFE;
else
return -EINVAL;