diff options
Diffstat (limited to 'arch')
-rw-r--r-- | arch/sh/include/asm/fixmap.h | 2 | ||||
-rw-r--r-- | arch/sh/mm/fault.c | 4 |
2 files changed, 3 insertions, 3 deletions
diff --git a/arch/sh/include/asm/fixmap.h b/arch/sh/include/asm/fixmap.h index 41cda12..cbe0186 100644 --- a/arch/sh/include/asm/fixmap.h +++ b/arch/sh/include/asm/fixmap.h @@ -94,7 +94,7 @@ extern void __clear_fixmap(enum fixed_addresses idx, pgprot_t flags); * at the top of mem.. */ #ifdef CONFIG_SUPERH32 -#define FIXADDR_TOP (P3_ADDR_MAX - PAGE_SIZE) +#define FIXADDR_TOP (P4SEG - PAGE_SIZE) #else #define FIXADDR_TOP ((unsigned long)(-PAGE_SIZE)) #endif diff --git a/arch/sh/mm/fault.c b/arch/sh/mm/fault.c index 16799f9..b0345f0 100644 --- a/arch/sh/mm/fault.c +++ b/arch/sh/mm/fault.c @@ -169,8 +169,8 @@ static noinline int vmalloc_fault(unsigned long address) pmd_t *pmd_k; pte_t *pte_k; - /* Make sure we are in vmalloc/module area: */ - if (!is_vmalloc_addr((void *)address)) + /* Make sure we are in vmalloc/module/P3 area: */ + if (!(address >= P3SEG && address < P3_ADDR_MAX)) return -1; /* |