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

From: Avi Kivity
Date: Wed Feb 18 2009 - 09:13:59 EST


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.

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