mirror of https://gitee.com/openkylin/linux.git
sh64: Fix up vmalloc fault range check.
With the previous attempt reverted this switches to conditionalizing the end address. Nominally VMALLOC_END, but extended for P3_ADDR_MAX in the store queue case. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
This commit is contained in:
parent
c3e0af9879
commit
d8fd35fc58
|
@ -160,6 +160,12 @@ static inline pmd_t *vmalloc_sync_one(pgd_t *pgd, unsigned long address)
|
|||
return pmd_k;
|
||||
}
|
||||
|
||||
#ifdef CONFIG_SH_STORE_QUEUES
|
||||
#define __FAULT_ADDR_LIMIT P3_ADDR_MAX
|
||||
#else
|
||||
#define __FAULT_ADDR_LIMIT VMALLOC_END
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Handle a fault on the vmalloc or module mapping area
|
||||
*/
|
||||
|
@ -170,7 +176,7 @@ static noinline int vmalloc_fault(unsigned long address)
|
|||
pte_t *pte_k;
|
||||
|
||||
/* Make sure we are in vmalloc/module/P3 area: */
|
||||
if (!(address >= P3SEG && address < P3_ADDR_MAX))
|
||||
if (!(address >= VMALLOC_START && address < __FAULT_ADDR_LIMIT))
|
||||
return -1;
|
||||
|
||||
/*
|
||||
|
|
Loading…
Reference in New Issue