[PATCH] Revert "Fix data abort caused by mis-aligning FIT data"
Marek Vasut
marex at denx.de
Tue Oct 20 11:05:40 CEST 2020
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.
More information about the U-Boot
mailing list