On Wed, Oct 28, 2020 at 11:03:05AM -0700, Erdem Aktas wrote: > I might be missing something here but I think what you say is only > correct for the kvm_hypercall4 cases. All other functions use a > smaller number of registers. #VC blindly assumes that all those > registers are used in the vmcall and exposes them.
Right, I think we should fix that in the guest and zero out the unused registers. VMMCALL can come from userspace after all, and the #VC handler does not look at the hypercall numbers. Further, on the host side KVM will unconditionally read out all 4 registers too, which requires us to set them valid in the GHCB. Regards, Joerg