Lines Matching refs:error_code
112 is_prefetch(struct pt_regs *regs, unsigned long error_code, unsigned long addr) in is_prefetch() argument
122 if (error_code & X86_PF_INSTR) in is_prefetch()
586 show_fault_oops(struct pt_regs *regs, unsigned long error_code, unsigned long address) in show_fault_oops() argument
591 if (error_code & X86_PF_INSTR) { in show_fault_oops()
619 (error_code & X86_PF_USER) ? "user" : "supervisor", in show_fault_oops()
620 (error_code & X86_PF_INSTR) ? "instruction fetch" : in show_fault_oops()
621 (error_code & X86_PF_WRITE) ? "write access" : in show_fault_oops()
624 pr_alert("#PF: error_code(0x%04lx) - %s\n", error_code, in show_fault_oops()
625 !(error_code & X86_PF_PROT) ? "not-present page" : in show_fault_oops()
626 (error_code & X86_PF_RSVD) ? "reserved bit violation" : in show_fault_oops()
627 (error_code & X86_PF_PK) ? "protection keys violation" : in show_fault_oops()
630 if (!(error_code & X86_PF_USER) && user_mode(regs)) { in show_fault_oops()
663 pgtable_bad(struct pt_regs *regs, unsigned long error_code, in pgtable_bad() argument
678 if (__die("Bad pagetable", regs, error_code)) in pgtable_bad()
685 unsigned long error_code) in set_signal_archinfo() argument
699 error_code |= X86_PF_PROT; in set_signal_archinfo()
702 tsk->thread.error_code = error_code | X86_PF_USER; in set_signal_archinfo()
707 no_context(struct pt_regs *regs, unsigned long error_code, in no_context() argument
724 if (fixup_exception(regs, X86_TRAP_PF, error_code, address)) { in no_context()
740 set_signal_archinfo(address, error_code); in no_context()
794 if (is_prefetch(regs, error_code, address)) in no_context()
814 show_fault_oops(regs, error_code, address); in no_context()
820 if (__die("Oops", regs, error_code)) in no_context()
834 show_signal_msg(struct pt_regs *regs, unsigned long error_code, in show_signal_msg() argument
847 (void *)regs->ip, (void *)regs->sp, error_code); in show_signal_msg()
866 __bad_area_nosemaphore(struct pt_regs *regs, unsigned long error_code, in __bad_area_nosemaphore() argument
872 if (user_mode(regs) && (error_code & X86_PF_USER)) { in __bad_area_nosemaphore()
882 if (is_prefetch(regs, error_code, address)) in __bad_area_nosemaphore()
894 error_code |= X86_PF_PROT; in __bad_area_nosemaphore()
897 show_signal_msg(regs, error_code, address, tsk); in __bad_area_nosemaphore()
899 set_signal_archinfo(address, error_code); in __bad_area_nosemaphore()
912 no_context(regs, error_code, address, SIGSEGV, si_code); in __bad_area_nosemaphore()
916 bad_area_nosemaphore(struct pt_regs *regs, unsigned long error_code, in bad_area_nosemaphore() argument
919 __bad_area_nosemaphore(regs, error_code, address, 0, SEGV_MAPERR); in bad_area_nosemaphore()
923 __bad_area(struct pt_regs *regs, unsigned long error_code, in __bad_area() argument
933 __bad_area_nosemaphore(regs, error_code, address, pkey, si_code); in __bad_area()
937 bad_area(struct pt_regs *regs, unsigned long error_code, unsigned long address) in bad_area() argument
939 __bad_area(regs, error_code, address, 0, SEGV_MAPERR); in bad_area()
942 static inline bool bad_area_access_from_pkeys(unsigned long error_code, in bad_area_access_from_pkeys() argument
950 if (error_code & X86_PF_PK) in bad_area_access_from_pkeys()
953 if (!arch_vma_access_permitted(vma, (error_code & X86_PF_WRITE), in bad_area_access_from_pkeys()
954 (error_code & X86_PF_INSTR), foreign)) in bad_area_access_from_pkeys()
960 bad_area_access_error(struct pt_regs *regs, unsigned long error_code, in bad_area_access_error() argument
968 if (bad_area_access_from_pkeys(error_code, vma)) { in bad_area_access_error()
991 __bad_area(regs, error_code, address, pkey, SEGV_PKUERR); in bad_area_access_error()
993 __bad_area(regs, error_code, address, 0, SEGV_ACCERR); in bad_area_access_error()
998 do_sigbus(struct pt_regs *regs, unsigned long error_code, unsigned long address, in do_sigbus() argument
1002 if (!(error_code & X86_PF_USER)) { in do_sigbus()
1003 no_context(regs, error_code, address, SIGBUS, BUS_ADRERR); in do_sigbus()
1008 if (is_prefetch(regs, error_code, address)) in do_sigbus()
1011 set_signal_archinfo(address, error_code); in do_sigbus()
1033 mm_fault_error(struct pt_regs *regs, unsigned long error_code, in mm_fault_error() argument
1036 if (fatal_signal_pending(current) && !(error_code & X86_PF_USER)) { in mm_fault_error()
1037 no_context(regs, error_code, address, 0, 0); in mm_fault_error()
1043 if (!(error_code & X86_PF_USER)) { in mm_fault_error()
1044 no_context(regs, error_code, address, in mm_fault_error()
1058 do_sigbus(regs, error_code, address, fault); in mm_fault_error()
1060 bad_area_nosemaphore(regs, error_code, address); in mm_fault_error()
1066 static int spurious_kernel_fault_check(unsigned long error_code, pte_t *pte) in spurious_kernel_fault_check() argument
1068 if ((error_code & X86_PF_WRITE) && !pte_write(*pte)) in spurious_kernel_fault_check()
1071 if ((error_code & X86_PF_INSTR) && !pte_exec(*pte)) in spurious_kernel_fault_check()
1099 spurious_kernel_fault(unsigned long error_code, unsigned long address) in spurious_kernel_fault() argument
1117 if (error_code != (X86_PF_WRITE | X86_PF_PROT) && in spurious_kernel_fault()
1118 error_code != (X86_PF_INSTR | X86_PF_PROT)) in spurious_kernel_fault()
1130 return spurious_kernel_fault_check(error_code, (pte_t *) p4d); in spurious_kernel_fault()
1137 return spurious_kernel_fault_check(error_code, (pte_t *) pud); in spurious_kernel_fault()
1144 return spurious_kernel_fault_check(error_code, (pte_t *) pmd); in spurious_kernel_fault()
1150 ret = spurious_kernel_fault_check(error_code, pte); in spurious_kernel_fault()
1158 ret = spurious_kernel_fault_check(error_code, (pte_t *) pmd); in spurious_kernel_fault()
1168 access_error(unsigned long error_code, struct vm_area_struct *vma) in access_error() argument
1178 if (error_code & X86_PF_PK) in access_error()
1186 if (!arch_vma_access_permitted(vma, (error_code & X86_PF_WRITE), in access_error()
1187 (error_code & X86_PF_INSTR), foreign)) in access_error()
1190 if (error_code & X86_PF_WRITE) { in access_error()
1198 if (unlikely(error_code & X86_PF_PROT)) in access_error()
1511 trace_page_fault_entries(struct pt_regs *regs, unsigned long error_code, in trace_page_fault_entries() argument
1518 trace_page_fault_user(address, regs, error_code); in trace_page_fault_entries()
1520 trace_page_fault_kernel(address, regs, error_code); in trace_page_fault_entries()
1524 do_page_fault(struct pt_regs *regs, unsigned long error_code, unsigned long address) in do_page_fault() argument
1529 trace_page_fault_entries(regs, error_code, address); in do_page_fault()
1530 __do_page_fault(regs, error_code, address); in do_page_fault()