aboutsummaryrefslogblamecommitdiffstats
path: root/main/xen/xen-Fix-backport-of-x86-tsx-Implement-controls-for-R.patch
blob: 4b50d3c4692e527092da7c35b7bf5babc1f1ae99 (plain) (tree)

































                                                                           
From 0ebfc81c091be150343d6ce948841a1e6cf89361 Mon Sep 17 00:00:00 2001
From: Andrew Cooper <andrew.cooper3@citrix.com>
Date: Fri, 3 May 2019 10:51:31 +0200
Subject: [PATCH] xen: Fix backport of "x86/tsx: Implement controls for RTM
 force-abort mode"

The posted version of this patch depends on c/s 3c555295 "x86/vpmu: Improve
documentation and parsing for vpmu=" (Xen 4.12 and later) to prevent
`vpmu=rtm-abort` impliying `vpmu=1`, which is outside of security support.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
Reviewed-by: Jan Beulich <jbeulich@suse.com>
---
 xen/arch/x86/cpu/vpmu.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/xen/arch/x86/cpu/vpmu.c b/xen/arch/x86/cpu/vpmu.c
index 639ae0ca63..9a42e09a11 100644
--- a/xen/arch/x86/cpu/vpmu.c
+++ b/xen/arch/x86/cpu/vpmu.c
@@ -91,6 +91,10 @@ static int __init parse_vpmu_params(const char *s)
 
             s = ss + 1;
         } while ( *ss );
+
+        if ( !vpmu_features ) /* rtm-abort doesn't imply vpmu=1 */
+            break;
+
         /* fall through */
     case 1:
         /* Default VPMU mode */
-- 
2.20.1