[U-Boot] [PATCH] part_efi: fix protective_mbr struct allocation

Lukasz Majewski
2014-02-12T20:45:41Z

Hi Hector,

> Hi Albert,
>
> On 02/12/2014 05:31 PM, Albert ARIBAUD wrote:
> > Hi Hector,
> >
> > On Wed, 12 Feb 2014 17:24:26 +0100, "Palacios, Hector"
> > <Hector.Palacios@digi.com> wrote:
> >
> >> Unfortunately this is causing unaligned access in my i.MX6.
> >> I'm specifically passing the -mno-unaligned-access when building
> >> this file so I guess it has to do with the macro and the packed
> >> structure.
> >
> > I don't think this is due to packed structures, because
> > -mno-unaligned-access tells the compiler that unaligned fields in
> > packed structures should be accesses by breaking the unaligned
> > access into smaller aligned ones, so this would not cause an
> > alignment abort.
> >
> > What can cause an alignment abort despite -mno-unaligned-access is
> > dereferencing a badly aligned pointer, and this is probably what
> > happens here.
>
> Oh, the macro ALLOC_CACHE_ALIGN_BUFFER is returning a correctly
> aligned value for the pointer: 0x4FD33BA0
> The problem is we don't have to free() the pointer anymore at the end
> of the function.
>
> I'll repost the patch

I think, that the patch for fixing the unaligned access in this
function has already been posted by Piotr Wilczek. We have experienced
similar issues with Samsung's Exynos4 based targets.

[PATCH V2] disk:efi: avoid unaligned access on efi partition

Despite its disappearance from patchwork it shall be available at
mailing list archive.

The v1 can be found at the following link:
http://patchwork.ozlabs.org/patch/282753/

Inclusion of v2 has been postponed since there was a discussion if we
shall allow unaligned access (-mno-unaligned-access flag) at armv7
(after patches posted by Tom).

As fair as I can tell, we will keep the current approach so, I think
that Tom will be willing to pull this patch (v2) now.

Best regards,
Lukasz Majewski
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 198 bytes
Desc: not available
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20140212/3b2b8e7f/attachment.pgp>