[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