[ipxe-devel] [PATCH 1/1] [efi] avoid unaligned read in efi_devpath_end()

Heinrich Schuchardt xypron.glpk at gmx.de
Wed Mar 28 19:10:47 UTC 2018


On 03/28/2018 09:02 PM, Michael Brown wrote:
> On 28/03/18 19:49, Heinrich Schuchardt wrote:
>> The old coding resulted in a "data abort" when compiled with gcc 6.3 for
>> armhf and run on an Allwinner A20 SOC.
>>
>> The unaligned access occured when path->Length was on an uneven address.
> 
> There's no way that the code:
> 
>> -             ( ( path->Length[1] << 8 ) | path->Length[0] ) );
> 
> should ever be able to produce an unaligned access abort, since it just
> dereferences individual bytes.  What do you see if you disassemble the
> object code?
> 
> Michael
> 
Hello Michael,

I put a DGBC before and after the access. And this is were the interrupt
occurs.

I do not know how to disassemble the object code. Which files do you need?

Best regards

Heinrich



More information about the ipxe-devel mailing list