]> pilppa.org Git - linux-2.6-omap-h63xx.git/commit
x86: fix NX bit handling in change_page_attr()
authorHuang, Ying <ying.huang@intel.com>
Wed, 30 Jan 2008 12:34:04 +0000 (13:34 +0100)
committerIngo Molnar <mingo@elte.hu>
Wed, 30 Jan 2008 12:34:04 +0000 (13:34 +0100)
commit4c881ca1819da180b047f87eedeb9a5957918705
tree0181936dae49d098e98f629344ace9ad1daa15c9
parent8192206df093e8fc607b5072ce71a930d44f8638
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>
arch/x86/mm/pageattr.c