diff --git a/[refs] b/[refs] index 15b0a686b0a0..93724e03a2f0 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: c470662854ff94d44bf8c192cefac3efa33db676 +refs/heads/master: f647d33f879d258de4ab2559975bd6eebda2033e diff --git a/trunk/arch/sh/mm/fault.c b/trunk/arch/sh/mm/fault.c index 7a03ffe6dadd..dc461d2bc183 100644 --- a/trunk/arch/sh/mm/fault.c +++ b/trunk/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);