Subject: Re: linux-next: build warning after merge of the kvm tree

From: Sean Christopherson <[email-masked]>
Date: Wed, 13 Nov 2024 05:58:07 -0800

On Wed, Nov 13, 2024, Stephen Rothwell wrote:
> Hi all,
> 
> On Mon, 28 Oct 2024 19:29:45 +1100 Stephen Rothwell <[email-masked]> wrote:
> >
> > After merging the kvm tree, today's linux-next build (htmldocs) produced
> > this warning:
> > 
> > Documentation/virt/kvm/locking.rst:157: ERROR: Malformed table.
> > 
> > +-------------------------------------------------------------------------+
> > | At the beginning::                                                      |
> > |                                                                         |
> > |       spte.W = 0                                                              |
> > |       spte.Accessed = 1                                                       |
> > +-------------------------------------+-----------------------------------+
> > | CPU 0:                              | CPU 1:                            |
> > +-------------------------------------+-----------------------------------+
> > | In mmu_spte_update()::              |                                   |
> > |                                     |                                   |
> > |  old_spte = *spte;                  |                                   |
> > |                                     |                                   |
> > |                                     |                                   |
> > |  /* 'if' condition is satisfied. */ |                                   |
> > |  if (old_spte.Accessed == 1 &&      |                                   |
> > |       old_spte.W == 0)              |                                   |
> > |     spte = new_spte;                |                                   |
> > +-------------------------------------+-----------------------------------+
> > |                                     | on fast page fault path::         |
> > |                                     |                                   |
> > |                                     |    spte.W = 1                     |
> > |                                     |                                   |
> > |                                     | memory write on the spte::        |
> > |                                     |                                   |
> > |                                     |    spte.Dirty = 1                 |
> > +-------------------------------------+-----------------------------------+
> > |  ::                                 |                                   |
> > |                                     |                                   |
> > |   else                              |                                   |
> > |     old_spte = xchg(spte, new_spte);|                                   |
> > |   if (old_spte.Accessed &&          |                                   |
> > |       !new_spte.Accessed)           |                                   |
> > |     flush = true;                   |                                   |
> > |   if (old_spte.Dirty &&             |                                   |
> > |       !new_spte.Dirty)              |                                   |
> > |     flush = true;                   |                                   |
> > |     OOPS!!!                         |                                   |
> > +-------------------------------------+-----------------------------------+
> > 
> > Introduced by commit
> > 
> >   5f6a3badbb74 ("KVM: x86/mmu: Mark page/folio accessed only when zapping leaf SPTEs")
> 
> I am still seeing this warning.

Paolo, can you grab the patch from Bagas?

https://lore.kernel.org/all/[email-masked]