Re: [PATCH 16/22] KVM: MMU: Track page fault data in struct vcpu

From: Roedel, Joerg
Date: Tue May 04 2010 - 08:00:56 EST


On Tue, May 04, 2010 at 05:50:50AM -0400, Avi Kivity wrote:
> On 05/04/2010 12:45 PM, Avi Kivity wrote:
> >
> >
> > Just a silly bug. kvm_pdptr_read() can cause a guest memory read on
> > svm, in this case with the mmu lock taken. I'll post something to fix
> > it.
>
> I guess this was not reported because most svm machines have npt, and
> this requires npt=0 to trigger. Nonpae paging disables npt, so you were
> hit. Interestingly, nsvm makes it more likely to appear, since npt on
> i386+pae will need the pdptrs.

Hmm, actually it happened on 32 bit with npt enabled. I think this
can trigger when mmu_alloc_roots is called for an pae guest because it
accidentially tries read the root_gfn from the guest before it figures
out that it runs with tdp and omits the gfn read from the guest.
I need to touch this for nested-npt and will look into a way improving
this.

Joerg


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/