3 ms·
Note that this is a bug in Xen (https://en.wikipedia.org/wiki/Xen https://en.wikipedia.org/wiki/Xen, the hypervisor), not in any actual x86 hardware. It accide
by unwind 10y ago
Note that this is a bug in Xen (https://en.wikipedia.org/wiki/Xen https://en.wikipedia.org/wiki/Xen, the hypervisor), not in any actual x86 hardware.
It accidentally failed to ignore operand size information from the instruction stream, which could lead to leaks of 32 or 96 bits of hypervisor memory contents to a guest.
The patch is pretty straight-forward:
if ( op_bytes == 8 )
+ {
host_and_vcpu_must_have(cx16);
- op_bytes *= 2;
+ op_bytes = 16;
+ }
+ else
+ op_bytes = 8;
I assume (didn't read the full code) that op_bytes came from the instruction stream.