[PATCH v3 0/4] mkimage: validate image references in FIT configurations
Aristo Chen
jj251510319013 at gmail.com
Wed May 21 08:27:41 CEST 2025
Hi all,
I would like to apologize for the confusion caused by my v2 submission. Due
to an issue in how I sent the patches, the series did not appear correctly
grouped on Patchwork, making it harder to follow and review.
This series introduces a validation step in mkimage to ensure that all image
names referenced under the /configurations node of a FIT source (ITS) are
actually defined under the /images node.
### Motivation
When using mkimage to build FIT images, it's easy to mistakenly reference
nonexistent image nodes in configurations (e.g., referencing a missing `fdt` or
`firmware` node). Such issues are often not caught until runtime in U-Boot.
This series aims to catch these errors early during FIT image creation by
validating the configuration references in mkimage itself.
### Changes in v3
- Series re-sent correctly as a single thread without code changes
### Changes in v2
- Use `fdt_stringlist_count()` and `fdt_stringlist_get()` to handle stringlist properties cleanly
- Validate additional properties (`firmware`, `fpga`, `script`)
- Improve error messages by including the failing configuration and property name
- Refactor error propagation in `fit_handle_file()` as a separate commit
- Update all affected binman test DTS files to include the missing `atf` and `uboot` image nodes
- Add a new Python test case under `test/py/` to ensure mkimage correctly fails when an image is missing
Best regards,
Aristo Chen
Aristo Chen (4):
tools: mkimage: propagate error codes from fit_handle_file()
tools: mkimage: validate image references in FIT configurations
binman: test: Ensure all config references exist in /images node
test: py: add mkimage test for undefined image references in FIT
configs
test/py/tests/test_fit_mkimage_validate.py | 58 +++++++++++++++++++
tools/binman/test/170_fit_fdt.dts | 14 +++++
.../binman/test/220_fit_subentry_bintool.dts | 2 +-
tools/binman/test/223_fit_fdt_oper.dts | 14 +++++
tools/binman/test/284_fit_fdt_list.dts | 14 +++++
tools/binman/test/333_fit_fdt_dir.dts | 14 +++++
tools/binman/test/334_fit_fdt_compat.dts | 14 +++++
tools/binman/test/335_fit_fdt_phase.dts | 14 +++++
tools/binman/test/345_fit_fdt_name.dts | 14 +++++
tools/fit_image.c | 42 +++++++++++++-
tools/mkimage.c | 7 ++-
11 files changed, 203 insertions(+), 4 deletions(-)
create mode 100644 test/py/tests/test_fit_mkimage_validate.py
--
2.43.0
More information about the U-Boot
mailing list