Lines Matching full:fault
5 * Derived from "arch/i386/mm/fault.c"
158 vm_fault_t fault) in do_sigbus() argument
173 if (fault & (VM_FAULT_HWPOISON|VM_FAULT_HWPOISON_LARGE)) { in do_sigbus()
174 pr_err("MCE: Killing %s:%d due to hardware memory corruption fault at %lx\n", in do_sigbus()
179 if (fault & VM_FAULT_HWPOISON_LARGE) in do_sigbus()
180 lsb = hstate_index_to_shift(VM_FAULT_GET_HINDEX(fault)); in do_sigbus()
181 if (fault & VM_FAULT_HWPOISON) in do_sigbus()
190 vm_fault_t fault) in mm_fault_error() argument
193 * Kernel page fault interrupted by SIGKILL. We have no reason to in mm_fault_error()
200 if (fault & VM_FAULT_OOM) { in mm_fault_error()
203 * made us unable to handle the page fault gracefully. in mm_fault_error()
209 if (fault & (VM_FAULT_SIGBUS|VM_FAULT_HWPOISON| in mm_fault_error()
211 return do_sigbus(regs, addr, fault); in mm_fault_error()
212 else if (fault & VM_FAULT_SIGSEGV) in mm_fault_error()
220 /* Is this a bad kernel fault ? */
254 /* get user regs even if this fault is in kernel mode */ in bad_stack_expansion()
320 * fault path, handle_mm_fault() also does the same check. To avoid in access_error()
351 * fault instead of DSISR_PROTFAULT. in sanity_check_fault()
360 * sync between D/I cache via fault. But that is handled via low level in sanity_check_fault()
361 * hash fault code (hash_page_do_lazy_icache()) and we should not reach in sanity_check_fault()
370 * set_pte_at while taking the noexec/prot fault. Hence this is WARN_ON in sanity_check_fault()
373 * For radix, we can get prot fault for autonuma case, because radix in sanity_check_fault()
403 * for a data fault, SRR1 for an instruction fault. For 400-family processors
404 * the error_code parameter is ESR for a data fault, 0 for an instruction
405 * fault.
407 * - DSISR for a non-SLB data access fault,
408 * - SRR1 & 0x08000000 for a non-SLB instruction access fault
409 * - 0 any SLB fault.
411 * The return value is 0 if the fault was handled, or the signal
412 * number if this is a kernel fault that can't be handled here.
423 vm_fault_t fault, major = 0; in __do_page_fault() local
441 * The kernel should never take an execute fault nor should it in __do_page_fault()
442 * take a page fault to a kernel address. in __do_page_fault()
449 * in a region with pagefaults disabled then we must not take the fault in __do_page_fault()
453 printk_ratelimited(KERN_ERR "Page fault in user mode" in __do_page_fault()
472 * can result in fault, which will cause a deadlock when called with in __do_page_fault()
485 * erroneous fault occurring in a code path which already holds mmap_sem in __do_page_fault()
486 * we will deadlock attempting to validate the fault against the in __do_page_fault()
542 * If for any reason at all we couldn't handle the fault, in __do_page_fault()
544 * the fault. in __do_page_fault()
546 fault = handle_mm_fault(vma, address, flags); in __do_page_fault()
553 if (unlikely(fault & VM_FAULT_SIGSEGV) && in __do_page_fault()
563 major |= fault & VM_FAULT_MAJOR; in __do_page_fault()
569 if (unlikely(fault & VM_FAULT_RETRY)) { in __do_page_fault()
591 if (unlikely(fault & VM_FAULT_ERROR)) in __do_page_fault()
592 return mm_fault_error(regs, address, fault); in __do_page_fault()
595 * Major/minor page fault accounting. in __do_page_fault()
628 /* Are we prepared to handle this fault? */ in bad_page_fault()
653 pr_alert("BUG: Unable to handle unknown paging fault at 0x%08lx\n", in bad_page_fault()