From 9063a7fd2056501832aa2f8a9fe6ad23d5e4f1db Mon Sep 17 00:00:00 2001 From: rrobgill <35944068+rrobgill@users.noreply.github.com> Date: Sun, 6 May 2018 15:47:45 +1000 Subject: [PATCH] ibrs can't be enabled on no ibrs cpu If the cpu is identified, and does not support SPEC_CTRL or IBRS, then ibrs can't be enabled, even if supported by the kernel. Instead of reporting IBRS enabled and active UNKNOWN, report IBRS enabled and active NO. --- spectre-meltdown-checker.sh | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/spectre-meltdown-checker.sh b/spectre-meltdown-checker.sh index efa4812..e57ac58 100755 --- a/spectre-meltdown-checker.sh +++ b/spectre-meltdown-checker.sh @@ -2121,6 +2121,10 @@ check_variant2_linux() if [ "$ibpb_enabled" = 2 ]; then # if ibpb=2, ibrs is forcefully=0 pstatus blue NO "IBPB used instead of IBRS in all kernel entrypoints" + else + if [ ! "$cpuid_ibrs" = 'SPEC_CTRL' ] && [ ! "cpuid_ibrs" = 'IBRS_SUPPORT' ] && [ ! "cpuid_spec_ctrl" = -1 ]; then + pstatus yellow NO; + _debug "ibrs: known cpu not supporting SPEC-CTRL or IBRS"; else # 0 means disabled # 1 is enabled only for kernel space @@ -2140,6 +2144,7 @@ check_variant2_linux() *) pstatus yellow UNKNOWN;; esac fi + fi else pstatus blue N/A "not testable in offline mode" fi