[PATCH master 00/39] efi: fix bugs
Ahmad Fatoum
a.fatoum at pengutronix.de
Mon Feb 16 00:44:00 PST 2026
While adding new tests for the barebox EFI support, a number of issues
were unearthed. Additionally, I ran Claude Code to determine suspicious
looking patterns and it found a number of extra issues, mostly in error
paths.
Except for patches 36, 37 and 38, all other patches affect only efi/,
so I hope it's ok to merge into master after review.
Ahmad Fatoum (39):
efi: fix potential NULL dereference
efi: trace: fix EFI_EXIT2 to not evaluate output value on error
efi: loader: fix CRC32 computation in table header update
efi: loader: fix pointer vs value comparison in free_efi_only
efi: loader: fix disk write return value check
efi: loader: fix EFI_ENTRY/EFI_EXIT ordering in efi_set_time
efi: runtime: fix missing EFI_EXIT in efirt_query_variable_info
efi: loader: fix file handle leak in efi_file_from_path
efi: loader: fix missing field init in deferred protocol add
efi: loader: fix memory leak in efi_var_to_file
efi: loader: fix multiple bugs in efi_loader_bootm
efi: loader: fix return type and memory leak in efi_smbios_register
efi: loader: fix memory leak in efi_dp_split_file_path
efi: loader: fix HII string table realloc and memset bugs
efi: loader: fix format specifier and missing EFI_EXIT in boot
services
efi: fix unreachable free in efi_set_variable_printf
efi: payload: fix missing NULL check after read_file in handover
efi: payload: fix EFI page leak in efi_read_file
efi: payload: fix inverted error check after state_load
efi: fix out-of-bounds read in device path unknown node printing
efi: payload: fix wrong page count in efi_unload_fdt
efi: fix out-of-bounds read in 1394 device path printing
efi: loader: initialize block IO ops before installing protocol
efi: runtime: fix variable store bounds check to account for alignment
efi: fix Fibre Channel device path type vs sub_type comparison
efi: loader: fix file open mode always setting O_RDWR
efi: loader: fix NULL pointer dereference when deleting root volume
handle
efi: loader: fix memory leak of variable file buffer on success
efi: loader: fix memory leak in efi_var_collect on buffer overflow
efi: fix signed format specifier for uint64_t timestamp
efi: payload: fix possible memory leaks during init
efi: payload: protect against missing state alias
efi: loader: fix stale return value in console out-of-memory path
efi: loader: fix off-by-one in FAT codepage translation
efi: loader: fix co-existence with EFI payload support
efi: payload: skip ELF MMU handling when booted via stub
efi: payload: register dummy device tree
console: introduce helper for printing binary buffers as-is
efi: loader: protocol: console: don't turn LF into CRLF
common/console.c | 31 +++++++++++++++++++++++
drivers/of/base.c | 8 ++++--
efi/devicepath.c | 6 ++---
efi/efivar-filename.c | 3 +++
efi/efivar.c | 7 ++++--
efi/loader/boot.c | 4 +--
efi/loader/bootm.c | 22 ++++++++--------
efi/loader/defaultvars.c | 4 +++
efi/loader/devicepath.c | 4 ++-
efi/loader/efi_var_common.c | 4 ++-
efi/loader/efi_var_file.c | 5 ++--
efi/loader/memory.c | 2 +-
efi/loader/protocols/console.c | 32 +++++++++---------------
efi/loader/protocols/disk.c | 26 +++++++++----------
efi/loader/protocols/file.c | 19 +++++++++++---
efi/loader/protocols/hii.c | 5 ++--
efi/loader/protocols/unicode_collation.c | 2 +-
efi/loader/runtime.c | 4 +--
efi/loader/setup.c | 8 +++++-
efi/loader/smbios.c | 3 ++-
efi/loader/table.c | 1 +
efi/payload/boarddata.c | 11 ++++++++
efi/payload/bootm.c | 2 +-
efi/payload/entry-multi.c | 13 ++++++++++
efi/payload/handover.c | 16 +++++++++---
efi/payload/image.c | 4 ++-
efi/payload/init.c | 12 +++++++--
efi/runtime/efi_var_mem.c | 4 +--
efi/runtime/services.c | 4 +--
include/console.h | 1 +
include/efi/loader/trace.h | 10 +++++---
include/efi/mode.h | 6 ++++-
pbl/mmu.c | 4 +++
33 files changed, 203 insertions(+), 84 deletions(-)
--
2.47.3
More information about the barebox
mailing list