x86: make spurious fault handler aware of large mappings
authorThomas Gleixner <tglx@linutronix.de>
Wed, 6 Feb 2008 21:39:43 +0000 (22:39 +0100)
committerIngo Molnar <mingo@elte.hu>
Wed, 6 Feb 2008 21:39:43 +0000 (22:39 +0100)
commitd8b57bb700a73872fd06b891d7c9bc4cea1a6af4
treea1667f46fd808cbd904eb5ccbabca4c35c48dde3
parent3aa4b37d3e899cfe7a9cbdcda2b277df4c1f210d
x86: make spurious fault handler aware of large mappings

In very rare cases, on certain CPUs, we could end up in the spurious
fault handler and ignore a large pud/pmd mapping. The resulting pte
pointer points into the mapped physical space and dereferencing it
will fault recursively.

Make the code aware of large mappings and do the permission check
on the pmd/pud entry, when a large pud/pmd mapping is detected.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
arch/x86/mm/fault.c