[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <aLDLfQc21DXnLwuR@google.com>
Date: Thu, 28 Aug 2025 14:34:53 -0700
From: Sean Christopherson <seanjc@...gle.com>
To: Rick P Edgecombe <rick.p.edgecombe@...el.com>
Cc: "kvm@...r.kernel.org" <kvm@...r.kernel.org>, "pbonzini@...hat.com" <pbonzini@...hat.com>,
Vishal Annapurve <vannapurve@...gle.com>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>, Yan Y Zhao <yan.y.zhao@...el.com>,
"michael.roth@....com" <michael.roth@....com>, Ira Weiny <ira.weiny@...el.com>
Subject: Re: [RFC PATCH 06/12] KVM: TDX: Return -EIO, not -EINVAL, on a
KVM_BUG_ON() condition
On Thu, Aug 28, 2025, Rick P Edgecombe wrote:
> On Thu, 2025-08-28 at 14:00 -0700, Sean Christopherson wrote:
> > But that's not actually what the code does. The lockdep assert won't trip because
> > KVM never removes S-EPT entries under read-lock:
>
> Right
>
> >
> > if (is_mirror_sp(sp)) {
> > KVM_BUG_ON(shared, kvm);
> > remove_external_spte(kvm, gfn, old_spte, level);
> > }
> >
> > Not because KVM actually guarantees -EBUSY is avoided. So the current code is
> > flawed, it just doesn't cause problems.
>
> Flawed, as in the lockdep should assert regardless of EBUSY?
Yep, exactly.
> Seems good to me.
> Probably if we wanted to try to call tdx_sept_remove_private_spte() under read
> lock with special plans to avoid EBUSY we should think twice anyway.
Heh, add a few zeros to "twice" :-D
Powered by blists - more mailing lists