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.

Reply via email to