Roland Dreier wrote:
I'm running a 64-bit Fedora 6 install as a guest on a host running
2.6.20-rc4 with the kvm-10 userspace release.  The CPU is a Xeon 5160
and I have 6 GB of RAM.  The guest is given 512 MB of memory.  I left
the guest idle overnight, and the makewhatis cron job seems to have
triggered this:

    Unable to handle kernel paging request at ffff81000ba04000 RIP:
     [<ffffffff8025f402>] clear_page+0x16/0x44

I've managed to reproduce a bug with similar characteristics: a write fault into a present, writable kernel page. The attached patch should fix it.

--
Do not meddle in the internals of kernels, for they are subtle and quick to 
panic.

Index: b/drivers/kvm/paging_tmpl.h
===================================================================
--- a/drivers/kvm/paging_tmpl.h	(revision 4270)
+++ b/drivers/kvm/paging_tmpl.h	(working copy)
@@ -274,7 +274,7 @@
 	struct kvm_mmu_page *page;
 
 	if (is_writeble_pte(*shadow_ent))
-		return 0;
+		return 1;
 
 	writable_shadow = *shadow_ent & PT_SHADOW_WRITABLE_MASK;
 	if (user) {

Reply via email to