linux/drivers/firmware
Ard Biesheuvel 50d7cdf7a9 efi/x86: Avoid physical KASLR on older Dell systems
River reports boot hangs with v6.6 and v6.7, and the bisect points to
commit

  a1b87d54f4 ("x86/efistub: Avoid legacy decompressor when doing EFI boot")

which moves the memory allocation and kernel decompression from the
legacy decompressor (which executes *after* ExitBootServices()) to the
EFI stub, using boot services for allocating the memory. The memory
allocation succeeds but the subsequent call to decompress_kernel() never
returns, resulting in a failed boot and a hanging system.

As it turns out, this issue only occurs when physical address
randomization (KASLR) is enabled, and given that this is a feature we
can live without (virtual KASLR is much more important), let's disable
the physical part of KASLR when booting on AMI UEFI firmware claiming to
implement revision v2.0 of the specification (which was released in
2006), as this is the version these systems advertise.

Fixes: a1b87d54f4 ("x86/efistub: Avoid legacy decompressor when doing EFI boot")
Closes: https://bugzilla.kernel.org/show_bug.cgi?id=218173
Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
2023-12-11 17:57:42 +01:00
..
arm_ffa firmware: arm_ffa: Upgrade the driver version to v1.1 2023-10-08 21:18:48 +01:00
arm_scmi Arm SCMI updates for v6.7 2023-10-16 22:54:17 +02:00
broadcom MIPS: BCM47XX: remove MODULE_LICENSE in non-modules 2023-04-13 13:13:51 -07:00
cirrus firmware: cirrus: cs_dsp: Only log list of algorithms in debug build 2023-09-13 18:50:32 +01:00
efi efi/x86: Avoid physical KASLR on older Dell systems 2023-12-11 17:57:42 +01:00
google firmware: coreboot: framebuffer: Allow building with simpledrm 2023-08-04 16:31:32 +02:00
imx - Move Kconfig files into the pmdomain subsystem 2023-11-01 13:09:46 -10:00
meson firmware: meson: Use device_get_match_data() 2023-10-09 10:48:15 +02:00
psci firmware/psci: demote suspend-mode warning to info level 2023-04-14 13:48:56 +02:00
qcom firmware: qcom: scm: remove unneeded 'extern' specifiers 2023-10-22 09:14:54 -07:00
smccc firmware: smccc: Fix use of uninitialised results structure 2023-07-18 10:08:05 +01:00
tegra SoC driver updates for 6.7 2023-11-01 14:46:51 -10:00
xilinx firmware: xilinx: Move EXPORT_SYMBOL_GPL next to zynqmp_pm_feature definition 2023-10-27 13:16:31 +02:00
arm_scpi.c firmware: arm_scpi: Use device_get_match_data() 2023-10-08 21:16:30 +01:00
arm_sdei.c arm64: sdei: abort running SDEI handlers during crash 2023-08-04 17:35:33 +01:00
dmi_scan.c firmware: dmi: Fortify entry point length checks 2022-09-23 14:53:14 +02:00
dmi-id.c driver core: make struct class.dev_uevent() take a const * 2022-11-24 17:12:15 +01:00
dmi-sysfs.c firmware: dmi-sysfs: handle HAS_IOPORT=n 2023-05-31 19:17:29 +01:00
edd.c edd: make kobj_type structure constant 2023-03-09 18:07:33 +01:00
iscsi_ibft_find.c iscsi_ibft: Fix finding the iBFT under Xen Dom 0 2023-06-26 07:47:11 +02:00
iscsi_ibft.c iscsi_ibft: Fix isa_bus_to_virt not working under ARM 2021-09-02 16:22:00 -04:00
Kconfig vhost,virtio,vdpa,firmware: bugfixes 2023-11-16 07:39:37 -05:00
Makefile asm-generic updates for v6.7 2023-11-01 15:28:33 -10:00
memmap.c firmware: memmap: use default_groups in kobj_type 2022-01-05 19:17:29 +01:00
mtk-adsp-ipc.c firmware: Explicitly include correct DT includes 2023-08-12 10:31:01 +02:00
qemu_fw_cfg.c riscv, qemu_fw_cfg: Add support for RISC-V architecture 2023-11-01 09:31:16 -04:00
raspberrypi.c firmware: raspberrypi: Fix devm_rpi_firmware_get documentation 2023-10-09 11:51:00 -07:00
scpi_pm_domain.c firmware: Explicitly include correct DT includes 2023-08-12 10:31:01 +02:00
stratix10-rsu.c Char/Misc driver changes for 6.6-rc1 2023-09-01 09:53:54 -07:00
stratix10-svc.c firmware: stratix10-svc: Generic Mailbox Command 2023-08-04 16:31:37 +02:00
sysfb_simplefb.c firmware/sysfb: Fix VESA format selection 2023-04-21 14:27:31 +02:00
sysfb.c drivers/firmware: Move sysfb_init() from device_initcall to subsys_initcall_sync 2023-05-15 13:36:30 +02:00
ti_sci.c firmware: ti_sci: Use device_get_match_data() 2023-10-16 10:28:25 -05:00
ti_sci.h
trusted_foundations.c
turris-mox-rwtm.c firmware: turris-mox-rwtm: make kobj_type structure constant 2023-04-07 17:17:00 +02:00