linux/arch/x86
Huang, Ying 84e0fdb175 x86: NX bit handling in change_page_attr()
This patch fixes a bug of change_page_attr/change_page_attr_addr on
Intel x86_64 CPUs.  After changing page attribute to be executable with
these functions, the page remains un-executable on Intel x86_64 CPU.
Because on Intel x86_64 CPU, only if the "NX" bits of all four level
page tables are cleared, 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>
Cc: Andi Kleen <ak@suse.de>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2007-10-17 20:15:43 +02:00
..
boot [x86] remove uses of magic macros for boot_params access 2007-10-16 17:38:31 -07:00
crypto x86_64: move crypto 2007-10-11 11:17:03 +02:00
ia32 x86_64: Fix compat emulation of PTRACE_GET/SET_THREAD_AREA 2007-10-17 20:15:34 +02:00
kernel x86: prepare page allocator for high allocations on PAGEALLOC=y 2007-10-17 20:15:38 +02:00
lib x86: fix off-by-one in find_next_zero_string 2007-10-17 20:15:22 +02:00
mach-default [x86] remove uses of magic macros for boot_params access 2007-10-16 17:38:31 -07:00
mach-es7000 i386: move mach-es7000 2007-10-11 11:16:50 +02:00
mach-generic Merge branch 'dmi-const' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/misc-2.6 2007-10-11 19:18:45 -07:00
mach-visws [x86] remove uses of magic macros for boot_params access 2007-10-16 17:38:31 -07:00
mach-voyager [x86] remove uses of magic macros for boot_params access 2007-10-16 17:38:31 -07:00
math-emu kbuild: fix up CFLAGS usage 2007-10-14 21:49:42 +02:00
mm x86: NX bit handling in change_page_attr() 2007-10-17 20:15:43 +02:00
oprofile i386: make Oprofile call shutdown() only once per session 2007-10-17 20:15:14 +02:00
pci Merge branch 'dmi-const' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/misc-2.6 2007-10-11 19:18:45 -07:00
power i386: move power 2007-10-11 11:16:34 +02:00
vdso x86: Install unstripped copy of 64bit vdso to disk 2007-10-17 20:15:20 +02:00
video i386: move video 2007-10-11 11:16:56 +02:00
xen [x86] remove uses of magic macros for boot_params access 2007-10-16 17:38:31 -07:00