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