Re: [PATCH v4 01/22] objtool/klp: Fix .kcfi_traps special section extraction
Song Liu <[email protected]>
| Newsgroups | org.kernel.vger.live-patching,org.infradead.lists.linux-arm-kernel,org.kernel.vger.linux-kernel |
|---|---|
| Message-ID | <CAPhsuW6npZ+AP7wmw2j9JnfBkOSzM7pGUEs53fdTpmKOY8AuMA@mail.gmail.com> |
On Sat, Aug 8, 2026 at 4:18 PM Josh Poimboeuf <[email protected]> wrote: > > create_fake_symbols() creates a symbol per entry for special sections. > It does so in two steps: first for the sections which have > ANNOTATE_DATA_SPECIAL annotations, then for the rest, using entsize or > the reloc count to infer the entry size. The second step skips the > sections already handled by the first one by looking for a symbol at > offset 0. > > That heuristic is too fuzzy: with Clang and CONFIG_CFI, it misfires on > .kcfi_traps because Clang emits a .Ltmp* assembler-local label at the > start of the section, so no symbols are created and > clone_special_sections() extracts nothing. klp-build still reports > SUCCESS, but the livepatch module has no __kcfi_traps section and the > traps for the patched functions are lost. > > Look for the actual fake symbols created by the first step instead. > > Fixes: da4326573ae8d ("objtool/klp: Fix kCFI trap handling") > Reported-by: Joe Lawrence <[email protected]> > Closes: https://lore.kernel.org/r/[email protected] > Signed-off-by: Josh Poimboeuf <[email protected]> Acked-by: Song Liu <[email protected]>