Re: [PATCH 1/4 V8] KVM: SEV: Add support for SEV intra host migration

From: Peter Gonda
Date: Tue Sep 28 2021 - 11:30:25 EST


On Tue, Sep 28, 2021 at 6:42 AM Joerg Roedel <joro@xxxxxxxxxx> wrote:
>
> On Tue, Sep 14, 2021 at 09:47:24AM -0700, Peter Gonda wrote:
> > +static int sev_lock_vcpus_for_migration(struct kvm *kvm)
> > +{
> > + struct kvm_vcpu *vcpu;
> > + int i, j;
> > +
> > + kvm_for_each_vcpu(i, vcpu, kvm) {
> > + if (mutex_lock_killable(&vcpu->mutex))
> > + goto out_unlock;
> > + }
> > +
> > + return 0;
> > +
> > +out_unlock:
> > + kvm_for_each_vcpu(j, vcpu, kvm) {
> > + mutex_unlock(&vcpu->mutex);
> > + if (i == j)
> > + break;
>
> Hmm, doesn't the mutex_unlock() need to happen after the check?
>

Ah good catch, thanks for the review Joerg! Yes you are right this
results in calling mutex_unlock on a mutex we didn't successfully
lock. I'll fix it in the next version.