On Sat Jan 10, 2026 at 12:30 AM IST, Beleswar Padhi wrote:
> When CONFIG_SPL_MULTI_DTB_FIT is enabled, multiple device trees are
> packed inside the multidtb.fit FIT image. While the individual DTBs
> and the FIT image start address are 8-byte aligned, the DTBs embedded
> within the FIT image are not guaranteed to maintain 8-byte alignment.
>
> This misalignment causes -FDT_ERR_ALIGNMENT failure in
> setup_multi_dtb_fit() when locating the next available DTB within the
> FIT blob and setting gd->fdt_blob, because of the recent libfdt
> hardening since commit 0535e46d55d7 ("scripts/dtc: Update to upstream
> version v1.7.2-35-g52f07dcca47c")Is a fixes tag justified in this case? Technically the commit 0535e46d55d7 did cause the regression[1]. [1]: https://lore.kernel.org/u-boot/[email protected]/ > > Add the -B 0x8 flag to mkimage to enforce 8-byte alignment for all DTB > entries within the multidtb FIT image. > > Signed-off-by: Beleswar Padhi <[email protected]> > --- > scripts/Makefile.xpl | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/scripts/Makefile.xpl b/scripts/Makefile.xpl > index 5e65d7b2498..1183f5180ba 100644 > --- a/scripts/Makefile.xpl > +++ b/scripts/Makefile.xpl > @@ -602,7 +602,7 @@ $(SHRUNK_ARCH_DTB): $$(patsubst $(obj)/dts/%, > $(dt_dir)/%, $$@) $(dir $(SHRUNK_A > targets += $(SPL_OF_LIST_TARGETS) > > MKIMAGEFLAGS_$(SPL_BIN).multidtb.fit = -f auto -A $(ARCH) -T firmware -C > none -O u-boot \ > - -n "Multi DTB fit image for $(SPL_BIN)" -E \ > + -n "Multi DTB fit image for $(SPL_BIN)" -B 0x8 -E \ The patch looks alright to me though I wonder if as a next step we should put the logic to ensure device-tree alignment directly into mkimage since it already knows which blob is the device-tree (the one passed with -b option)? Reviewed-by: Anshul Dalal <[email protected]> > $(patsubst %,-b %,$(SHRUNK_ARCH_DTB)) > > $(obj)/$(SPL_BIN).multidtb.fit: /dev/null $(SHRUNK_ARCH_DTB) FORCE

