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

Avi Kivity
2010-05-04T12:04:22Z

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