Commit 9f303a35 authored by Kees Cook's avatar Kees Cook Committed by Peter Zijlstra
Browse files

x86/cfi: Standardize on common "CFI:" prefix for CFI reports



Use a regular "CFI:" prefix for CFI reports during alternatives setup,
including reporting when nothing has happened (i.e. CONFIG_FINEIBT=n).

Signed-off-by: default avatarKees Cook <kees@kernel.org>
Signed-off-by: default avatarPeter Zijlstra (Intel) <peterz@infradead.org>
Reviewed-by: default avatarNathan Chancellor <nathan@kernel.org>
Link: https://lore.kernel.org/r/20250904034656.3670313-4-kees@kernel.org
parent 24452d9e
Loading
Loading
Loading
Loading
+10 −7
Original line number Diff line number Diff line
@@ -1266,26 +1266,26 @@ static __init int cfi_parse_cmdline(char *str)
		} else if (!strcmp(str, "norand")) {
			cfi_rand = false;
		} else if (!strcmp(str, "warn")) {
			pr_alert("CFI mismatch non-fatal!\n");
			pr_alert("CFI: mismatch non-fatal!\n");
			cfi_warn = true;
		} else if (!strcmp(str, "paranoid")) {
			if (cfi_mode == CFI_FINEIBT) {
				cfi_paranoid = true;
			} else {
				pr_err("Ignoring paranoid; depends on fineibt.\n");
				pr_err("CFI: ignoring paranoid; depends on fineibt.\n");
			}
		} else if (!strcmp(str, "bhi")) {
#ifdef CONFIG_FINEIBT_BHI
			if (cfi_mode == CFI_FINEIBT) {
				cfi_bhi = true;
			} else {
				pr_err("Ignoring bhi; depends on fineibt.\n");
				pr_err("CFI: ignoring bhi; depends on fineibt.\n");
			}
#else
			pr_err("Ignoring bhi; depends on FINEIBT_BHI=y.\n");
			pr_err("CFI: ignoring bhi; depends on FINEIBT_BHI=y.\n");
#endif
		} else {
			pr_err("Ignoring unknown cfi option (%s).", str);
			pr_err("CFI: Ignoring unknown option (%s).", str);
		}

		str = next;
@@ -1757,7 +1757,7 @@ static void __apply_fineibt(s32 *start_retpoline, s32 *end_retpoline,
	switch (cfi_mode) {
	case CFI_OFF:
		if (builtin)
			pr_info("Disabling CFI\n");
			pr_info("CFI: disabled\n");
		return;

	case CFI_KCFI:
@@ -1766,7 +1766,8 @@ static void __apply_fineibt(s32 *start_retpoline, s32 *end_retpoline,
			goto err;

		if (builtin)
			pr_info("Using kCFI\n");
			pr_info("CFI: Using %sretpoline kCFI\n",
				cfi_rand ? "rehashed " : "");
		return;

	case CFI_FINEIBT:
@@ -2005,6 +2006,8 @@ bool decode_fineibt_insn(struct pt_regs *regs, unsigned long *target, u32 *type)
static void __apply_fineibt(s32 *start_retpoline, s32 *end_retpoline,
			    s32 *start_cfi, s32 *end_cfi, bool builtin)
{
	if (IS_ENABLED(CONFIG_CFI) && builtin)
		pr_info("CFI: Using standard kCFI\n");
}

#ifdef CONFIG_X86_KERNEL_IBT