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

[Xen-devel] [PATCH] linux/x86-64: force _PAGE_NX on the 1:1 mapping (matching native)



Signed-off-by: Jan Beulich <jbeulich@xxxxxxxxxx>

Index: head-2007-04-27/arch/x86_64/mm/init-xen.c
===================================================================
--- head-2007-04-27.orig/arch/x86_64/mm/init-xen.c      2007-05-10 
13:23:24.000000000 +0200
+++ head-2007-04-27/arch/x86_64/mm/init-xen.c   2007-05-10 13:24:27.000000000 
+0200
@@ -479,18 +479,15 @@ phys_pmd_init(pmd_t *pmd_page, unsigned 
                pte = alloc_static_page(&pte_phys);
                pte_save = pte;
                for (k = 0; k < PTRS_PER_PTE; pte++, k++, address += PTE_SIZE) {
+                       unsigned long pteval = address | _PAGE_NX | 
_KERNPG_TABLE;
+
                        if ((address >= end) ||
                            ((address >> PAGE_SHIFT) >=
-                            xen_start_info->nr_pages)) { 
-                               __set_pte(pte, __pte(0)); 
-                               continue;
-                       }
-                       if (make_readonly(address)) {
-                               __set_pte(pte, 
-                                         __pte(address | (_KERNPG_TABLE & 
~_PAGE_RW)));
-                               continue;
-                       }
-                       __set_pte(pte, __pte(address | _KERNPG_TABLE));
+                            xen_start_info->nr_pages))
+                               pteval = 0;
+                       else if (make_readonly(address))
+                               pteval &= ~_PAGE_RW;
+                       __set_pte(pte, __pte(pteval & __supported_pte_mask));
                }
                pte = pte_save;
                early_make_page_readonly(pte, XENFEAT_writable_page_tables);




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


 


Rackspace

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