Lines Matching refs:error_code
135 is_prefetch(struct pt_regs *regs, unsigned long error_code, unsigned long addr) in is_prefetch() argument
145 if (error_code & PF_INSTR) in is_prefetch()
590 show_fault_oops(struct pt_regs *regs, unsigned long error_code, in show_fault_oops() argument
596 if (error_code & PF_INSTR) { in show_fault_oops()
628 pgtable_bad(struct pt_regs *regs, unsigned long error_code, in pgtable_bad() argument
645 tsk->thread.error_code = error_code; in pgtable_bad()
647 if (__die("Bad pagetable", regs, error_code)) in pgtable_bad()
654 no_context(struct pt_regs *regs, unsigned long error_code, in no_context() argument
679 tsk->thread.error_code = error_code | PF_USER; in no_context()
703 if (is_prefetch(regs, error_code, address)) in no_context()
715 show_fault_oops(regs, error_code, address); in no_context()
722 tsk->thread.error_code = error_code; in no_context()
725 if (__die("Oops", regs, error_code)) in no_context()
739 show_signal_msg(struct pt_regs *regs, unsigned long error_code, in show_signal_msg() argument
751 (void *)regs->ip, (void *)regs->sp, error_code); in show_signal_msg()
759 __bad_area_nosemaphore(struct pt_regs *regs, unsigned long error_code, in __bad_area_nosemaphore() argument
765 if (error_code & PF_USER) { in __bad_area_nosemaphore()
775 if (is_prefetch(regs, error_code, address)) in __bad_area_nosemaphore()
786 if (unlikely((error_code & PF_INSTR) && in __bad_area_nosemaphore()
794 error_code |= PF_PROT; in __bad_area_nosemaphore()
797 show_signal_msg(regs, error_code, address, tsk); in __bad_area_nosemaphore()
800 tsk->thread.error_code = error_code; in __bad_area_nosemaphore()
811 no_context(regs, error_code, address, SIGSEGV, si_code); in __bad_area_nosemaphore()
815 bad_area_nosemaphore(struct pt_regs *regs, unsigned long error_code, in bad_area_nosemaphore() argument
818 __bad_area_nosemaphore(regs, error_code, address, SEGV_MAPERR); in bad_area_nosemaphore()
822 __bad_area(struct pt_regs *regs, unsigned long error_code, in __bad_area() argument
833 __bad_area_nosemaphore(regs, error_code, address, si_code); in __bad_area()
837 bad_area(struct pt_regs *regs, unsigned long error_code, unsigned long address) in bad_area() argument
839 __bad_area(regs, error_code, address, SEGV_MAPERR); in bad_area()
843 bad_area_access_error(struct pt_regs *regs, unsigned long error_code, in bad_area_access_error() argument
846 __bad_area(regs, error_code, address, SEGV_ACCERR); in bad_area_access_error()
850 do_sigbus(struct pt_regs *regs, unsigned long error_code, unsigned long address, in do_sigbus() argument
857 if (!(error_code & PF_USER)) { in do_sigbus()
858 no_context(regs, error_code, address, SIGBUS, BUS_ADRERR); in do_sigbus()
863 if (is_prefetch(regs, error_code, address)) in do_sigbus()
867 tsk->thread.error_code = error_code; in do_sigbus()
882 mm_fault_error(struct pt_regs *regs, unsigned long error_code, in mm_fault_error() argument
885 if (fatal_signal_pending(current) && !(error_code & PF_USER)) { in mm_fault_error()
886 no_context(regs, error_code, address, 0, 0); in mm_fault_error()
892 if (!(error_code & PF_USER)) { in mm_fault_error()
893 no_context(regs, error_code, address, in mm_fault_error()
907 do_sigbus(regs, error_code, address, fault); in mm_fault_error()
909 bad_area_nosemaphore(regs, error_code, address); in mm_fault_error()
915 static int spurious_fault_check(unsigned long error_code, pte_t *pte) in spurious_fault_check() argument
917 if ((error_code & PF_WRITE) && !pte_write(*pte)) in spurious_fault_check()
920 if ((error_code & PF_INSTR) && !pte_exec(*pte)) in spurious_fault_check()
948 spurious_fault(unsigned long error_code, unsigned long address) in spurious_fault() argument
965 if (error_code != (PF_WRITE | PF_PROT) in spurious_fault()
966 && error_code != (PF_INSTR | PF_PROT)) in spurious_fault()
978 return spurious_fault_check(error_code, (pte_t *) pud); in spurious_fault()
985 return spurious_fault_check(error_code, (pte_t *) pmd); in spurious_fault()
991 ret = spurious_fault_check(error_code, pte); in spurious_fault()
999 ret = spurious_fault_check(error_code, (pte_t *) pmd); in spurious_fault()
1009 access_error(unsigned long error_code, struct vm_area_struct *vma) in access_error() argument
1011 if (error_code & PF_WRITE) { in access_error()
1019 if (unlikely(error_code & PF_PROT)) in access_error()
1034 static inline bool smap_violation(int error_code, struct pt_regs *regs) in smap_violation() argument
1042 if (error_code & PF_USER) in smap_violation()
1061 __do_page_fault(struct pt_regs *regs, unsigned long error_code, in __do_page_fault() argument
1098 if (!(error_code & (PF_RSVD | PF_USER | PF_PROT))) { in __do_page_fault()
1102 if (kmemcheck_fault(regs, address, error_code)) in __do_page_fault()
1107 if (spurious_fault(error_code, address)) in __do_page_fault()
1117 bad_area_nosemaphore(regs, error_code, address); in __do_page_fault()
1126 if (unlikely(error_code & PF_RSVD)) in __do_page_fault()
1127 pgtable_bad(regs, error_code, address); in __do_page_fault()
1129 if (unlikely(smap_violation(error_code, regs))) { in __do_page_fault()
1130 bad_area_nosemaphore(regs, error_code, address); in __do_page_fault()
1139 bad_area_nosemaphore(regs, error_code, address); in __do_page_fault()
1152 error_code |= PF_USER; in __do_page_fault()
1161 if (error_code & PF_WRITE) in __do_page_fault()
1181 if ((error_code & PF_USER) == 0 && in __do_page_fault()
1183 bad_area_nosemaphore(regs, error_code, address); in __do_page_fault()
1199 bad_area(regs, error_code, address); in __do_page_fault()
1205 bad_area(regs, error_code, address); in __do_page_fault()
1208 if (error_code & PF_USER) { in __do_page_fault()
1216 bad_area(regs, error_code, address); in __do_page_fault()
1221 bad_area(regs, error_code, address); in __do_page_fault()
1230 if (unlikely(access_error(error_code, vma))) { in __do_page_fault()
1231 bad_area_access_error(regs, error_code, address); in __do_page_fault()
1263 no_context(regs, error_code, address, SIGBUS, BUS_ADRERR); in __do_page_fault()
1269 mm_fault_error(regs, error_code, address, fault); in __do_page_fault()
1290 do_page_fault(struct pt_regs *regs, unsigned long error_code) in do_page_fault() argument
1304 __do_page_fault(regs, error_code, address); in do_page_fault()
1312 unsigned long error_code) in trace_page_fault_entries() argument
1315 trace_page_fault_user(address, regs, error_code); in trace_page_fault_entries()
1317 trace_page_fault_kernel(address, regs, error_code); in trace_page_fault_entries()
1321 trace_do_page_fault(struct pt_regs *regs, unsigned long error_code) in trace_do_page_fault() argument
1333 trace_page_fault_entries(address, regs, error_code); in trace_do_page_fault()
1334 __do_page_fault(regs, error_code, address); in trace_do_page_fault()