diff options
author | Jeremy Fitzhardinge <jeremy@goop.org> | 2009-03-06 10:09:26 -0800 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2009-03-08 20:03:52 +0100 |
commit | 0feca851c1b3cb4ebfa3149144b3d5de0879ebaa (patch) | |
tree | 41762096e1faebbc512b07fcfb7627fa2d1c688e /arch/x86/mm | |
parent | e954ef20c29b7af07a8cb5452f14fb69e3d9d2b2 (diff) | |
download | blackbird-op-linux-0feca851c1b3cb4ebfa3149144b3d5de0879ebaa.tar.gz blackbird-op-linux-0feca851c1b3cb4ebfa3149144b3d5de0879ebaa.zip |
x86-32: make sure virt_addr_valid() returns false for fixmap addresses
I found that virt_addr_valid() was returning true for fixmap addresses.
I'm not sure whether pfn_valid() is supposed to include this test,
but there's no harm in being explicit.
Signed-off-by: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
Cc: Jiri Slaby <jirislaby@gmail.com>
Cc: Yinghai Lu <yinghai@kernel.org>
LKML-Reference: <49B166D6.2080505@goop.org>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'arch/x86/mm')
-rw-r--r-- | arch/x86/mm/ioremap.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/arch/x86/mm/ioremap.c b/arch/x86/mm/ioremap.c index 62773abdf088..62def5795730 100644 --- a/arch/x86/mm/ioremap.c +++ b/arch/x86/mm/ioremap.c @@ -87,6 +87,8 @@ bool __virt_addr_valid(unsigned long x) return false; if (__vmalloc_start_set && is_vmalloc_addr((void *) x)) return false; + if (x >= FIXADDR_START) + return false; return pfn_valid((x - PAGE_OFFSET) >> PAGE_SHIFT); } EXPORT_SYMBOL(__virt_addr_valid); |