]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
x86/bugs/IBRS: Warn if IBRS is enabled during boot.
authorKonrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Sat, 12 May 2018 00:16:26 +0000 (20:16 -0400)
committerBrian Maly <brian.maly@oracle.com>
Mon, 21 May 2018 22:02:34 +0000 (18:02 -0400)
It should never be. But in case it is lets warn and clear it.

OraBug: 28041771
CVE: CVE-2018-3639

Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Reviewed-by: Mihai Carabas <mihai.carabas@oracle.com>
Signed-off-by: Brian Maly <brian.maly@oracle.com>
arch/x86/kernel/cpu/bugs_64.c

index 2b83e8899a0b5c32b96ffbe9655f4c1fdd050de3..ec6df4448c94e6d140e0de3ecd8078c907673aed 100644 (file)
@@ -123,7 +123,10 @@ void __init check_bugs(void)
         */
        if (boot_cpu_has(X86_FEATURE_IBRS)) {
                rdmsrl(MSR_IA32_SPEC_CTRL, x86_spec_ctrl_base);
-
+               if (x86_spec_ctrl_base & SPEC_CTRL_IBRS) {
+                       pr_warn("SPEC CTRL MSR (0x%16llx) has IBRS set during boot, clearing it.", x86_spec_ctrl_base);
+                       x86_spec_ctrl_base &= ~(SPEC_CTRL_IBRS);
+               }
                x86_spec_ctrl_priv = x86_spec_ctrl_base;
        }