[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <48743e1790220072c72d45af8d3582cdd25f4083.camel@intel.com>
Date: Thu, 28 Aug 2025 21:19:24 +0000
From: "Edgecombe, Rick P" <rick.p.edgecombe@...el.com>
To: "seanjc@...gle.com" <seanjc@...gle.com>
CC: "kvm@...r.kernel.org" <kvm@...r.kernel.org>, "pbonzini@...hat.com"
<pbonzini@...hat.com>, "Annapurve, Vishal" <vannapurve@...gle.com>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>, "Zhao, Yan Y"
<yan.y.zhao@...el.com>, "michael.roth@....com" <michael.roth@....com>,
"Weiny, Ira" <ira.weiny@...el.com>
Subject: Re: [RFC PATCH 06/12] KVM: TDX: Return -EIO, not -EINVAL, on a
KVM_BUG_ON() condition
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? 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.
Powered by blists - more mailing lists