Re: [RFC PATCH] KVM: x86: Disallow KVM_SET_CPUID{2} if the vCPU is in guest mode

From: Jim Mattson
Date: Wed Dec 18 2019 - 14:38:57 EST


On Wed, Dec 18, 2019 at 9:42 AM Sean Christopherson
<sean.j.christopherson@xxxxxxxxx> wrote:
>
> Reject KVM_SET_CPUID{2} with -EBUSY if the vCPU is in guest mode (L2) to
> avoid complications and potentially undesirable KVM behavior. Allowing
> userspace to change a guest's capabilities while L2 is active would at
> best result in unexpected behavior in the guest (L1 or L2), and at worst
> induce bad KVM behavior by breaking fundamental assumptions regarding
> transitions between L0, L1 and L2.

This seems a bit contrived. As long as we're breaking the ABI, can we
disallow changes to CPUID once the vCPU has been powered on?