v2026.10.0
Sascha Hauer
s.hauer at pengutronix.de
Tue Oct 20 07:37:20 PDT 2026
Hi All,
Here comes barebox-2026.10.0
This release brings us Raspberry Pi 5 support along with a new Broadcom
SDHCI driver. Also new drivers: A UEFI USB driver which can UEFI
provided USB devices and a PCA9450 PMIC driver which is commonly used on
i.MX8 boards.
Ahmad has written a Threat model in which he has written down what we
consider a security issue and what not. It's worth a read, check the
documentation.
Barebox now has a OSS-Fuzz integration which lives in the tree and is
exercised in the CI. The outcome has already led to several patches
also in this release.
Also worth noting barebox can now not only register and initialize USB
devices, but also unregister them when they are gone. While previously
a 'usb' command would only add devices, it now syncs the barebox state
with the hardware state, so also unregisters devices.
As usual, see below for a full list of patches that went into this
release.
Have Fun!
Sascha
----------------------------------------------------------------
Ahmad Fatoum (186):
param: fix indirect call through incompatible function pointer
filetype: fix dead code in RISC-V barebox image detection
decompress_unlz4: fix heap-buffer-overflow on malformed input
decompress_bunzip2: fix heap-buffer-overflow on truncated input
decompress_bunzip2: fix heap overflow on long symbol runs
jsmn: fix out-of-bounds access in token navigation functions
partitions: efi: validate the GPT partition entry size
driver: report registration failure in add_generic_device() and friends
commands: nvmem: check device registration for failure
fs: ubootvarfs: fix tail relocation length computation
tlv: fix memory leak in __tlv_format() on duplicate parameter
image-fit: fix digest memory leak in fit_verify_signature()
treewide: remove dead stores and unused variables
nvmem: rmem: report invalid protection mode to the caller
sandbox: use /proc/self/exe instead of realpath(argv[0])
sandbox: allow use of alternative linkers like ld.lld
sandbox: support linking external $LIB_FUZZING_ENGINE
libfuzzer: disable options not required for fuzzing
tlsf: poison redzones and freed memory under host AddressSanitizer
fuzzing: use libc malloc for leak detection
Makefile: find the coverage profile in the build directory
Makefile: honour $(GENHTML) when generating the HTML report
Makefile: keep the HTML coverage report working with lcov 2.x
Documentation: fuzzing: correct the coverage report path
fuzzing: add automated coverage-check Makefile target
Documentation: fuzzing: fix fuzzer list and drop leak workaround
fuzz: allow accepting partial checksums and digests
fuzzing: add decompression fuzzer
fuzzing: exercise DTB flatten in fuzz_dtb
fuzzing: add DTB overlay fuzzer
fuzzing: add TLV parser fuzzer
fs: fat: add fuzz test for FAT filesystem
state: add fuzz tests for raw format
fuzz: fit: select verification mode from trailing data
fs: ubootvarfs: bound environment parsing to the mapped size
fs: ubootvarfs: let the filesystem own the parsed variables
fs: ubootvarfs: implement flush
efi: allow building the PE parser without the loader
efi: validate PE parser input ranges
efi: add PE parser fuzz test
of: fdt: remove dead code in fdt_machine_is_compatible
Documentation: fuzzing: list all fuzzers
state: fuzz the authenticated raw format as well
fuzzing: apply the overlay in the DTB overlay fuzzer
fuzz: fit: exercise the paths reached before authentication
console: add log_set_max_messages()
fuzz: don't buffer log messages while fuzzing
fuzz: set up a fuzz test's device before the first input
sandbox: os: honor CONFIG_DEBUG_INFO for compiler options
libfuzzer: config: enable CONFIG_DEBUG_INFO
fs: fat: propagate actual error code when opening/creating files
fs: fat: drop stray printf debug output
fs: fat: use fixed-width 32-bit FatFs types
fs: fat: flush metadata updates to the block device
RISC-V: configs: enable CONFIG_DEEP_PROBE_DEFAULT
RISC-V: reloc: ignore R_RISCV_NONE relocations
efi: payload: don't fail postcore initcall when image has no device path
efi: loader: accept NULL DevicePath in LoadImage when SourceBuffer is given
efi: devicepath: don't spin on hard drive nodes without a signature
efi: payload: iomem: use efi_uintn_t for the memory map key
efi: payload: env: don't execute unmatched network driver glob
fs: efivarfs: allow creating variables under any GUID in loader mode
partitions: efi: only warn about valid GPT entries beyond the limit
efi: loader: fix year and month reported by GetTime
efi: don't truncate EFI_MEMORY_RUNTIME when setting resource attributes
ARM: cpu: suppress arm_early_mmu_cache_invalidate if dcache enabled
ARM: v7r: factor out armv7r_cache_enable
serial: name the semihosting console
efi: loader: don't let VarToFile stop the variable file from being written
efi: loader: keep booting when the runtime variable store is unavailable
ARM: always call cache_invalidate_stale before enabling D-Cache
test: qemu: make synthesized features visible to the tests
ci: labgrid-pytest: give the arm64 target a framebuffer
ci: labgrid-pytest: run the security policy tests
test: network: don't tie the mock TFTP test to testfs
scripts: qemu_interactive: instantiate the virtio NIC explicitly
ARM: defconfigs: enable the PL061 GPIO and virtio net drivers for virt
input: gpio_keys: use dev_err_probe() for failed GPIO requests
block: partitions: don't report a missing medium as an error
fs: tftp: drop the leftover SELFTEST_TFTP references
ARM: dts: imx6q-sabrelite-qemu: disable unmodelled peripherals
ARM: rpi: validate the FDT magic before copying the VideoCore DT
RISC-V: defconfigs: enable the tftp command
test: make a few assertions actually assert something
test: check the boot log for errors, not just critical failures
test: fit: fail the dry-run test when bootm fails
test: smbios: drop the unused Debian ISO fixture
test: declare the network feature for the QEMU virt targets
ci: labgrid-pytest: build the test images with -Werror
video: bochs: don't report a missing ISA device as an initcall failure
ci: labgrid-pytest: activate the sandbox allyesconfig console explicitly
test: py: don't reintroduce line breaks in JSON command output
treewide: replace inappropriate printk
virtio: fix out-of-bounds scatterlist array access in virtqueue_add_{in,out}buf
efi: loader: disk: detect the file system type only once
video: efi_gop: reject Blt-only graphics output
clk: stm32f4: allow building under COMPILE_TEST and fix the build
clk: at91: sam9x60-pll: allow building under COMPILE_TEST and fix the build
clk: composite: return ERR_PTR on registration failure
clk: fixed-factor: use 64-bit arithmetic in recalc_rate
clk: imx: pllv3: use 64-bit arithmetic in fractional PLL recalc_rate
clk: divider: use 64-bit division in _div_round_up and divider_get_val
clk: divider: round up when searching for the best divider
clk: divider: fix calculation of maximal parent rate for a given divider
test: Containerfile: include EDK-II for RISC-V
fs: efi: don't leak the file info buffer in efifs_truncate()
kbuild: emit asm-offsets markers as .ascii strings
scripts: imx9image: fix warnings reported by clang
kbuild: disable -Wunused-but-set-variable after -Wall
kbuild: disable -Winitializer-overrides for clang
ARM64: cache: use WEAK() for v8_flush_l3_cache stub
common: boot: support passing an argument to a boot script
defaultenv: boot/devboot: add a devboot boot target
defaultenv: bin/devboot: clear linux.bootargs.devboot. namespace after boot
defaultenv: add optional devboot snippets under /env/devboot/
Documentation: state: drop stale backend-stridesize claims for circular storage
state: warn when direct buckets on block devices are not block aligned
Documentation: devicetree: barebox,state: require block aligned stride
ARM: stm32mp: lxa: align state backend-stridesize with other LXA boards
commands: bootm: remove -c and -s options
clock: make udelay(), get_time_ns() and is_timeout() weak aliases
ARM64: fall back to reading the counter directly in the PBL udelay()
scripts: clang-runtime-dir.sh: cope with a wrapped compiler
ci: pytest: hardcode Debian netinstall ISO version at single place
Documentation: fix inconsistent whitespace
Documentation: fix reST markup and formatting
Documentation: update outdated and incorrect information
Documentation: fix typos, grammar and capitalization
treewide: replace git.pengutronix.de addresses
sandbox: route malloc_usable_size() through the PBL glue again
test: self: free a zero-sized buffer with free_sensitive()
usb: dwc3: imx8mp: check dev_request_mem_resource return with IS_ERR
mtd: spi-nor: add GigaDevice GD25LQ128D
ARM: at91: include linux/types.h in aic.h
defaultenv: bin/devboot: propagate exit status of boot command
.mailmap: fix Bruno Produit's author name
block: ramdisk: keep num_blocks in sync with the size
fs: devfs: reject cdev aliases containing a slash
sandbox: keep stickypage in a memfd
sandbox: keep ASan's C++ runtime out of the libfuzzer link
scripts: add oss-fuzz.sh build script
Documentation: fuzzing: document OSS-Fuzz support
ci: exercise scripts/oss-fuzz.sh in GitHub Actions
Documentation: security: unnest hardening sections from dm-verity section
Documentation: security: clarify development key insecurity
Documentation: security: require signature verification to be pinned
Documentation: security: document trust for builtin devicetree
Documentation: security: clarify the environment section
Documentation: security: describe shell and environment as trust boundary
Documentation: security: document the barebox update attack surface
Documentation: security: update for barebox dm-verity support
Documentation: security: add anchors for the different sections
Documentation: define a barebox threat model
README, SECURITY.md: link the threat model and security considerations
ARM: i.MX8MP: variscite-dt8mcustomboard: use i.MX8MP early clock init
net: 9p: client: don't leave trans_tag uninitialized
net: 9p: client: don't wait forever for a flush
commands: mkdir: create directories with mode 0777
usb: gadget: u_serial: don't wait for a host that isn't reading
sandbox: console: only look for ^\q on consoles used for input
console: don't unregister a console whose device file is open
nvmem: core: default to a stride and word size of 1
partitions: efi: print LBAs as unsigned
of: fdt: fix out-of-bounds read of the root node name
decompress_bunzip2: fix signed overflow in get_bits()
clk: imx: pll14xx: enable PLL output in clk_pll1416x_early_set_rate()
ARM: i.MX8MM/8MN: clock NOC from SYS_PLL3 in early clock init
ARM: i.MX8M: feed A53 cores from ARM PLL via CORE_SEL_CFG in early clock init
ARM: i.MX8M: source dram_apb from sys_pll2_200m in early clock init
ARM: i.MX8M: order early clock init like U-Boot
ARM: rockchip: rk3568-qnap-ts433eu: re-enable combphy0, disable sata2
ARM: rpi: look up emmc2bus by alias for dma-ranges fixup
of: base: use default bus match table when populating /firmware
Documentation: migration-guides: add heading for v2026.09.0
defaultenv: bin/devboot: fix typo in final exit
defaultenv: devboot: use rsinit.bind_modules to bind mount modules
Documentation: devicetree: document overlays in a FIT image
test: py: add test for FIT images in global.of.overlay.path
ARM: zynq: reduce barebox-avnet-zedboard.img size by 21K
efi: payload: fix inverted efi.secure_boot and efi.secure_mode
treewide: fix variable names in BAREBOX_MAGICVAR
treewide: add missing BAREBOX_MAGICVAR for global variables
treewide: add BAREBOX_MAGICVAR for parameters of fixed-name devices
Documentation: turn more magic variable literals into references
ARM: dts: imx93-frdm: allow dummy supplies for the PMIC regulators
ARM: dts: zii-imx8mq-ultra: move i210 below the PCIe root port
Akari Tsuyukusa (1):
scripts/dtc: add fdtoverlay to gitignore
Alexander Shiyan (2):
serial: ns16550: fix memory leak of linux_earlycon_name on probe failure
amba: simplify amba_lookup function
Andrei Lalaev (6):
mci: add driver for Broadcom SDHCI
ARM: rpi: add Raspberry Pi 5 support
Documentation: bcm283x: add Raspberry Pi 5 support
arm: dts: bcm2712-rpi: specify clock frequency for uart
arm: dts: bcm2712-rpi: disable wifi SDIO
bcm283x: debug_ll: add Raspberry Pi 5 UART support
Fabian Pflug (6):
efi: usb: add header for usb-efi
usb: core: make usb_set_maxpacket_ep public
drivers: usb: host: efi: add efi io driver
efi: guid: add guid for usb host controller 2
test: x86: add test for uefi usb io
drivers: usb: add usb_add_device to add a device
Florijan Plohl (2):
defaultenv: apply external environment after board overlays again
ARM: boards: phytec-som-imx6: Add KSZ9131 PHY support
Gabriel Arnautu (2):
FIT: return error if signature verification is disabled
envfs: validate inode bounds before extraction
Michael Tretter (4):
arm: socfpga: iossm: remove unused num_port
arm: socfpga: iossm: fix macro
arm: socfpga: iossm: refactor register access
arm: socfpga: iossm: wait for PLL lock from handoff table
Sascha Hauer (58):
extlinux: make variable name consistent
fs: devfs: remove aliases from the list when freeing them
fs: remove the default automount when a cdev is removed
fs: devfs: propagate cdev aliases to the partitions
fs: devfs: make the default automount reachable under cdev aliases
usb: don't report device removal after the device name is gone
fs: devfs: count an open partition as an open device
block: propagate errors from blockdevice_unregister()
fs: add cdev_umount_all()
block: add blockdevice_unregister_removed()
usb: storage: tear the disk down properly on disconnect
usb: hub: cancel pending port scans of a removed device
usb: reuse the addresses of removed devices
usb: hub: detect disconnected devices
usb: don't keep a dangling root device on enumeration failure
usb: hub: limit the number of ports to USB_MAXCHILDREN
usb: detect unplugged devices on transfer errors
usb: storage: stop talking to a device that is gone
dts: update to v7.3-rc1
fs: track streaming and unknown-size files in dedicated inode fields
fs: reject inodes whose size the superblock cannot address
x86: efi_defconfig: enable the EFI USB I/O protocol driver
mci: atmel_mci: improve timeout error message
mci: wait for card to leave programming state after block writes
Release v2026.10.
Stefan Kerkmann (1):
regulator: pca9450: add pmic driver
Stephano Cetola (2):
extlinux: recognize LINUX as an alias for KERNEL
extlinux: resolve absolute paths against the partition root
Ulrich Ölmann (2):
include: ocotp.h: add missing include
commands: sconfig: fix command description
--
Pengutronix e.K. | |
Steuerwalder Str. 21 | http://www.pengutronix.de/ |
31137 Hildesheim, Germany | Phone: +49-5121-206917-0 |
Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |
More information about the barebox
mailing list