riscv/mm/fault: Move FAULT_FLAG_WRITE handling in do_page_fault()
Let's handle the translation of EXC_STORE_PAGE_FAULT to FAULT_FLAG_WRITE once before looking up the VMA. This makes it easier to extract access error logic in the next patch. Signed-off-by: Pekka Enberg <penberg@kernel.org> Signed-off-by: Palmer Dabbelt <palmerdabbelt@google.com>
This commit is contained in:
Родитель
7a75f3d47a
Коммит
6747430197
|
@ -208,6 +208,9 @@ asmlinkage void do_page_fault(struct pt_regs *regs)
|
|||
|
||||
perf_sw_event(PERF_COUNT_SW_PAGE_FAULTS, 1, regs, addr);
|
||||
|
||||
if (cause == EXC_STORE_PAGE_FAULT)
|
||||
flags |= FAULT_FLAG_WRITE;
|
||||
|
||||
retry:
|
||||
mmap_read_lock(mm);
|
||||
vma = find_vma(mm, addr);
|
||||
|
@ -251,7 +254,6 @@ good_area:
|
|||
bad_area(regs, mm, code, addr);
|
||||
return;
|
||||
}
|
||||
flags |= FAULT_FLAG_WRITE;
|
||||
break;
|
||||
default:
|
||||
panic("%s: unhandled cause %lu", __func__, cause);
|
||||
|
|
Загрузка…
Ссылка в новой задаче