Re: [PATCH 07/17] KVM: x86/tdp_mmu: Centralize updates to present external PTEs

From: Yan Zhao

Date: Tue Apr 07 2026 - 22:03:21 EST


On Wed, Apr 08, 2026 at 01:21:26AM +0800, Edgecombe, Rick P wrote:
> On Tue, 2026-04-07 at 16:34 +0800, Yan Zhao wrote:
> > (a1)(a2) May hit KVM_BUG_ON() in handle_changed_spte() if
> >          tdx_sept_set_private_spte() fails due to contentions. e.g.,
> >          tdh_mem_sept_add(), tdx_mem_page_aug(), or tdx_mem_page_add() may
> >          contend with tdh_vp_enter() due to zero-step mitigation or may
> >          potentially contend with TDCALLs.
> > (b) Promotion case. Currently unreachable in mirror root.
> >     Need more complex changes in TDP MMU if we want to support it in the future.
> > (c) Will not hit KVM_BUG_ON() in TDP MMU, but will trigger warnings in
> >     tdx_sept_remove_private_spte() due to lockdep_assert_held_write() or
> >     TDX_BUG_ON() caused by concurrent BLOCK, TRACK, REMOVE.
> > (d) May hit the KVM_BUG_ON() in handle_changed_spte() due to failure to remove
> >     child S-EPT entries and will trigger warnings in
> >     tdx_sept_remove_private_spte() due to lockdep_assert_held_write() or
> >     TDX_BUG_ON() caused by concurrent BLOCK, TRACK, REMOVE.
> >     May also trigger TDX_BUG_ON() in tdx_sept_reclaim_private_spt().
>
> Ok! I wonder if we could (not for this series) encode this information into some
> centralized helper on the TDX side. It's nice to see it all together. Not sure
> on the idea.
Maybe some code comments to tdx_sept_set_private_spte() and
tdx_sept_free_private_spt()?