Re: [PATCH] KVM: Assert that struct kvm_vcpu is always as offset zero

From: Jim Mattson
Date: Fri Aug 16 2019 - 14:25:18 EST


On Thu, Aug 15, 2019 at 10:23 AM Sean Christopherson
<sean.j.christopherson@xxxxxxxxx> wrote:
>
> KVM implementations that wrap struct kvm_vcpu with a vendor specific
> struct, e.g. struct vcpu_vmx, must place the vcpu member at offset 0,
> otherwise the usercopy region intended to encompass struct kvm_vcpu_arch
> will instead overlap random chunks of the vendor specific struct.
> E.g. padding a large number of bytes before struct kvm_vcpu triggers
> a usercopy warn when running with CONFIG_HARDENED_USERCOPY=y.
>
> Signed-off-by: Sean Christopherson <sean.j.christopherson@xxxxxxxxx>
X86 parts:
Reviewed-by: Jim Mattson <jmattson@xxxxxxxxxx>