提交 6853251a 编写于 作者: J Josh Poimboeuf 提交者: Xie XiuQi

x86/unwind/orc: Fix ORC unwind table alignment

mainline inclusion
from mainline-5.1-rc1
commit f76a16adc485699f95bb71fce114f97c832fe664
category: bugfix
bugzilla: 12154
CVE: NA

-------------------------------------------------
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: ee9f8fce ("x86/unwind: Add the ORC unwinder")
Reported-by: NNick Desaulniers <ndesaulniers@google.com>
Reported-by: NDmitry Golovin <dima@golovin.in>
Reported-by: NSedat Dilek <sedat.dilek@gmail.com>
Signed-off-by: NJosh Poimboeuf <jpoimboe@redhat.com>
Signed-off-by: NThomas Gleixner <tglx@linutronix.de>
Tested-by: NSedat 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

(cherry picked from commit f76a16adc485699f95bb71fce114f97c832fe664)
Signed-off-by: NZhen Lei <thunder.leizhen@huawei.com>
Reviewed-by: NYang Yingliang <yangyingliang@huawei.com>
Signed-off-by: NYang Yingliang <yangyingliang@huawei.com>
上级 710f81eb
...@@ -727,7 +727,7 @@ ...@@ -727,7 +727,7 @@
KEEP(*(.orc_unwind_ip)) \ KEEP(*(.orc_unwind_ip)) \
__stop_orc_unwind_ip = .; \ __stop_orc_unwind_ip = .; \
} \ } \
. = ALIGN(6); \ . = ALIGN(2); \
.orc_unwind : AT(ADDR(.orc_unwind) - LOAD_OFFSET) { \ .orc_unwind : AT(ADDR(.orc_unwind) - LOAD_OFFSET) { \
__start_orc_unwind = .; \ __start_orc_unwind = .; \
KEEP(*(.orc_unwind)) \ KEEP(*(.orc_unwind)) \
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册