mode = retp_compiler() ? SPECTRE_V2_RETPOLINE_GENERIC :
SPECTRE_V2_RETPOLINE_MINIMAL;
- pr_info("Options: %s%s\n",
+ pr_info("Options: %s%s%s\n",
check_ibrs_inuse() ? "IBRS " : "",
+ check_ibpb_inuse() ? "IBPB " : "",
retp_compiler() ? "retpoline" : "");
/* IBRS available. Lets see if we are compiled with retpoline. */
ignore = true;
if (boot_cpu_has(X86_FEATURE_IBRS)) {
- printk(KERN_INFO "FEATURE SPEC_CTRL Present%s\n", ignore ? " but ignored (Xen)": "");
- if (ignore)
- return;
- } else if (boot_cpu_has(X86_FEATURE_IBPB)) {
- printk_once(KERN_INFO "FEATURE IBPB Present%s\n", ignore ? " but ignored (Xen)": "");
- if (ignore)
- return;
+ printk_once(KERN_INFO "FEATURE SPEC_CTRL Present%s\n",
+ ignore ? " but ignored (Xen)": "");
} else {
printk(KERN_INFO "FEATURE SPEC_CTRL Not Present\n");
}
+ if (boot_cpu_has(X86_FEATURE_IBPB)) {
+ printk_once(KERN_INFO "FEATURE IBPB Present%s\n",
+ ignore ? " but ignored (Xen)": "");
+ } else {
+ printk(KERN_INFO "FEATURE IBPB Not Present\n");
+ }
+ if (ignore)
+ return;
}
if ((cpu_has(c, X86_FEATURE_IBRS) ||