Files
linux/include/asm-generic
Josh Poimboeuf 029223d301 objtool/klp: Add .klp.symid for sympos disambiguation
Livepatch identifies a duplicate-named symbol by its position (sympos)
among same-named kallsyms entries, which for vmlinux are counted in
ascending address order in the final linked kernel.  That order can't be
reliably derived from vmlinux.o: the final link reorders sub-sections
(.text.unlikely*, .data..*, etc).

Bridge the gap with a new .klp.symid section which can be used to
correlate symbols between vmlinux.o and vmlinux so that klp-diff can
reliably determine the sympos.

The table can't survive --gc-sections: keeping it alive would keep every
duplicate-named symbol's section alive, so the reference kernel would
stop matching the one which ships.  klp-build rejects
CONFIG_LD_DEAD_CODE_DATA_ELIMINATION instead.  Nothing is lost today:
x86_64 is the only HAVE_KLP_BUILD arch and doesn't select
HAVE_LD_DEAD_CODE_DATA_ELIMINATION, arm64 and s390 have never selected
it either, and on powerpc, it's still EXPERIMENTAL and disabled by every
distro kernel.

This is the build-time half of reliable vmlinux sympos computation;
"objtool klp diff" will consume the table in a subsequent commit.

Signed-off-by: Josh Poimboeuf <jpoimboe@kernel.org>
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Cc: live-patching@vger.kernel.org
Link: https://patch.msgid.link/64d50f077b569f47883c015cdb7079edb068efe8.1785727106.git.jpoimboe@kernel.org
2026-08-03 07:12:39 +02:00
..
2022-02-25 09:36:06 +01:00
2023-02-13 22:13:29 +01:00
2025-11-24 20:23:25 +01:00
2023-12-15 16:25:55 -08:00
2024-01-17 17:52:29 -08:00
2024-09-01 20:26:13 -07:00
2025-07-08 18:35:52 +01:00
2024-09-03 21:15:32 -07:00
2022-07-22 17:34:57 -05:00
2024-11-11 07:33:20 -08:00
2025-02-18 10:16:00 +01:00
2024-11-11 07:33:20 -08:00
2024-11-11 21:51:42 +01:00