On 1/22/26 6:45 PM, Tom Rini wrote:
On Thu, Jan 22, 2026 at 10:52:47PM +0530, 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")
The mkimage tool already supports enforcing this alignment via the -B
option, but users would have to specify it explicitly. This change
makes 8-byte alignment the default when using -b.
Reported-by: Anshul Dalal <[email protected]>
Closes: https://lore.kernel.org/u-boot/[email protected]
Fixes: 0535e46d55d7 ("scripts/dtc: Update to upstream version
v1.7.2-35-g52f07dcca47c")
Signed-off-by: Beleswar Padhi <[email protected]>
Tested-by: Tom Rini <[email protected]>
Doesn't this enable 8-byte alignment for everything in case a DT is
specified on mkimage command line ? That doesn't seem right ?
If I do mkimage -f auto -b ...dtb ... , then I only want the DTB to be
8-byte aligned, all the other blobs can be 4 byte aligned just fine .