public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH]x86: make spurious_fault check correct pte bit
@ 2010-07-27  8:06 Shaohua Li
  2010-08-26 23:13 ` [tip:x86/mm] x86, mm: Make spurious_fault check explicitly check the PRESENT bit tip-bot for Shaohua Li
  0 siblings, 1 reply; 2+ messages in thread
From: Shaohua Li @ 2010-07-27  8:06 UTC (permalink / raw)
  To: lkml; +Cc: Ingo Molnar, Andrew Morton, H. Peter Anvin, Huang, Ying

pte_present() returns true even present bit isn't set but _PAGE_PROTNONE
(global bit) bit is set. While with CONFIG_DEBUG_PAGEALLOC, free pages have
global bit set but present bit clear. This patch makes we could catch
free pages access with CONFIG_DEBUG_PAGEALLOC enabled.

Signed-off-by: Shaohua Li <shaohua.li@intel.com>

diff --git a/arch/x86/mm/fault.c b/arch/x86/mm/fault.c
index f627779..93afd78 100644
--- a/arch/x86/mm/fault.c
+++ b/arch/x86/mm/fault.c
@@ -893,7 +893,7 @@ spurious_fault(unsigned long error_code, unsigned long address)
 		return spurious_fault_check(error_code, (pte_t *) pmd);
 
 	pte = pte_offset_kernel(pmd, address);
-	if (!pte_present(*pte))
+	if (!(pte_flags(*pte) & _PAGE_PRESENT))
 		return 0;
 
 	ret = spurious_fault_check(error_code, pte);




^ permalink raw reply related	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2010-08-26 23:13 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-07-27  8:06 [PATCH]x86: make spurious_fault check correct pte bit Shaohua Li
2010-08-26 23:13 ` [tip:x86/mm] x86, mm: Make spurious_fault check explicitly check the PRESENT bit tip-bot for Shaohua Li

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox