]> xenbits.xensource.com Git - xen.git/commit
x86/HVM: don't cause #NM to be raised in Xen
authorJan Beulich <jbeulich@suse.com>
Thu, 28 Jun 2018 09:23:33 +0000 (11:23 +0200)
committerJan Beulich <jbeulich@suse.com>
Thu, 28 Jun 2018 09:23:33 +0000 (11:23 +0200)
commite39ff386f626ba44f8a9a9608d8f5f13ff7945ef
tree09892bc75a19147b765297fa207d8fc7d5b007f4
parent321254a107fe695a84c45acadcec842e36fe8bbf
x86/HVM: don't cause #NM to be raised in Xen

The changes for XSA-267 did not touch management of CR0.TS for HVM
guests. In fully eager mode this bit should never be set when
respective vCPU-s are active, or else hvmemul_get_fpu() might leave it
wrongly set, leading to #NM in hypervisor context.

{svm,vmx}_enter() and {svm,vmx}_fpu_dirty_intercept() become unreachable
this way. Explicit {svm,vmx}_fpu_leave() invocations need to be guarded
now.

With no CR0.TS management necessary in fully eager mode, there's also no
need anymore to intercept #NM.

Reported-by: Charles Arnold <carnold@suse.com>
Signed-off-by: Jan Beulich <jbeulich@suse.com>
Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
master commit: 488efc29e4e996bb3805c982200f65061390cdce
master date: 2018-06-28 09:07:06 +0200
xen/arch/x86/hvm/svm/svm.c
xen/arch/x86/hvm/svm/vmcb.c
xen/arch/x86/hvm/vmx/vmcs.c
xen/arch/x86/hvm/vmx/vmx.c