[PATCH v2 0/7] mkimage: Detect FIT image load address overlaps and fix related test/DTS issues

Aristo Chen jj251510319013 at gmail.com
Sun Sep 14 12:59:25 CEST 2025


This patch series enhances FIT image robustness by adding **memory
region overlap detection** to `mkimage` and fixing 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, preventing 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.

4.  Documentation: Added guidance for developers on how to
    determine ELF load addresses using readelf, linker scripts,
    and objdump when working with binman FIT images.

Impact:

This series improves FIT image reliability by catching overlaps
at build time, helping developers resolve issues before runtime
failures.

### Changes in v2:
- Fixed typo in test case name (testFitSignNoSignatureNodes)
- Added fixes for additional k3-am642 DTS files
- Added comprehensive documentation for ELF load address determination
- Enhanced copyright notice in elf_sections_tee.lds

Aristo Chen (7):
  binman: Fix typo for the test case name
  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
  doc: binman: Add guidance for determining ELF load addresses

 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 | 10 +--
 arch/arm/dts/k3-am62a-sk-binman.dtsi          |  4 +-
 arch/arm/dts/k3-am642-phycore-som-binman.dtsi |  6 +-
 test/py/tests/test_fit_mkimage_validate.py    | 65 ++++++++++++++
 tools/binman/entries.rst                      | 18 ++++
 tools/binman/ftest.py                         |  4 +-
 .../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        | 32 +++++++
 tools/fit_image.c                             | 90 ++++++++++++++++++-
 tools/mkimage.c                               |  3 +-
 17 files changed, 257 insertions(+), 48 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