• Oskar Schirmer's avatar
    flat: fix data sections alignment · c3dc5bec
    Oskar Schirmer authored
    The flat loader uses an architecture's flat_stack_align() to align the
    stack but assumes word-alignment is enough for the data sections.
    
    However, on the Xtensa S6000 we have registers up to 128bit width
    which can be used from userspace and therefor need userspace stack and
    data-section alignment of at least this size.
    
    This patch drops flat_stack_align() and uses the same alignment that
    is required for slab caches, ARCH_SLAB_MINALIGN, or wordsize if it's
    not defined by the architecture.
    
    It also fixes m32r which was obviously kaput, aligning an
    uninitialized stack entry instead of the stack pointer.
    
    [akpm@linux-foundation.org: coding-style fixes]
    Signed-off-by: default avatarOskar Schirmer <os@emlix.com>
    Cc: David Howells <dhowells@redhat.com>
    Cc: Russell King <rmk@arm.linux.org.uk>
    Cc: Bryan Wu <cooloney@kernel.org>
    Cc: Geert Uytterhoeven <geert@linux-m68k.org>
    Acked-by: default avatarPaul Mundt <lethal@linux-sh.org>
    Cc: Greg Ungerer <gerg@uclinux.org>
    Signed-off-by: default avatarJohannes Weiner <jw@emlix.com>
    Acked-by: default avatarMike Frysinger <vapier.adi@gmail.com>
    Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
    Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
    c3dc5bec
binfmt_flat.c 26.8 KB