• Home
  • Raw
  • Download

Lines Matching full:fault

8  *  Derived from "arch/i386/mm/fault.c"
181 pr_alert("Fault in "); in dump_fault_info()
227 printk(KERN_ALERT "User process fault: interruption code %04x ilc:%d ", in report_user_fault()
247 static noinline void do_no_context(struct pt_regs *regs, vm_fault_t fault) in do_no_context() argument
256 if ((fault_type == KERNEL_FAULT) && (fault == VM_FAULT_BADCONTEXT)) { in do_no_context()
298 static noinline void do_fault_error(struct pt_regs *regs, vm_fault_t fault) in do_fault_error() argument
302 switch (fault) { in do_fault_error()
308 si_code = (fault == VM_FAULT_BADMAP) ? in do_fault_error()
316 do_no_context(regs, fault); in do_fault_error()
320 do_no_context(regs, fault); in do_fault_error()
322 default: /* fault & VM_FAULT_ERROR */ in do_fault_error()
323 if (fault & VM_FAULT_OOM) { in do_fault_error()
325 do_no_context(regs, fault); in do_fault_error()
328 } else if (fault & VM_FAULT_SIGSEGV) { in do_fault_error()
331 do_no_context(regs, fault); in do_fault_error()
334 } else if (fault & VM_FAULT_SIGBUS) { in do_fault_error()
337 do_no_context(regs, fault); in do_fault_error()
366 vm_fault_t fault; in do_exception() local
384 * Verify that the fault happened in user space, that in do_exception()
388 fault = VM_FAULT_BADCONTEXT; in do_exception()
417 fault = handle_mm_fault(vma, address, flags | FAULT_FLAG_VMA_LOCK, regs); in do_exception()
418 if (!(fault & (VM_FAULT_RETRY | VM_FAULT_COMPLETED))) in do_exception()
420 if (!(fault & VM_FAULT_RETRY)) { in do_exception()
422 if (likely(!(fault & VM_FAULT_ERROR))) in do_exception()
423 fault = 0; in do_exception()
428 if (fault_signal_pending(fault, regs)) { in do_exception()
429 fault = VM_FAULT_SIGNAL; in do_exception()
443 fault = VM_FAULT_BADMAP; in do_exception()
451 fault = VM_FAULT_BADMAP; in do_exception()
468 fault = VM_FAULT_BADACCESS; in do_exception()
473 * If for any reason at all we couldn't handle the fault, in do_exception()
475 * the fault. in do_exception()
477 fault = handle_mm_fault(vma, address, flags, regs); in do_exception()
478 if (fault_signal_pending(fault, regs)) { in do_exception()
479 fault = VM_FAULT_SIGNAL; in do_exception()
485 /* The fault is fully completed (including releasing mmap lock) */ in do_exception()
486 if (fault & VM_FAULT_COMPLETED) { in do_exception()
491 fault = 0; in do_exception()
495 if (unlikely(fault & VM_FAULT_ERROR)) in do_exception()
498 if (fault & VM_FAULT_RETRY) { in do_exception()
506 fault = VM_FAULT_PFAULT; in do_exception()
519 fault = VM_FAULT_BADMAP; in do_exception()
523 fault = VM_FAULT_OOM; in do_exception()
527 fault = 0; in do_exception()
531 return fault; in do_exception()
538 vm_fault_t fault; in do_protection_exception() local
561 fault = VM_FAULT_BADACCESS; in do_protection_exception()
564 fault = do_exception(regs, access); in do_protection_exception()
566 if (unlikely(fault)) in do_protection_exception()
567 do_fault_error(regs, fault); in do_protection_exception()
574 vm_fault_t fault; in do_dat_exception() local
577 fault = do_exception(regs, access); in do_dat_exception()
578 if (unlikely(fault)) in do_dat_exception()
579 do_fault_error(regs, fault); in do_dat_exception()
606 * memory. Trigger a segmentation fault. in do_secure_storage_access()