]> git.proxmox.com Git - mirror_ubuntu-jammy-kernel.git/commit
objtool: Preserve special st_shndx indexes in elf_update_symbol
authorSami Tolvanen <samitolvanen@google.com>
Thu, 8 Sep 2022 21:54:58 +0000 (14:54 -0700)
committerStefan Bader <stefan.bader@canonical.com>
Thu, 24 Nov 2022 13:24:13 +0000 (14:24 +0100)
commit5441114b570cafc5ec794df1b5af622080ed51dc
tree45b5c9f6cf1250d44e8ebeddadf41d57f628980c
parent15f1d511d415f1c95fa96413e5c327c11d1ac556
objtool: Preserve special st_shndx indexes in elf_update_symbol

BugLink: https://bugs.launchpad.net/bugs/1996825
[ 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>
Signed-off-by: Kamal Mostafa <kamal@canonical.com>
Signed-off-by: Stefan Bader <stefan.bader@canonical.com>
tools/objtool/elf.c