| From: Kefeng Wang <wangkefeng.wang@huawei.com> |
| Subject: riscv-mm-accelerate-pagefault-when-badaccess-fix |
| Date: Wed, 10 Apr 2024 16:07:41 +0800 |
| |
| use `cause' rather than SIGSEGV, per Alexandre |
| |
| Link: https://lkml.kernel.org/r/ac978061-ce1a-40a4-8b0a-61883b42bea7@huawei.com |
| Signed-off-by: Kefeng Wang <wangkefeng.wang@huawei.com> |
| Reviewed-by: Alexandre Ghiti <alexghiti@rivosinc.com> |
| Tested-by: Alexandre Ghiti <alexghiti@rivosinc.com> |
| Signed-off-by: Andrew Morton <akpm@linux-foundation.org> |
| --- |
| |
| arch/riscv/mm/fault.c | 4 ++-- |
| 1 file changed, 2 insertions(+), 2 deletions(-) |
| |
| --- a/arch/riscv/mm/fault.c~riscv-mm-accelerate-pagefault-when-badaccess-fix |
| +++ a/arch/riscv/mm/fault.c |
| @@ -293,8 +293,8 @@ void handle_page_fault(struct pt_regs *r |
| if (unlikely(access_error(cause, vma))) { |
| vma_end_read(vma); |
| count_vm_vma_lock_event(VMA_LOCK_SUCCESS); |
| - tsk->thread.bad_cause = SEGV_ACCERR; |
| - bad_area_nosemaphore(regs, code, addr); |
| + tsk->thread.bad_cause = cause; |
| + bad_area_nosemaphore(regs, SEGV_ACCERR, addr); |
| return; |
| } |
| |
| _ |