android_kernel_xiaomi_sm8450/tools/objtool
Sami Tolvanen 730191a098 objtool: Preserve special st_shndx indexes in elf_update_symbol
[ Upstream commit 5141d3a06b2da1731ac82091298b766a1f95d3d8 ]

elf_update_symbol fails to preserve the special st_shndx values
between [SHN_LORESERVE, SHN_HIRESERVE], which results in it
converting SHN_ABS entries into SHN_UNDEF, for example. Explicitly
check for the special indexes and ensure these symbols are not
marked undefined.

Fixes: ead165fa1042 ("objtool: Fix symbol creation")
Signed-off-by: Sami Tolvanen <samitolvanen@google.com>
Acked-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Tested-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Signed-off-by: Kees Cook <keescook@chromium.org>
Link: https://lore.kernel.org/r/20220908215504.3686827-17-samitolvanen@google.com
Signed-off-by: Sasha Levin <sashal@kernel.org>
2022-10-26 13:25:18 +02:00
..
arch/x86 x86,objtool: Create .return_sites 2022-07-25 11:26:36 +02:00
Documentation objtool: Support stack layout changes in alternatives 2022-07-25 11:26:06 +02:00
.gitignore .gitignore: add SPDX License Identifier 2020-03-25 11:50:48 +01:00
arch.h x86,objtool: Create .return_sites 2022-07-25 11:26:36 +02:00
Build objtool: Enable compilation of objtool for all architectures 2020-05-20 09:17:28 -05:00
builtin-check.c x86/retbleed: Add fine grained Kconfig knobs 2022-07-25 11:26:50 +02:00
builtin-orc.c objtool: Refactor ORC section generation 2022-07-25 11:26:05 +02:00
builtin.h x86/retbleed: Add fine grained Kconfig knobs 2022-07-25 11:26:50 +02:00
cfi.h objtool: Introduce CFI hash 2022-07-25 11:26:22 +02:00
check.c x86/retbleed: Add fine grained Kconfig knobs 2022-07-25 11:26:50 +02:00
check.h objtool: Re-add UNWIND_HINT_{SAVE_RESTORE} 2022-07-25 11:26:47 +02:00
elf.c objtool: Preserve special st_shndx indexes in elf_update_symbol 2022-10-26 13:25:18 +02:00
elf.h x86,objtool: Create .return_sites 2022-07-25 11:26:36 +02:00
Makefile objtool: Refactor ORC section generation 2022-07-25 11:26:05 +02:00
objtool.c x86,objtool: Create .return_sites 2022-07-25 11:26:36 +02:00
objtool.h x86,objtool: Create .return_sites 2022-07-25 11:26:36 +02:00
orc_dump.c objtool: Make unwind hint definitions available to other architectures 2020-09-10 10:43:13 -05:00
orc_gen.c objtool: Introduce CFI hash 2022-07-25 11:26:22 +02:00
special.c objtool,x86: Replace alternatives with .retpoline_sites 2022-07-25 11:26:23 +02:00
special.h objtool: Refactor jump table code to support other architectures 2020-09-10 10:43:13 -05:00
sync-check.sh x86/insn: Add a __ignore_sync_check__ marker 2022-07-25 11:26:11 +02:00
warn.h objtool: Rename find_containing_func() 2020-03-25 18:28:29 +01:00
weak.c objtool: Refactor ORC section generation 2022-07-25 11:26:05 +02:00