On 11/06/2025 11:44 am, Jan Beulich wrote:
> Address size is entirely irrelevant to operand size determination; For
> VMREAD and VMWRITE outside of 64-bit mode operand size is 32 bits, while
> in 64-bit mode it's (naturally) 64 bits. For all other insns it's 64
> bits (a physical address) or 128 bits (INVEPT, INVVPID). To limit the
> amount of change here, keep the latter at reading only 64 bits from
> guest space.
>
> Fixes: 09fce8016596 ("Nested VMX: Emulation of guest VMXON/OFF instruction")
> Signed-off-by: Jan Beulich <jbeul...@suse.com>
> ---
> Beyond the wrong operand handling for INVEPT and INVVPID, the latter
> also doesn't even have the part read checked to have bits 16 and above
> all clear.

There are more bugs than these.

https://xenbits.xen.org/gitweb/?p=people/andrewcoop/xen.git;a=shortlog;h=refs/heads/x86-next-euan

Judging by the choice of branch name, I think I'd collected those
pending the re-opening of a dev window, and apparently forgotten.

At this point I don't think we want to take the branch as is (especially
as I've forgotten why it wasn't taken before), but I think there is some
salvageable work in there, beyond the changes in this patch.

~Andrew

Reply via email to