linux/drivers/firmware
Ard Biesheuvel a6cfe03c34 efi: stub: prefer mirrored memory for randomized allocations
If the system exposes memory regions with the EFI_MORE_RELIABLE
attribute, it is implied that it is intended to be used for allocations
that are relatively important, such as the kernel's static image.

Since efi_random_alloc() is mostly (only) used for allocating space for
the kernel image, let's update it to take this into account, and
disregard all memory without the EFI_MORE_RELIABLE attribute if there is
sufficient memory available that does have this attribute.

Note that this change only affects booting with randomization enabled.
In other cases, the EFI stub runs the kernel image in place unless its
placement is unsuitable for some reason (i.e., misaligned, or its BSS
overlaps with another allocation), and it is left to the bootloader to
ensure that the kernel was loaded into EFI_MORE_RELIABLE memory if this
is desired.

Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
Reviewed-by: Kefeng Wang <wangkefeng.wang@huawei.com>
2022-05-06 09:51:22 +02:00
..
arm_ffa firmware: arm_ffa: Remove unused 'compat_version' variable 2021-10-26 12:46:15 +01:00
arm_scmi ARM driver updates for 5.18 2022-03-23 18:23:13 -07:00
broadcom firmware: tee_bnxt: Release TEE shm, session, and context during kexec 2021-07-21 07:55:50 +02:00
cirrus firmware: cs_dsp: Clear core reset for cache 2022-01-05 13:53:53 +00:00
efi efi: stub: prefer mirrored memory for randomized allocations 2022-05-06 09:51:22 +02:00
google firmware: google: Properly state IOMEM dependency 2022-03-18 14:18:15 +01:00
imx firmware: imx: scu-pd: imx8q: add vpu mu resources 2022-02-20 14:55:32 +08:00
meson
psci firmware/psci: fix application of sizeof to pointer 2021-10-26 17:40:54 -05:00
smccc firmware: smccc: Fix check for ARCH_SOC_ID not implemented 2021-11-22 11:42:59 +01:00
tegra firmware: tegra: Fix error application of sizeof() to pointer 2021-10-18 16:04:01 +02:00
xilinx Char/Misc and other driver updates for 5.18-rc1 2022-03-28 12:27:35 -07:00
arm_scpi.c ARM SCMI updates for v5.14 2021-06-12 08:42:29 -07:00
arm_sdei.c ACPI: APEI: explicit init of HEST and GHES in apci_init() 2022-03-03 20:24:22 +01:00
dmi_scan.c
dmi-id.c firmware: dmi: Move product_sku info to the end of the modalias 2021-09-02 17:28:53 +02:00
dmi-sysfs.c firmware: dmi-sysfs: use default_groups in kobj_type 2022-01-06 14:28:22 +01:00
edd.c firmware: edd: remove empty default_attrs array 2022-01-06 14:28:42 +01:00
iscsi_ibft_find.c iscsi_ibft: fix warning in reserve_ibft_region() 2021-08-05 19:47:57 -04:00
iscsi_ibft.c iscsi_ibft: Fix isa_bus_to_virt not working under ARM 2021-09-02 16:22:00 -04:00
Kconfig ACPI: APEI: explicit init of HEST and GHES in apci_init() 2022-03-03 20:24:22 +01:00
Makefile firmware: cs_dsp: add driver to support firmware loading on Cirrus Logic DSPs 2021-09-27 13:00:42 +01:00
memmap.c firmware: memmap: use default_groups in kobj_type 2022-01-05 19:17:29 +01:00
pcdp.c
pcdp.h
qcom_scm-legacy.c firmware: qcom_scm: Fix kernel-doc function names to match 2021-04-06 21:25:49 -05:00
qcom_scm-smc.c firmware: qcom_scm: Reduce locking section for __get_convention() 2021-04-06 21:25:23 -05:00
qcom_scm.c firmware: qcom: scm: Add support for MC boot address API 2022-02-03 21:54:48 -06:00
qcom_scm.h firmware: qcom: scm: Add support for MC boot address API 2022-02-03 21:54:48 -06:00
qemu_fw_cfg.c firmware: qemu_fw_cfg: remove sysfs entries explicitly 2022-01-14 18:50:52 -05:00
raspberrypi.c firmware: raspberrypi: Fix a leak in 'rpi_firmware_get()' 2021-08-18 16:02:08 +02:00
scpi_pm_domain.c firmware: arm_scpi: Fix string overflow in SCPI genpd driver 2021-12-13 15:17:37 +01:00
stratix10-rsu.c
stratix10-svc.c firmware: stratix10-svc: add missing callback parameter on RSU 2022-03-18 14:12:52 +01:00
sysfb_simplefb.c Char/Misc and other driver updates for 5.18-rc1 2022-03-28 12:27:35 -07:00
sysfb.c drivers/firmware: consolidate EFI framebuffer setup for all arches 2021-07-21 12:04:56 +02:00
ti_sci.c firmware: ti_sci: inproper error handling of ti_sci_probe 2022-02-02 13:18:51 -06:00
ti_sci.h
trusted_foundations.c
turris-mox-rwtm.c mvebu drivers for 5.14 (part 1) 2021-06-23 18:57:40 -07:00