Message ID | 1609339156-61806-1-git-send-email-guoren@kernel.org (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | riscv: mm: abort uaccess retries upon fatal signal | expand |
On Wed, Dec 30, 2020 at 4:40 PM <guoren@kernel.org> wrote: > From: Guo Ren <guoren@linux.alibaba.com> > > Pick up the patch from the 'Link' made by Mark Rutland. Keep the > same with x86, arm, arm64, arc, sh, power. > > Link: https://lore.kernel.org/linux-arm-kernel/1499782763-31418-1-git-send-email-mark.rutland@arm.com/ > Signed-off-by: Guo Ren <guoren@linux.alibaba.com> > Cc: Mark Rutland <mark.rutland@arm.com> > Cc: Pekka Enberg <penberg@kernel.org> > Cc: Palmer Dabbelt <palmer@dabbelt.com> Reviewed-by: Pekka Enberg <penberg@kernel.org>
diff --git a/arch/riscv/mm/fault.c b/arch/riscv/mm/fault.c index 3c8b9e4..7f5f45b 100644 --- a/arch/riscv/mm/fault.c +++ b/arch/riscv/mm/fault.c @@ -280,8 +280,11 @@ asmlinkage void do_page_fault(struct pt_regs *regs) * signal first. We do not need to release the mmap_lock because it * would already be released in __lock_page_or_retry in mm/filemap.c. */ - if (fault_signal_pending(fault, regs)) + if (fault_signal_pending(fault, regs)) { + if (!user_mode(regs)) + no_context(regs, addr); return; + } if (unlikely((fault & VM_FAULT_RETRY) && (flags & FAULT_FLAG_ALLOW_RETRY))) { flags |= FAULT_FLAG_TRIED;