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

From: Avi Kivity
Date: Tue May 04 2010 - 08:04:29 EST


On 05/04/2010 03:00 PM, Roedel, Joerg wrote:
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.

Yes. I had a patchset which moved the 'direct' calculation before, and skipped root_gfn if it was direct, but it was broken. If you like I can resurrect it, but it may interfere with your work.

--
error compiling committee.c: too many arguments to function

--
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/