Messages in this thread | | | Subject | Re: [PATCH v2] KVM: x86: Assume a 64-bit hypercall for guests with protected state | From | Tom Lendacky <> | Date | Thu, 11 Nov 2021 14:46:03 -0600 |
| |
On 10/26/21 1:03 PM, Tom Lendacky wrote: > On 10/1/21 12:06 PM, Tom Lendacky wrote: >> On 5/25/21 1:25 AM, Vitaly Kuznetsov wrote: >>> Tom Lendacky <thomas.lendacky@amd.com> writes: >>> >>>> When processing a hypercall for a guest with protected state, currently >>>> SEV-ES guests, the guest CS segment register can't be checked to >>>> determine if the guest is in 64-bit mode. For an SEV-ES guest, it is >>>> expected that communication between the guest and the hypervisor is >>>> performed to shared memory using the GHCB. In order to use the GHCB, the >>>> guest must have been in long mode, otherwise writes by the guest to the >>>> GHCB would be encrypted and not be able to be comprehended by the >>>> hypervisor. >>>> >>>> Create a new helper function, is_64_bit_hypercall(), that assumes the >>>> guest is in 64-bit mode when the guest has protected state, and returns >>>> true, otherwise invoking is_64_bit_mode() to determine the mode. Update >>>> the hypercall related routines to use is_64_bit_hypercall() instead of >>>> is_64_bit_mode(). >>>> >>>> Add a WARN_ON_ONCE() to is_64_bit_mode() to catch occurences of calls to >>>> this helper function for a guest running with protected state. >>>> >>>> Fixes: f1c6366e3043 ("KVM: SVM: Add required changes to support >>>> intercepts under SEV-ES") >>>> Reported-by: Sean Christopherson <seanjc@google.com> >>>> Signed-off-by: Tom Lendacky <thomas.lendacky@amd.com> >>>> ---
...
>>> >>> Reviewed-by: Vitaly Kuznetsov <vkuznets@redhat.com> >>> >>> Thanks! >> >> Paolo, >> >> This got lost in my stack of work... any comments? >> >> Thanks, >> Tom > > Ping > > Thanks, > Tom
Another ping on this.
Paolo, you had replied "queued" on the v1, but came up with a suggestion for a v2 that might have got lost in the replies because it never got queued. Here are the threads:
v1: https://lore.kernel.org/kvm/d0904f0d049300267665bd4abf96c3d7e7aa4825.1621701837.git.thomas.lendacky@amd.com/
v2: https://lore.kernel.org/kvm/e0b20c770c9d0d1403f23d83e785385104211f74.1621878537.git.thomas.lendacky@amd.com/
Thanks, Tom
> >> >>>
| |