On Thu, Apr 30, 2026 at 09:07:48PM -0700, Josh Poimboeuf wrote:
> Changes since v1
> (https://lore.kernel.org/[email protected]):
>
> - Add comment for find_reloc_by_dest_range() first-match behavior
> [Peter]
> - Simplify is_cold_func() [Peter]
> - Grow __cfi_ symbols [Peter]
> - Rename "Ignore __UNIQUE_ID_*() PCI stub functions" to more general
> "Don't report uncorrelated functions as new" [Song]
> - Move rodata non-correlation into pointer-comparison fix [Miroslav]
> - Add comments for convert_reloc_sym() return values [Song]
> - Remove redundant SRC/OBJ variables [Song]
> - Use "if (mismatch) {} else" in for_each_sym_by_*() [Song]
> - Flatten nested if-else chain in short-circuit validation [Song]
> - Add comments with examples to symbol correlation algorithm [Song]
> - Move callback refactor to earlier in the patch set [Miroslav]
> - Fix reloc corruption in convert_reloc_sym_to_secsym() [Sashiko]
> - Include offset in object checksum hashing [Sashiko]
> - Fix klp-build checksum comparison output for added/removed
> instructions [Sashiko]
> - Fix kCFI prefix finding/cloning
> - Add reloc symbol conversion simplification cleanup
> - Improve local label check for uncorrelated symbols
> - Drop "Make function prefix handling more generic" for now (refactored
> version will come with arm64 patches)
> - Refactor inline alternative cloning into separate
> clone_inline_alternatives()
> - Add Acked-by/Reviewed-by tags
I'm squashing a few Sashiko nits (see below) into their relevant
patches, along with a minor bisectability issue.
latest is at:
git://git.kernel.org/pub/scm/linux/kernel/git/jpoimboe/linux.git
klp-build-arm64
diff --git a/scripts/livepatch/klp-build b/scripts/livepatch/klp-build
index 31604d48ff49..10145b1dd089 100755
--- a/scripts/livepatch/klp-build
+++ b/scripts/livepatch/klp-build
@@ -275,7 +275,7 @@ validate_config() {
[[ "$CONFIG_AS_VERSION" -lt 200000 ]] && \
die "Clang assembler version < 20 not supported"
- "$OBJTOOL" klp 2>&1 | command grep -q "not implemented" && \
+ [[ -x "$OBJTOOL" ]] && "$OBJTOOL" klp 2>&1 | command grep -q "not
implemented" && \
die "objtool not built with KLP support; install
xxhash-devel/libxxhash-dev (version >= 0.8) and recompile"
return 0
@@ -741,7 +741,7 @@ diff_objects() {
(
cd "$ORIG_CSUM_DIR"
- [[ -v VERBOSE ]] && echo "${cmd[@]}"
+ [[ -v VERBOSE ]] && echo "cd $ORIG_CSUM_DIR &&
${cmd[*]}"
"${cmd[@]}"
\
1> >(tee -a "$log")
\
2> >(tee -a "$log" | "${filter[@]}" >&2) ||
\
diff --git a/tools/objtool/check.c b/tools/objtool/check.c
index ca360239ea2b..2b03a2d6fc95 100644
--- a/tools/objtool/check.c
+++ b/tools/objtool/check.c
@@ -2494,7 +2494,7 @@ static int __annotate_late(struct objtool_file *file, int
type, struct instructi
ERROR_INSN(insn, "dodgy NOCFI annotation");
return -1;
}
- insn_sym(insn)->nocfi = 1;
+ sym->nocfi = 1;
break;
default: