[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-changelog] Fix vmalloc fault path in arch/xen/i386 to correctly deal



# HG changeset patch
# User kaf24@xxxxxxxxxxxxxxxxxxxx
# Node ID 60bf463f79a85d92f55bbe42c45856fc791dd7d7
# Parent  aeaa3c83f6e5359d71e920d8d60faeaae776c877
Fix vmalloc fault path in arch/xen/i386 to correctly deal
with _PAGE_PRESENT being missing from init_mm's pmd
entry (*pmd_k).

Signed-off-by: Jun Nakajima <jun.nakajima@xxxxxxxxx>
Signed-off-by: Keir Fraser <keir@xxxxxxxxxxxxx>

diff -r aeaa3c83f6e5 -r 60bf463f79a8 
linux-2.6-xen-sparse/arch/xen/i386/mm/fault.c
--- a/linux-2.6-xen-sparse/arch/xen/i386/mm/fault.c     Mon Sep  5 20:05:58 2005
+++ b/linux-2.6-xen-sparse/arch/xen/i386/mm/fault.c     Tue Sep  6 09:44:58 2005
@@ -588,7 +588,15 @@
                pmd_k = pmd_offset(pud_k, address);
                if (!pmd_present(*pmd_k))
                        goto no_context;
+#ifndef CONFIG_XEN
                set_pmd(pmd, *pmd_k);
+#else
+               /*
+                * When running on Xen we must launder *pmd_k through
+                * pmd_val() to ensure that _PAGE_PRESENT is correctly set.
+                */
+               set_pmd(pmd, __pmd(pmd_val(*pmd_k)));
+#endif
 
                pte_k = pte_offset_kernel(pmd_k, address);
                if (!pte_present(*pte_k))

_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.