On 10/20/20 2:27 AM, Reuben Dowle wrote: >>> What assumptions? Any code that assumes 4 byte alignment will also work >> on 8 byte alignment. >>> >>> Reverting is not the same as assuming ALIGN(...4) if incoming data is not >> already aligned to 4 bytes (as was the case when I saw crashes). >> >> Can the incoming data _not_ be 4 byte aligned ? >> How can this be replicated ? > > In my case I have an offline signing process (separate from build server to > keep secure boot keys safe), and this runs a script which also patches the > main uboot device tree with some extra properties, then updates main uboot > dtb with kernel signature, then finally updates the spl dtb with the uboot > signature. I think when mkimage patches the dtb with the signatures, this > results in the alignment issues (the unsigned bootloader direct from the > uboot make process does not experience this issue). > > Possibly using mkimage to add padding would also fix the alignment issue I > see at boot time. > >>> Interesting. I had not noticed the -B parameter previously. I had originally >> fixed this issue on an older version of uboot that did not have that option, >> and later rebased the fix to newer uboot. I would need to do some testing to >> see if this would fix it as well. >> >> I believe this is the way to handle this if you are building a custom DT for >> U- >> Boot -- just make sure it has the correct parameters. I think this is also >> related >> to: >> 20a154f95b ("mkimage: fit: Do not tail-pad fitImage with external data") > > I will look into this, although unfortunately I am very busy with other > projects right now so can't retest th
In that case, I would propose to revert this to fix existing boards in mainline, and if your tests are not successful, revisit this issue. I am rather sure what you are hitting is related to the mkimage patch above, there was a lengthy discussion on that topic before.