On Tue, Feb 07, 2023, Paolo Bonzini wrote: > On 2/7/23 16:57, Lai Jiangshan wrote: > > From: Lai Jiangshan<jiangshan.ljs@xxxxxxxxxxxx> > > > > mmu->sync_page for direct paging is never called. > > > > And both mmu->sync_page and mm->invlpg only make sense in shadowpaging. > > Setting mmu->sync_page as NULL for direct paging makes it consistent > > with mm->invlpg which is set NULL for the case. > > > > Signed-off-by: Lai Jiangshan<jiangshan.ljs@xxxxxxxxxxxx> > > I'd rather have a WARN_ON_ONCE in kvm_sync_page(), otherwise looks good. Agreed, there's even a WARN_ON_ONCE() to piggyback: if (WARN_ON_ONCE(sp->role.direct || !vcpu->arch.mmu->sync_spte || (sp->role.word ^ root_role.word) & ~sync_role_ign.word)) return -1; Of course, the direct + match checks on the role effectively do the same, but I would rather be explicit.