lkml.org 
[lkml]   [2018]   [Nov]   [17]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
From
Subject[Patch v5 05/16] x86/speculation: Disable STIBP when enhanced IBRS is in use
Date
If enhanced IBRS is engaged, STIBP is redundant in mitigating Spectre
v2 user space exploits from hyperthread sibling.

Disable STIBP when enhanced IBRS is used.

Signed-off-by: Tim Chen <tim.c.chen@linux.intel.com>
---
arch/x86/kernel/cpu/bugs.c | 11 +++++++++++
1 file changed, 11 insertions(+)

diff --git a/arch/x86/kernel/cpu/bugs.c b/arch/x86/kernel/cpu/bugs.c
index 3a6f13b..5c0eb2f 100644
--- a/arch/x86/kernel/cpu/bugs.c
+++ b/arch/x86/kernel/cpu/bugs.c
@@ -325,9 +325,17 @@ static enum spectre_v2_mitigation_cmd __init spectre_v2_parse_cmdline(void)

static bool stibp_needed(void)
{
+ /*
+ * Determine if STIBP should be always on.
+ * Using enhanced IBRS makes using STIBP unnecessary.
+ */
+
if (spectre_v2_enabled == SPECTRE_V2_NONE)
return false;

+ if (static_cpu_has(X86_FEATURE_USE_IBRS_ENHANCED))
+ return false;
+
if (!boot_cpu_has(X86_FEATURE_STIBP))
return false;

@@ -856,6 +864,9 @@ static ssize_t l1tf_show_state(char *buf)

static char *stibp_state(void)
{
+ if (spectre_v2_enabled == SPECTRE_V2_IBRS_ENHANCED)
+ return "";
+
if (x86_spec_ctrl_base & SPEC_CTRL_STIBP)
return ", STIBP";
else
--
2.9.4
\
 
 \ /
  Last update: 2018-11-17 03:28    [W:0.224 / U:0.092 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site