linux/arch/arm
Jason A. Donenfeld 9592eef7c1 random: remove CONFIG_ARCH_RANDOM
When RDRAND was introduced, there was much discussion on whether it
should be trusted and how the kernel should handle that. Initially, two
mechanisms cropped up, CONFIG_ARCH_RANDOM, a compile time switch, and
"nordrand", a boot-time switch.

Later the thinking evolved. With a properly designed RNG, using RDRAND
values alone won't harm anything, even if the outputs are malicious.
Rather, the issue is whether those values are being *trusted* to be good
or not. And so a new set of options were introduced as the real
ones that people use -- CONFIG_RANDOM_TRUST_CPU and "random.trust_cpu".
With these options, RDRAND is used, but it's not always credited. So in
the worst case, it does nothing, and in the best case, maybe it helps.

Along the way, CONFIG_ARCH_RANDOM's meaning got sort of pulled into the
center and became something certain platforms force-select.

The old options don't really help with much, and it's a bit odd to have
special handling for these instructions when the kernel can deal fine
with the existence or untrusted existence or broken existence or
non-existence of that CPU capability.

Simplify the situation by removing CONFIG_ARCH_RANDOM and using the
ordinary asm-generic fallback pattern instead, keeping the two options
that are actually used. For now it leaves "nordrand" for now, as the
removal of that will take a different route.

Acked-by: Michael Ellerman <mpe@ellerman.id.au>
Acked-by: Catalin Marinas <catalin.marinas@arm.com>
Acked-by: Borislav Petkov <bp@suse.de>
Acked-by: Heiko Carstens <hca@linux.ibm.com>
Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2022-07-18 15:03:37 +02:00
..
boot Qualcomm DTS fixe for 5.19 2022-07-13 09:37:20 +02:00
common
configs ARM: mxs_defconfig: Enable the framebuffer 2022-06-27 15:48:16 +08:00
crypto
include random: remove CONFIG_ARCH_RANDOM 2022-07-18 15:03:37 +02:00
kernel ARM: 9208/1: entry: add .ltorg directive to keep literals in range 2022-07-14 13:19:51 +01:00
lib
mach-actions
mach-airoha
mach-alpine
mach-artpec
mach-asm9260
mach-aspeed
mach-at91 ARM: at91: pm: Mark at91_pm_secure_init as __init 2022-06-28 12:55:32 +03:00
mach-axxia ARM: Fix refcount leak in axxia_boot_secondary 2022-06-14 12:19:13 +02:00
mach-bcm
mach-berlin
mach-clps711x
mach-cns3xxx ARM: cns3xxx: Fix refcount leak in cns3xxx_init 2022-06-24 17:18:30 +02:00
mach-davinci gpio updates for v5.19 2022-05-26 14:51:38 -07:00
mach-digicolor
mach-dove
mach-ep93xx ARM: ep93xx: Make ts72xx_register_flash() static 2022-05-27 16:00:58 +02:00
mach-exynos ARM: exynos: Fix refcount leak in exynos_map_pmu 2022-06-06 10:40:57 +02:00
mach-footbridge
mach-gemini
mach-highbank
mach-hisi ARM: ARMv4T/v5 multiplatform support for v5.19, part 1 2022-05-26 10:43:09 -07:00
mach-hpe ARM: hpe: Introduce the HPE GXP architecture 2022-05-18 14:05:53 +02:00
mach-imx
mach-iop32x ARM: ARMv4T/v5 multiplatform support for v5.19, part 1 2022-05-26 10:43:09 -07:00
mach-ixp4xx ARM: ixp4xx: Consolidate Kconfig fixing issue 2022-05-25 15:54:11 +02:00
mach-keystone
mach-lpc18xx
mach-lpc32xx
mach-mediatek
mach-meson ARM: meson: Fix refcount leak in meson_smp_prepare_cpus 2022-06-10 08:43:05 +02:00
mach-milbeaut
mach-mmp ARM: multiplatform changes, part 2 2022-06-02 15:23:54 -07:00
mach-moxart
mach-mstar
mach-mv78xx0
mach-mvebu
mach-mxs
mach-nomadik ARM: ARMv4T/v5 multiplatform support for v5.19, part 1 2022-05-26 10:43:09 -07:00
mach-npcm
mach-nspire
mach-omap1 ARM: omap1: enable multiplatform 2022-06-03 20:48:53 +02:00
mach-omap2 ARM: ARMv4T/v5 multiplatform support for v5.19, part 1 2022-05-26 10:43:09 -07:00
mach-orion5x ARM: ARMv4T/v5 multiplatform support for v5.19, part 1 2022-05-26 10:43:09 -07:00
mach-oxnas
mach-pxa ARM: multiplatform changes, part 2 2022-06-02 15:23:54 -07:00
mach-qcom
mach-rda
mach-realtek
mach-rockchip ARM: rockchip: Add missing of_node_put() in rockchip_suspend_init() 2022-06-17 19:05:51 +02:00
mach-rpc
mach-s3c ARM: ARMv4T/v5 multiplatform support for v5.19, part 1 2022-05-26 10:43:09 -07:00
mach-s5pv210
mach-sa1100
mach-shmobile
mach-socfpga
mach-spear arm: mach-spear: Add missing of_node_put() in time.c 2022-06-24 17:18:55 +02:00
mach-sti
mach-stm32
mach-sunxi ARM: ARMv4T/v5 multiplatform support for v5.19, part 1 2022-05-26 10:43:09 -07:00
mach-tegra
mach-uniphier
mach-ux500
mach-versatile ARM: ARMv4T/v5 multiplatform support for v5.19, part 1 2022-05-26 10:43:09 -07:00
mach-vt8500
mach-zynq
mm ARM fixes for 5.19: 2022-07-14 12:08:59 -07:00
net
nwfpe
plat-orion
probes ARM: 9214/1: alignment: advance IT state after emulating Thumb instruction 2022-07-06 22:44:49 +01:00
tools
vdso
vfp
xen xen/arm: Fix race in RB-tree based P2M accounting 2022-07-01 10:02:03 +02:00
Kbuild
Kconfig ARM: omap1: enable multiplatform 2022-06-03 20:48:53 +02:00
Kconfig-nommu
Kconfig.assembler
Kconfig.debug ARM: ARMv4T/v5 multiplatform support for v5.19, part 1 2022-05-26 10:43:09 -07:00
Makefile ARM: SoC changes, part 2 2022-06-02 15:27:44 -07:00