Loading arch/arm64/mm/fault.c +2 −1 Original line number Diff line number Diff line Loading @@ -335,7 +335,8 @@ static int __kprobes do_page_fault(unsigned long addr, unsigned int esr, if (is_el0_instruction_abort(esr)) { vm_flags = VM_EXEC; } else if (esr & ESR_ELx_WNR) { } else if (((esr & ESR_ELx_WNR) && !(esr & ESR_ELx_CM)) || ((esr & ESR_ELx_CM) && !(mm_flags & FAULT_FLAG_USER))) { vm_flags = VM_WRITE; mm_flags |= FAULT_FLAG_WRITE; } Loading Loading
arch/arm64/mm/fault.c +2 −1 Original line number Diff line number Diff line Loading @@ -335,7 +335,8 @@ static int __kprobes do_page_fault(unsigned long addr, unsigned int esr, if (is_el0_instruction_abort(esr)) { vm_flags = VM_EXEC; } else if (esr & ESR_ELx_WNR) { } else if (((esr & ESR_ELx_WNR) && !(esr & ESR_ELx_CM)) || ((esr & ESR_ELx_CM) && !(mm_flags & FAULT_FLAG_USER))) { vm_flags = VM_WRITE; mm_flags |= FAULT_FLAG_WRITE; } Loading