[BUG] fdt_pack_reg in common/fdt_support.c can cause crash from unaligned access

Sam Protsenko semen.protsenko at linaro.org
Wed Mar 27 07:18:10 CET 2024


[snip]

>
> So I suspect the answer might be that we have a problem here, on ARM.
>
> One solution might be to add a helper like put_unaligned_be64() which
> uses a CONFIG to indicate whether 32-bit-aligned 64-bit read/write is
> supported, and either just does the write, or calls
> put_unaligned_be64().
>
> Another option might be to adjust fdt_pack_reg() to write the cells
> one at a time.
>

Hi Simon, David,

Just stumbled upon the same issue on E850-96 board when trying to boot
the kernel using `bootm' command. It's an ARM64 board (Exynos850 SoC).
Did you by chance find any solution to this? Looks to me it actually
needs some sort of fix. I wonder why more people don't see this error
on other ARM64 board. Anyways, would be happy to help out fixing it,
so please let me know if you have any advice on this.

Thanks!

> Regards,
> Simon


More information about the U-Boot mailing list