1
linux/arch/x86/mm
Huang, Ying 4c881ca181 x86: fix NX bit handling in change_page_attr()
This patch fixes a bug of change_page_attr/change_page_attr_addr on
Intel i386/x86_64 CPUs.  After changing page attribute to be
executable with these functions, the page remains un-executable on
Intel i386/x86_64 CPU.  Because on Intel i386/x86_64 CPU, only if the
"NX" bits of all three level page tables are cleared (PAE is enabled),
the corresponding page is executable (refer to section 4.13.2 of Intel
64 and IA-32 Architectures Software Developer's Manual).  So, the bug
is fixed through clearing the "NX" bit of PMD when splitting the huge
PMD.

Signed-off-by: Huang Ying <ying.huang@intel.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2008-01-30 13:34:04 +01:00
..
discontig_32.c x86: make NUMA work on 32-bit 2008-01-30 13:33:25 +01:00
extable.c x86: unify extable_{32|64}.c 2008-01-30 13:31:41 +01:00
fault_32.c x86: return the page table level in lookup_address() 2008-01-30 13:33:43 +01:00
fault_64.c x86: update reliability argument to printk_address 2008-01-30 13:33:24 +01:00
highmem_32.c x86: kmap_atomic() debugging 2008-01-30 13:30:47 +01:00
hugetlbpage.c x86: demacro asm-x86/pgalloc_32.h 2008-01-30 13:33:39 +01:00
init_32.c x86: remove set_kernel_exec() 2008-01-30 13:33:53 +01:00
init_64.c x86: fix early_ioremap() on 64-bit 2008-01-30 13:33:54 +01:00
ioremap_32.c x86: early_ioremap_init(), enhance warnings 2008-01-30 13:33:49 +01:00
ioremap_64.c x86: set strong uncacheable where UC is really desired 2008-01-30 13:33:43 +01:00
k8topology_64.c x86: clean up k8topology.c 2008-01-30 13:32:36 +01:00
Makefile
Makefile_32 x86: unify pageattr_32.c and pageattr_64.c 2008-01-30 13:34:03 +01:00
Makefile_64 x86: unify pageattr_32.c and pageattr_64.c 2008-01-30 13:34:03 +01:00
mmap.c x86: unify mmap_{32|64}.c 2008-01-30 13:31:10 +01:00
numa_64.c x86: early cpu_to_node fix in numa_64.c 2008-01-30 13:33:33 +01:00
pageattr-test.c x86: add PG_LEVEL enum 2008-01-30 13:34:04 +01:00
pageattr.c x86: fix NX bit handling in change_page_attr() 2008-01-30 13:34:04 +01:00
pgtable_32.c x86: allocate and initialize unshared pmds 2008-01-30 13:33:40 +01:00
srat_64.c x86: fix section mismatch warning in srat_64.c 2008-01-30 13:33:37 +01:00