summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--arch/sh/mm/fault.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/arch/sh/mm/fault.c b/arch/sh/mm/fault.c
index 7a03ffe6dadd..dc461d2bc183 100644
--- a/arch/sh/mm/fault.c
+++ b/arch/sh/mm/fault.c
@@ -210,10 +210,11 @@ asmlinkage int __do_page_fault(struct pt_regs *regs, unsigned long writeaccess,
* are always mapped, whether it be due to legacy behaviour in
* 29-bit mode, or due to PMB configuration in 32-bit mode.
*/
- if (address >= P3SEG && address < P3_ADDR_MAX)
+ if (address >= P3SEG && address < P3_ADDR_MAX) {
pgd = pgd_offset_k(address);
- else {
- if (unlikely(address >= TASK_SIZE || !current->mm))
+ mm = NULL;
+ } else {
+ if (unlikely(address >= TASK_SIZE || !(mm = current->mm)))
return 1;
pgd = pgd_offset(current->mm, address);