diff options
author | Thomas Gleixner <tglx@linutronix.de> | 2008-02-04 16:48:08 +0100 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2008-02-04 16:48:08 +0100 |
commit | 7bfb72e847c201fe32271fb13f75d060671d8890 (patch) | |
tree | c00cf13f19c508548819c249c068d043d692213a /arch/x86 | |
parent | 6ce9fc17d913ae51f8434d2826f306347820b07d (diff) | |
download | linux-7bfb72e847c201fe32271fb13f75d060671d8890.tar.gz linux-7bfb72e847c201fe32271fb13f75d060671d8890.tar.bz2 linux-7bfb72e847c201fe32271fb13f75d060671d8890.zip |
x86: fix page-present check in cpa_flush_range
pte_present() might return true for PROT_NONE mappings.
Explicitely check the present bit.
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'arch/x86')
-rw-r--r-- | arch/x86/mm/pageattr.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/x86/mm/pageattr.c b/arch/x86/mm/pageattr.c index 0b029c97174e..9be684e61dcb 100644 --- a/arch/x86/mm/pageattr.c +++ b/arch/x86/mm/pageattr.c @@ -119,7 +119,7 @@ static void cpa_flush_range(unsigned long start, int numpages, int cache) /* * Only flush present addresses: */ - if (pte && pte_present(*pte)) + if (pte && (pte_val(*pte) & _PAGE_PRESENT)) clflush_cache_range((void *) addr, PAGE_SIZE); } } |