]> git.itanic.dy.fi Git - linux-stable/commitdiff
random: use random.trust_{bootloader,cpu} command line option only
authorJason A. Donenfeld <Jason@zx2c4.com>
Tue, 1 Nov 2022 12:03:55 +0000 (13:03 +0100)
committerJason A. Donenfeld <Jason@zx2c4.com>
Fri, 18 Nov 2022 01:18:10 +0000 (02:18 +0100)
It's very unusual to have both a command line option and a compile time
option, and apparently that's confusing to people. Also, basically
everybody enables the compile time option now, which means people who
want to disable this wind up having to use the command line option to
ensure that anyway. So just reduce the number of moving pieces and nix
the compile time option in favor of the more versatile command line
option.

Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
Documentation/admin-guide/kernel-parameters.txt
arch/powerpc/configs/microwatt_defconfig
arch/s390/configs/debug_defconfig
arch/s390/configs/defconfig
arch/s390/configs/zfcpdump_defconfig
drivers/char/Kconfig
drivers/char/random.c
tools/testing/selftests/wireguard/qemu/kernel.config

index a465d5242774af8f89779121b5acca4439b7f5f0..78493797460f5e5fa0dbcec00d0e548fe50060e1 100644 (file)
 
        ramdisk_start=  [RAM] RAM disk image start address
 
-       random.trust_cpu={on,off}
-                       [KNL] Enable or disable trusting the use of the
-                       CPU's random number generator (if available) to
-                       fully seed the kernel's CRNG. Default is controlled
-                       by CONFIG_RANDOM_TRUST_CPU.
-
-       random.trust_bootloader={on,off}
-                       [KNL] Enable or disable trusting the use of a
-                       seed passed by the bootloader (if available) to
-                       fully seed the kernel's CRNG. Default is controlled
-                       by CONFIG_RANDOM_TRUST_BOOTLOADER.
+       random.trust_cpu=off
+                       [KNL] Disable trusting the use of the CPU's
+                       random number generator (if available) to
+                       initialize the kernel's RNG.
+
+       random.trust_bootloader=off
+                       [KNL] Disable trusting the use of the a seed
+                       passed by the bootloader (if available) to
+                       initialize the kernel's RNG.
 
        randomize_kstack_offset=
                        [KNL] Enable or disable kernel stack offset
index ea2dbd778aadf6be0ee264426af165a87e73b12e..18d4fe4108cb6331795a68b30d37bef135fbd03a 100644 (file)
@@ -68,7 +68,6 @@ CONFIG_SERIAL_8250_CONSOLE=y
 CONFIG_SERIAL_OF_PLATFORM=y
 CONFIG_SERIAL_NONSTANDARD=y
 # CONFIG_NVRAM is not set
-CONFIG_RANDOM_TRUST_CPU=y
 CONFIG_SPI=y
 CONFIG_SPI_DEBUG=y
 CONFIG_SPI_BITBANG=y
index 63807bd0b5364614ddabe49816c450c270de8f85..a7b4e1d82758072cb23cd5e988bd8d492d5a4490 100644 (file)
@@ -573,8 +573,6 @@ CONFIG_VIRTIO_CONSOLE=m
 CONFIG_HW_RANDOM_VIRTIO=m
 CONFIG_HANGCHECK_TIMER=m
 CONFIG_TN3270_FS=y
-# CONFIG_RANDOM_TRUST_CPU is not set
-# CONFIG_RANDOM_TRUST_BOOTLOADER is not set
 CONFIG_PPS=m
 # CONFIG_PTP_1588_CLOCK is not set
 # CONFIG_HWMON is not set
index 4f9a982474423d41e04fe3f5a6d605b6cdbef203..2bc2d0fe57743ccd8caa5ea8838c1a8b555bfcc6 100644 (file)
@@ -563,8 +563,6 @@ CONFIG_VIRTIO_CONSOLE=m
 CONFIG_HW_RANDOM_VIRTIO=m
 CONFIG_HANGCHECK_TIMER=m
 CONFIG_TN3270_FS=y
-# CONFIG_RANDOM_TRUST_CPU is not set
-# CONFIG_RANDOM_TRUST_BOOTLOADER is not set
 # CONFIG_PTP_1588_CLOCK is not set
 # CONFIG_HWMON is not set
 CONFIG_WATCHDOG=y
index 5fe9948be6442e46b6502dd548e19731fb4876ea..ae14ab0b864d5946c277c2fabae7869223b3e87a 100644 (file)
@@ -58,7 +58,6 @@ CONFIG_ZFCP=y
 # CONFIG_VMCP is not set
 # CONFIG_MONWRITER is not set
 # CONFIG_S390_VMUR is not set
