lkml.org 
[lkml]   [2019]   [Mar]   [22]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 4.14 162/183] x86/unwind/orc: Fix ORC unwind table alignment
    Date
    4.14-stable review patch.  If anyone has any objections, please let me know.

    ------------------

    From: Josh Poimboeuf <jpoimboe@redhat.com>

    commit f76a16adc485699f95bb71fce114f97c832fe664 upstream.

    The .orc_unwind section is a packed array of 6-byte structs. It's
    currently aligned to 6 bytes, which is causing warnings in the LLD
    linker.

    Six isn't a power of two, so it's not a valid alignment value. The
    actual alignment doesn't matter much because it's an array of packed
    structs. An alignment of two is sufficient. In reality it always gets
    aligned to four bytes because it comes immediately after the
    4-byte-aligned .orc_unwind_ip section.

    Fixes: ee9f8fce9964 ("x86/unwind: Add the ORC unwinder")
    Reported-by: Nick Desaulniers <ndesaulniers@google.com>
    Reported-by: Dmitry Golovin <dima@golovin.in>
    Reported-by: Sedat Dilek <sedat.dilek@gmail.com>
    Signed-off-by: Josh Poimboeuf <jpoimboe@redhat.com>
    Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
    Tested-by: Sedat Dilek <sedat.dilek@gmail.com>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Cc: stable@vger.kernel.org
    Link: https://github.com/ClangBuiltLinux/linux/issues/218
    Link: https://lkml.kernel.org/r/d55027ee95fe73e952dcd8be90aebd31b0095c45.1551892041.git.jpoimboe@redhat.com
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

    ---
    include/asm-generic/vmlinux.lds.h | 2 +-
    1 file changed, 1 insertion(+), 1 deletion(-)

    --- a/include/asm-generic/vmlinux.lds.h
    +++ b/include/asm-generic/vmlinux.lds.h
    @@ -696,7 +696,7 @@
    KEEP(*(.orc_unwind_ip)) \
    VMLINUX_SYMBOL(__stop_orc_unwind_ip) = .; \
    } \
    - . = ALIGN(6); \
    + . = ALIGN(2); \
    .orc_unwind : AT(ADDR(.orc_unwind) - LOAD_OFFSET) { \
    VMLINUX_SYMBOL(__start_orc_unwind) = .; \
    KEEP(*(.orc_unwind)) \

    \
     
     \ /
      Last update: 2019-03-22 14:10    [W:4.139 / U:0.588 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site