• Home
  • Raw
  • Download

Lines Matching full:fault

2  * Based on arch/arm/mm/fault.c
280 * Are we prepared to handle this kernel fault? in __do_kernel_fault()
309 * an alignment fault not caused by the memory type would take in __do_user_fault()
310 * precedence over translation fault for a real access to empty in __do_user_fault()
311 * space. Unfortunately we can't easily distinguish "alignment fault in __do_user_fault()
312 * not caused by memory type" from "alignment fault caused by memory in __do_user_fault()
314 * fault.) in __do_user_fault()
324 * We always report the ESR as if the fault was taken in __do_user_fault()
326 * clear. (In fact it always will be a fault to EL1.) in __do_user_fault()
334 * Claim a level 0 translation fault. in __do_user_fault()
362 * handle this fault with. in do_bad_area()
387 vm_fault_t fault; in __do_page_fault() local
390 fault = VM_FAULT_BADMAP; in __do_page_fault()
402 * Check that the permissions on the VMA allow for the fault which in __do_page_fault()
406 fault = VM_FAULT_BADACCESS; in __do_page_fault()
416 return fault; in __do_page_fault()
430 vm_fault_t fault, major = 0; in do_page_fault() local
442 * the fault. in do_page_fault()
496 fault = __do_page_fault(mm, addr, mm_flags, vm_flags, tsk); in do_page_fault()
497 major |= fault & VM_FAULT_MAJOR; in do_page_fault()
499 if (fault & VM_FAULT_RETRY) { in do_page_fault()
527 if (likely(!(fault & (VM_FAULT_ERROR | VM_FAULT_BADMAP | in do_page_fault()
530 * Major/minor page fault accounting is only done in do_page_fault()
550 * handle this fault with. in do_page_fault()
555 if (fault & VM_FAULT_OOM) { in do_page_fault()
558 * userspace (which will retry the fault, or kill us if we got in do_page_fault()
568 if (fault & VM_FAULT_SIGBUS) { in do_page_fault()
571 * this page fault. in do_page_fault()
575 } else if (fault & VM_FAULT_HWPOISON_LARGE) { in do_page_fault()
576 unsigned int hindex = VM_FAULT_GET_HINDEX(fault); in do_page_fault()
581 } else if (fault & VM_FAULT_HWPOISON) { in do_page_fault()
591 si.si_code = fault == VM_FAULT_BADACCESS ? in do_page_fault()
623 return 1; /* "fault" */ in do_bad()
662 { do_bad, SIGKILL, SI_KERNEL, "ttbr address size fault" },
663 { do_bad, SIGKILL, SI_KERNEL, "level 1 address size fault" },
664 { do_bad, SIGKILL, SI_KERNEL, "level 2 address size fault" },
665 { do_bad, SIGKILL, SI_KERNEL, "level 3 address size fault" },
666 { do_translation_fault, SIGSEGV, SEGV_MAPERR, "level 0 translation fault" },
667 { do_translation_fault, SIGSEGV, SEGV_MAPERR, "level 1 translation fault" },
668 { do_translation_fault, SIGSEGV, SEGV_MAPERR, "level 2 translation fault" },
669 { do_translation_fault, SIGSEGV, SEGV_MAPERR, "level 3 translation fault" },
671 { do_page_fault, SIGSEGV, SEGV_ACCERR, "level 1 access flag fault" },
672 { do_page_fault, SIGSEGV, SEGV_ACCERR, "level 2 access flag fault" },
673 { do_page_fault, SIGSEGV, SEGV_ACCERR, "level 3 access flag fault" },
675 { do_page_fault, SIGSEGV, SEGV_ACCERR, "level 1 permission fault" },
676 { do_page_fault, SIGSEGV, SEGV_ACCERR, "level 2 permission fault" },
677 { do_page_fault, SIGSEGV, SEGV_ACCERR, "level 3 permission fault" },
695 { do_alignment_fault, SIGBUS, BUS_ADRALN, "alignment fault" },
711 { do_bad, SIGKILL, SI_KERNEL, "Unsupported atomic hardware update fault" },
714 { do_bad, SIGKILL, SI_KERNEL, "implementation fault (lockdown abort)" },
715 { do_bad, SIGBUS, BUS_OBJERR, "implementation fault (unsupported exclusive)" },
723 { do_bad, SIGKILL, SI_KERNEL, "section domain fault" },
724 { do_bad, SIGKILL, SI_KERNEL, "page domain fault" },
743 pr_alert("Unhandled fault at 0x%016lx\n", addr); in do_mem_abort()