linux/drivers/firmware
Ard Biesheuvel 8332847875 efi/libstub: Avoid physical address 0x0 when doing random allocation
commit cb16dfed00 upstream.

Ben reports spurious EFI zboot failures on a system where physical RAM
starts at 0x0. When doing random memory allocation from the EFI stub on
such a platform, a random seed of 0x0 (which means no entropy source is
available) will result in the allocation to be placed at address 0x0 if
sufficient space is available.

When this allocation is subsequently passed on to the decompression
code, the 0x0 address is mistaken for NULL and the code complains and
gives up.

So avoid address 0x0 when doing random allocation, and set the minimum
address to the minimum alignment.

Cc: <stable@vger.kernel.org>
Reported-by: Ben Schneider <ben@bens.haus>
Tested-by: Ben Schneider <ben@bens.haus>
Reviewed-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
History 2025-03-28 22:03:30 +01:00
..
arm_ffa firmware: arm_ffa: Fix the race around setting ffa_dev->properties 2024-12-27 14:01:57 +01:00
arm_scmi firmware: arm_scmi: imx: Correct tx size of scmi_imx_misc_ctrl_set 2025-02-27 04:30:19 -08:00
broadcom MIPS: BCM47XX: remove MODULE_LICENSE in non-modules 2023-04-13 13:13:51 -07:00
cirrus firmware: cs_dsp: Remove async regmap writes 2025-03-07 18:25:31 +01:00
efi efi/libstub: Avoid physical address 0x0 when doing random allocation 2025-03-28 22:03:30 +01:00
google firmware: google: Unregister driver_info on failure 2024-12-05 14:01:16 +01:00
imx firmware: imx-scu: fix OF node leak in .probe() 2025-03-28 22:03:24 +01:00
meson firmware: meson_sm: add missing MODULE_DESCRIPTION() macro 2024-06-24 10:08:53 +02:00
microchip firmware: microchip: auto-update: fix poll_complete() to not report spurious timeout errors 2024-10-17 17:13:30 +01:00
psci firmware: psci: Fix return value from psci_system_suspend() 2024-06-20 22:58:40 +02:00
qcom firmware: qcom: uefisecapp: fix efivars registration race 2025-03-28 22:03:30 +01:00
smccc arm64: smccc: Remove broken support for SMCCCv1.3 SVE discard hint 2024-11-07 11:18:52 +00:00
tegra firmware: tegra: bpmp: Use scoped device node handling to simplify error paths 2024-08-27 15:58:38 +02:00
xilinx firmware: xilinx: Move FIRMWARE_VERSION_MASK to xlnx-zynqmp.h 2024-06-03 13:07:56 +02:00
arm_scpi.c firmware: arm_scpi: Check the DVFS OPP count returned by the firmware 2024-12-05 14:01:34 +01:00
arm_sdei.c firmware: arm_sdei: Fix the input parameter of cpuhp_remove_state() 2024-10-23 16:19:03 +01:00
dmi-id.c firmware: dmi-id: add a release callback function 2024-04-08 09:34:24 +02:00
dmi-sysfs.c firmware: dmi-sysfs: handle HAS_IOPORT=n 2023-05-31 19:17:29 +01:00
dmi_scan.c move asm/unaligned.h to linux/unaligned.h 2024-10-02 17:23:23 -04:00
edd.c edd: make kobj_type structure constant 2023-03-09 18:07:33 +01:00
iscsi_ibft.c iscsi_ibft: Fix UBSAN shift-out-of-bounds warning in ibft_attr_show_nic() 2025-03-22 12:54:14 -07:00
iscsi_ibft_find.c iscsi_ibft: Fix finding the iBFT under Xen Dom 0 2023-06-26 07:47:11 +02:00
Kconfig firmware: iscsi_ibft: fix ISCSI_IBFT Kconfig entry 2025-02-17 10:04:58 +01:00
Makefile Core: 2024-01-12 13:54:25 -08:00
memmap.c firmware: memmap: use default_groups in kobj_type 2022-01-05 19:17:29 +01:00
mtk-adsp-ipc.c firmware: mtk-adsp-ipc: Convert to platform remove callback returning void 2024-01-04 17:01:14 +01:00
qemu_fw_cfg.c fw_cfg: Constify struct kobj_type 2024-09-25 07:07:44 -04:00
raspberrypi.c firmware: raspberrypi: Improve timeout warning 2024-08-13 13:21:28 -07:00
stratix10-rsu.c firmware: stratix10-rsu: Convert to platform remove callback returning void 2024-01-04 17:01:15 +01:00
stratix10-svc.c firmware: stratix10-svc: Convert to platform remove callback returning void 2024-01-04 17:01:15 +01:00
sysfb.c firmware/sysfb: Disable sysfb for firmware buffers with unknown parent 2024-09-26 08:22:20 +02:00
sysfb_simplefb.c firmware/sysfb: Set firmware-framebuffer parent device 2024-02-14 10:09:17 +01:00
ti_sci.c firmware: ti_sci: Unconditionally register reset handler 2024-04-09 11:05:10 -05:00
ti_sci.h firmware: ti_sci: fix TISCI protocol URL link 2024-06-27 17:44:48 -05:00
trusted_foundations.c firmware: tf: Different way of L2 cache enabling after LP2 suspend 2020-05-06 18:27:26 +02:00
turris-mox-rwtm.c [tree-wide] finally take no_llseek out 2024-09-27 08:18:43 -07:00