]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
objtool/klp: Fix create_fake_symbols() skipping entsize-based sections
authorJoe Lawrence <joe.lawrence@redhat.com>
Tue, 24 Mar 2026 21:34:16 +0000 (17:34 -0400)
committerJosh Poimboeuf <jpoimboe@kernel.org>
Tue, 5 May 2026 04:16:00 +0000 (21:16 -0700)
commit3de711fba73ad93b8b3fbe09cf681cefed5d573d
tree95c49f29a1a9af4fd0a29e59bdcd02ebb248162e
parente872b3f13922ecd746f907e20261dfc11c9a9f28
objtool/klp: Fix create_fake_symbols() skipping entsize-based sections

create_fake_symbols() has two phases: creating symbols from
ANNOTATE_DATA_SPECIAL entries, and a fallback that uses sh_entsize for
special sections like .static_call_sites.

When .discard.annotate_data is absent, the function returns early,
skipping the entsize fallback and silently allowing unsupported
module-local static call keys through.

Fix it by jumping to the entsize phase instead of returning early.

Fixes: dd590d4d57eb ("objtool/klp: Introduce klp diff subcommand for diffing object files")
Assisted-by: Claude:claude-4-opus
Signed-off-by: Joe Lawrence <joe.lawrence@redhat.com>
Acked-by: Song Liu <song@kernel.org>
Reviewed-by: Miroslav Benes <mbenes@suse.cz>
Signed-off-by: Josh Poimboeuf <jpoimboe@kernel.org>
tools/objtool/klp-diff.c