Re: [PATCH 3/3] kvm mmu: alloc shadow pages with __GFP_ZERO

Avi Kivity
2009-02-18T14:13:48Z

Joerg Roedel wrote:
>> sp->spt is allocated using mmu_memory_cache_alloc(), which zeros the page. How can the assertion fail?
>>
>
> In the code I see (current kvm-git) mmu_memory_cache_alloc() does zero
> nothing. It takes the page from the preallocated pool and returns it.
> The pool itself is filled with mmu_topup_memory_caches() which calls
> mmu_topup_memory_cache_page() to fill the mmu_page_cache (from which the
> sp->spt page is allocated later). And the mmu_topup_memory_cache_page()
> function calls alloc_page() and does not zero the result. This let the
> assertion trigger.
>

Right, I was looking at the 2.6.29 tree. The patch is correct (and the
others look good as well). As usual, I'd like Marcelo to take a look as
well.

--
I have a truly marvellous patch that fixes the bug which this
signature is too narrow to contain.