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

[Xen-changelog] Check for the entire kernel range for temporarily cleared PMD entries.



# HG changeset patch
# User cl349@xxxxxxxxxxxxxxxxxxxx
# Node ID d2f42c284459b4b29e82e46c32b2f0908a200a74
# Parent  c62a5327e6a8c3915d4c6dd8547d68f1a3c75d45
Check for the entire kernel range for temporarily cleared PMD entries.

From: Jan Beulich <JBeulich@xxxxxxxxxx>
Signed-off-by: Christian Limpach <Christian.Limpach@xxxxxxxxxxxx>

diff -r c62a5327e6a8 -r d2f42c284459 
linux-2.6-xen-sparse/arch/x86_64/mm/fault-xen.c
--- a/linux-2.6-xen-sparse/arch/x86_64/mm/fault-xen.c   Thu Feb 16 11:25:36 2006
+++ b/linux-2.6-xen-sparse/arch/x86_64/mm/fault-xen.c   Thu Feb 16 11:30:44 2006
@@ -366,12 +366,12 @@
         */
        if (unlikely(address >= TASK_SIZE64)) {
                /*
-                * Don't check for the module range here: its PML4
-                * is always initialized because it's shared with the main
-                * kernel text. Only vmalloc may need PML4 syncups.
+                * Must check for the entire kernel range here: with writable
+                * page tables the hypervisor may temporarily clear PMD
+                * entries.
                 */
                if (!(error_code & (PF_RSVD|PF_USER|PF_PROT)) &&
-                     ((address >= VMALLOC_START && address < VMALLOC_END))) {
+                   address >= PAGE_OFFSET) {
                        if (vmalloc_fault(address) < 0)
                                goto bad_area_nosemaphore;
                        return;

_______________________________________________
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®.