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