Thread (6 messages) 6 messages, 3 authors, 2017-10-30

[PATCH] ARM: add a private asm/unaligned.h

From: arnd@arndb.de (Arnd Bergmann)
Date: 2017-10-30 15:09:49
Also in: lkml

Possibly related (same subject, not in this thread)

On Fri, Oct 27, 2017 at 5:27 PM, Russell King - ARM Linux
[off-list ref] wrote:
There's three things wrong, all of which I have patches to address:

1. The decompressor code reading the image data sometimes issues unaligned
   reads.  Some compilers get this wrong and cause an abort.  Arnds patch
   addresses this.

2. Additional sections can appear in the zImage binary which adds extra
   bytes on the end of the image.  Concatenating the zImage with the
   extra bytes onto a DTB is the same thing as doing this:

        cat zImage extrabytes foo.dtb > image

   and the decompressor tolerates no additional bytes between the
   _official_ end of the zImage and the DTB.  I've added a patch which
   detects this situation and fails the kernel build when it happens.

3. Ard's patch "efi/libstub: arm: omit sorting of the UEFI memory map"
   gets rid of the additional sections that (a) change the alignment
   of the compressed data, and (b) add additional unexpected bytes on
   the end of zImage.
It's possible that we still need yet another patch to address the gcc bug that
Alex Graf found, i.e. https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82445

Without the latest gcc, we might still get into a situation in which we get
an unaligned strd when compiling for armv5te or armv6 with gcc-7.[012].
As someone mentioned in the bug report, that problem doesn't seem
to happen with gcc-6 or -mtune=xscale, or with gcc-7 -march=armv7-a.

       Arnd
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help