[PATCH v1 0/5] mkimage: Detect FIT image load address overlaps and fix related test/DTS issues
Aristo Chen
jj251510319013 at gmail.com
Tue Jul 29 14:48:51 CEST 2025
This patch series enhances FIT image robustness. It adds **memory
region overlap detection** to `mkimage` and fixes existing overlaps
in DTS files and `binman` tests.
The primary goal is to prevent runtime memory corruption from
conflicting load addresses in FIT images.
Key Changes:
1. `mkimage` Overlap Detection: A new validation in
`tools/fit_image.c` checks for overlapping load addresses
within FIT configurations. `mkimage` now errors out with
detailed info on conflicts. This prevents bad FIT image
creation.
2. New Test Case: A Python test verifies the new detection.
It intentionally creates an overlap (kernel and FDT)
to confirm correct error handling.
3. Fixes for Existing Overlaps:
* Board DTS (k3-am6xx): Adjusted load addresses for TI
firmware stubs to prevent conflicts. This resolves
previously undetected overlaps.
* `binman` Tests: Fixed several tests. U-Boot load
addresses were shifted to avoid ATF conflicts. A new
linker script for TEE ELF sections ensures distinct
memory layouts.
Impact:
This series improves FIT image reliability. Catching overlaps
at build time helps developers resolve issues before runtime
failures.
Aristo Chen (5):
binman: Fix FIT image overlap issues
binman: Fix FIT image overlap issues for testFitSplitElf
arm: dts: k3-am6xx: Fix FIT image memory overlap in binman
configurations
tools: mkimage: detect overlapping load regions in FIT configurations
test: Add test case for FIT image load address overlap detection
arch/arm/dts/k3-am625-phycore-som-binman.dtsi | 22 +++---
arch/arm/dts/k3-am625-sk-binman.dtsi | 16 ++--
.../dts/k3-am625-verdin-wifi-dev-binman.dtsi | 16 ++--
arch/arm/dts/k3-am62a-phycore-som-binman.dtsi | 22 +++---
arch/arm/dts/k3-am62a-sk-binman.dtsi | 16 ++--
arch/arm/dts/k3-am642-phycore-som-binman.dtsi | 6 +-
test/py/tests/test_fit_mkimage_validate.py | 65 ++++++++++++++++
tools/binman/ftest.py | 2 +-
.../test/276_fit_firmware_loadables.dts | 4 +-
tools/binman/test/340_fit_signature.dts | 4 +-
tools/binman/test/342_fit_signature.dts | 4 +-
tools/binman/test/Makefile | 6 +-
tools/binman/test/elf_sections_tee.c | 1 +
tools/binman/test/elf_sections_tee.lds | 31 ++++++++
tools/fit_image.c | 78 +++++++++++++++++++
tools/mkimage.c | 3 +-
16 files changed, 238 insertions(+), 58 deletions(-)
create mode 120000 tools/binman/test/elf_sections_tee.c
create mode 100644 tools/binman/test/elf_sections_tee.lds
--
2.43.0
More information about the U-Boot
mailing list