Skip to content

Commit

Permalink
KVM: SVM: Return -EINVAL instead of -EBUSY on attempt to re-init SEV/…
Browse files Browse the repository at this point in the history
…SEV-ES

Return -EINVAL instead of -EBUSY if userspace attempts KVM_SEV{,ES}_INIT
on a VM that already has SEV active.  Returning -EBUSY is nonsencial as
it's impossible to deactivate SEV without destroying the VM, i.e. the VM
isn't "busy" in any sane sense of the word, and the odds of any userspace
wanting exactly -EBUSY on a userspace bug are minuscule.

Reviewed-by: Tom Lendacky <thomas.lendacky@amd.com>
Link: https://lore.kernel.org/r/20240131235609.4161407-5-seanjc@google.com
Signed-off-by: Sean Christopherson <seanjc@google.com>
  • Loading branch information
sean-jc committed Feb 6, 2024
1 parent 0aa6b90 commit fdd5883
Showing 1 changed file with 1 addition and 2 deletions.
3 changes: 1 addition & 2 deletions arch/x86/kvm/svm/sev.c
Expand Up @@ -259,9 +259,8 @@ static int sev_guest_init(struct kvm *kvm, struct kvm_sev_cmd *argp)
if (kvm->created_vcpus)
return -EINVAL;

ret = -EBUSY;
if (unlikely(sev->active))
return ret;
return -EINVAL;

sev->active = true;
sev->es_active = argp->id == KVM_SEV_ES_INIT;
Expand Down

0 comments on commit fdd5883

Please sign in to comment.