-# CONFIG_RANDOM_TRUST_BOOTLOADER is not set
 # CONFIG_HID is not set
 # CONFIG_VIRTIO_MENU is not set
 # CONFIG_VHOST_MENU is not set
index 0f378d29dab0af8488c7b14059ef27f82e4ebbdf..30fe9848dac1c1dcd53005797935ef2ff9ce7332 100644 (file)
@@ -423,40 +423,4 @@ config ADI
          and SSM (Silicon Secured Memory).  Intended consumers of this
          driver include crash and makedumpfile.
 
-config RANDOM_TRUST_CPU
-       bool "Initialize RNG using CPU RNG instructions"
-       default y
-       help
-         Initialize the RNG using random numbers supplied by the CPU's
-         RNG instructions (e.g. RDRAND), if supported and available. These
-         random numbers are never used directly, but are rather hashed into
-         the main input pool, and this happens regardless of whether or not
-         this option is enabled. Instead, this option controls whether the
-         they are credited and hence can initialize the RNG. Additionally,
-         other sources of randomness are always used, regardless of this
-         setting.  Enabling this implies trusting that the CPU can supply high
-         quality and non-backdoored random numbers.
-
-         Say Y here unless you have reason to mistrust your CPU or believe
-         its RNG facilities may be faulty. This may also be configured at
-         boot time with "random.trust_cpu=on/off".
-
-config RANDOM_TRUST_BOOTLOADER
-       bool "Initialize RNG using bootloader-supplied seed"
-       default y
-       help
-         Initialize the RNG using a seed supplied by the bootloader or boot
-         environment (e.g. EFI or a bootloader-generated device tree). This
-         seed is not used directly, but is rather hashed into the main input
-         pool, and this happens regardless of whether or not this option is
-         enabled. Instead, this option controls whether the seed is credited
-         and hence can initialize the RNG. Additionally, other sources of
-         randomness are always used, regardless of this setting. Enabling
-         this implies trusting that the bootloader can supply high quality and
-         non-backdoored seeds.
-
-         Say Y here unless you have reason to mistrust your bootloader or
-         believe its RNG facilities may be faulty. This may also be configured
-         at boot time with "random.trust_bootloader=on/off".
-
 endmenu
index f5868dddbb618cbb891f475207055a67144413d9..1c6fb89fc005678a32f11d3f1273d2f7bb89f8bb 100644 (file)
@@ -748,7 +748,7 @@ static void __cold _credit_init_bits(size_t bits)
  *
  * add_bootloader_randomness() is called by bootloader drivers, such as EFI
  * and device tree, and credits its input depending on whether or not the
- * configuration option CONFIG_RANDOM_TRUST_BOOTLOADER is set.
+ * command line option 'random.trust_bootloader'.
  *
  * add_vmfork_randomness() adds a unique (but not necessarily secret) ID
  * representing the current instance of a VM to the pool, without crediting,
@@ -774,8 +774,8 @@ static void __cold _credit_init_bits(size_t bits)
  *
  **********************************************************************/
 
-static bool trust_cpu __initdata = IS_ENABLED(CONFIG_RANDOM_TRUST_CPU);
-static bool trust_bootloader __initdata = IS_ENABLED(CONFIG_RANDOM_TRUST_BOOTLOADER);
+static bool trust_cpu __initdata = true;
+static bool trust_bootloader __initdata = true;
 static int __init parse_trust_cpu(char *arg)
 {
        return kstrtobool(arg, &trust_cpu);
@@ -926,8 +926,8 @@ void add_hwgenerator_randomness(const void *buf, size_t len, size_t entropy)
 EXPORT_SYMBOL_GPL(add_hwgenerator_randomness);
 
 /*
- * Handle random seed passed by bootloader, and credit it if
- * CONFIG_RANDOM_TRUST_BOOTLOADER is set.
+ * Handle random seed passed by bootloader, and credit it depending
+ * on the command line option 'random.trust_bootloader'.
  */
 void __init add_bootloader_randomness(const void *buf, size_t len)
 {
index ce2a04717300f3096dd8d9ed78f7e3ae476e19a3..6327c9c400e0f5aab5b0f8289f5f5e6bb1a5270b 100644 (file)
@@ -64,8 +64,6 @@ CONFIG_PROC_FS=y
 CONFIG_PROC_SYSCTL=y
 CONFIG_SYSFS=y
 CONFIG_TMPFS=y
-CONFIG_RANDOM_TRUST_CPU=y
-CONFIG_RANDOM_TRUST_BOOTLOADER=y
 CONFIG_CONSOLE_LOGLEVEL_DEFAULT=15
 CONFIG_LOG_BUF_SHIFT=18
 CONFIG_PRINTK_TIME=y