mirror of
https://github.com/xen-project/xen.git
synced 2026-10-29 18:50:05 +01:00
VMX: values written to MSR_IA32_SYSENTER_E[IS]P should be canonical
A recent KVM change by Nadav Amit <namit@cs.technion.ac.il> helped spot
that we have the same issue as they did.
Signed-off-by: Jan Beulich <jbeulich@suse.com>
Reviewed-by: Tim Deegan <tim@xen.org>
Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
Acked-by: Kevin Tian <kevin.tian@intel.com>
master commit: 93cc5c6f16
master date: 2014-10-31 11:31:11 +0100
This commit is contained in:
1 parent
cb3f33e9cd
commit
d6f9aadf21
1 file changed
+4
@@ -2146,9 +2146,13 @@ static int vmx_msr_write_intercept(unsigned int msr, uint64_t msr_content)
|
||||
__vmwrite(GUEST_SYSENTER_CS, msr_content);
|
||||
break;
|
||||
case MSR_IA32_SYSENTER_ESP:
|
||||
if ( !is_canonical_address(msr_content) )
|
||||
goto gp_fault;
|
||||
__vmwrite(GUEST_SYSENTER_ESP, msr_content);
|
||||
break;
|
||||
case MSR_IA32_SYSENTER_EIP:
|
||||
if ( !is_canonical_address(msr_content) )
|
||||
goto gp_fault;
|
||||
__vmwrite(GUEST_SYSENTER_EIP, msr_content);
|
||||
break;
|
||||
case MSR_IA32_DEBUGCTLMSR: {
|
||||
|
||||