Re: [kvm-devel] guest crash on 2.6.20-rc4

From: Avi Kivity
Date: Tue Jan 09 2007 - 16:27:26 EST


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) {