84e0fdb175
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> |
||
---|---|---|
.. | ||
boot_ioremap_32.c | ||
discontig_32.c | ||
extable_32.c | ||
extable_64.c | ||
fault_32.c | ||
fault_64.c | ||
highmem_32.c | ||
hugetlbpage.c | ||
init_32.c | ||
init_64.c | ||
ioremap_32.c | ||
ioremap_64.c | ||
k8topology_64.c | ||
Makefile | ||
Makefile_32 | ||
Makefile_64 | ||
mmap_32.c | ||
mmap_64.c | ||
numa_64.c | ||
pageattr_32.c | ||
pageattr_64.c | ||
pgtable_32.c | ||
srat_64.c |