Message ID | 20210715151050.6514-1-andrew.cooper3@citrix.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [for-4.13] x86/tsx: Fix backport of "x86/cpuid: Rework HLE and RTM handling" | expand |
On 15.07.2021 17:10, Andrew Cooper wrote: > The backport dropped the hunk deleting the setup_clear_cpu_cap() for HLE/RTM, > but retained the hunk adding setup_force_cpu_cap(). > > Calling both force and clear on the same feature elicits an error, and clear > takes precedence, Right, I particularly didn't pay attention to this interaction aspect. > which breaks the part of the bufix which makes migration > from older versions of Xen function safely for VMs using TSX. > > Fixes: f17d848c4caa ("x86/cpuid: Rework HLE and RTM handling") > Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com> Acked-by: Jan Beulich <jbeulich@suse.com> Are you going to put this in, or should I? Jan
On 15/07/2021 16:39, Jan Beulich wrote: > On 15.07.2021 17:10, Andrew Cooper wrote: >> The backport dropped the hunk deleting the setup_clear_cpu_cap() for HLE/RTM, >> but retained the hunk adding setup_force_cpu_cap(). >> >> Calling both force and clear on the same feature elicits an error, and clear >> takes precedence, > Right, I particularly didn't pay attention to this interaction > aspect. > >> which breaks the part of the bufix which makes migration >> from older versions of Xen function safely for VMs using TSX. >> >> Fixes: f17d848c4caa ("x86/cpuid: Rework HLE and RTM handling") >> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com> > Acked-by: Jan Beulich <jbeulich@suse.com> Thanks. > Are you going to put this in, or should I? Feel free to. ~Andrew
diff --git a/xen/arch/x86/spec_ctrl.c b/xen/arch/x86/spec_ctrl.c index 33343062a7b6..1cfd02d7d7cf 100644 --- a/xen/arch/x86/spec_ctrl.c +++ b/xen/arch/x86/spec_ctrl.c @@ -1150,9 +1150,6 @@ void __init init_speculation_mitigations(void) ((hw_smt_enabled && opt_smt) || !boot_cpu_has(X86_FEATURE_SC_VERW_IDLE)) ) { - setup_clear_cpu_cap(X86_FEATURE_HLE); - setup_clear_cpu_cap(X86_FEATURE_RTM); - opt_tsx = 0; tsx_init(); }
The backport dropped the hunk deleting the setup_clear_cpu_cap() for HLE/RTM, but retained the hunk adding setup_force_cpu_cap(). Calling both force and clear on the same feature elicits an error, and clear takes precedence, which breaks the part of the bufix which makes migration from older versions of Xen function safely for VMs using TSX. Fixes: f17d848c4caa ("x86/cpuid: Rework HLE and RTM handling") Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com> --- CC: Jan Beulich <JBeulich@suse.com> --- xen/arch/x86/spec_ctrl.c | 3 --- 1 file changed, 3 deletions(-)