From: Nathan Chancellor Date: Mon, 8 Sep 2025 20:04:18 +0000 (-0700) Subject: objtool: Ignore __pi___cfi_ prefixed symbols X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=26a9f90b6101ea2c9d6f02802cf6d85108104b90;p=users%2Fhch%2Fmisc.git objtool: Ignore __pi___cfi_ prefixed symbols When building with CONFIG_CFI_CLANG=y after the recent series to separate the x86 startup code, there are objtool warnings along the lines of: vmlinux.o: warning: objtool: __pi___cfi_startup_64_load_idt() falls through to next function __pi_startup_64_load_idt() vmlinux.o: warning: objtool: __pi___cfi_startup_64_setup_gdt_idt() falls through to next function __pi_startup_64_setup_gdt_idt() vmlinux.o: warning: objtool: __pi___cfi___startup_64() falls through to next function __pi___startup_64() As the comment in validate_branch() states, this is expected, so ignore these symbols in the same way that __cfi_ and __pfx_ symbols are already ignored for the rest of the kernel. Fixes: 7b38dec3c5af ("x86/boot: Create a confined code area for startup code") Signed-off-by: Nathan Chancellor Signed-off-by: Borislav Petkov (AMD) Acked-by: Ard Biesheuvel --- diff --git a/tools/objtool/check.c b/tools/objtool/check.c index d0d20666e872..093fcd01dd6e 100644 --- a/tools/objtool/check.c +++ b/tools/objtool/check.c @@ -3565,6 +3565,7 @@ static int validate_branch(struct objtool_file *file, struct symbol *func, /* Ignore KCFI type preambles, which always fall through */ if (!strncmp(func->name, "__cfi_", 6) || !strncmp(func->name, "__pfx_", 6) || + !strncmp(func->name, "__pi___cfi_", 11) || !strncmp(func->name, "__pi___pfx_", 11)) return 0;