diff options
author | Jan Beulich <jbeulich@suse.com> | 2013-06-04 09:27:58 +0200 |
---|---|---|
committer | Jan Beulich <jbeulich@suse.com> | 2013-06-04 09:27:58 +0200 |
commit | c6ae65db36b98f2866f74a9a7ae6ac5d51fedc67 (patch) | |
tree | 301dac31411d313e98bda1e9b58d6ed431dded34 /xen/arch/x86/i387.c | |
parent | 8dcf9f0113454f233089e8e5bb3970d891928410 (diff) | |
download | xen-c6ae65db36b98f2866f74a9a7ae6ac5d51fedc67.tar.gz xen-c6ae65db36b98f2866f74a9a7ae6ac5d51fedc67.tar.bz2 xen-c6ae65db36b98f2866f74a9a7ae6ac5d51fedc67.zip |
x86/xsave: recover from faults on XRSTOR
Just like FXRSTOR, XRSTOR can raise #GP if bad content is being passed
to it in the memory block (i.e. aspects not under the control of the
hypervisor, other than e.g. proper alignment of the block).
Also correct the comment explaining why FXRSTOR needs exception
recovery code to not wrongly state that this can only be a result of
the control tools passing a bad image.
This is CVE-2013-2077 / XSA-53.
Signed-off-by: Jan Beulich <jbeulich@suse.com>
Diffstat (limited to 'xen/arch/x86/i387.c')
-rw-r--r-- | xen/arch/x86/i387.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/xen/arch/x86/i387.c b/xen/arch/x86/i387.c index 91270371c4..887388597a 100644 --- a/xen/arch/x86/i387.c +++ b/xen/arch/x86/i387.c @@ -53,7 +53,7 @@ static inline void fpu_fxrstor(struct vcpu *v) /* * FXRSTOR can fault if passed a corrupted data block. We handle this * possibility, which may occur if the block was passed to us by control - * tools, by silently clearing the block. + * tools or through VCPUOP_initialise, by silently clearing the block. */ asm volatile ( /* See above for why the operands/constraints are this way. */ |