Lines Matching refs:error_code
121 is_prefetch(struct pt_regs *regs, unsigned long error_code, unsigned long addr) in is_prefetch() argument
135 if (error_code & X86_PF_INSTR) in is_prefetch()
483 static int is_f00f_bug(struct pt_regs *regs, unsigned long error_code, in is_f00f_bug() argument
487 if (boot_cpu_has_bug(X86_BUG_F00F) && !(error_code & X86_PF_USER) && in is_f00f_bug()
528 show_fault_oops(struct pt_regs *regs, unsigned long error_code, unsigned long address) in show_fault_oops() argument
533 if (error_code & X86_PF_INSTR) { in show_fault_oops()
561 (error_code & X86_PF_USER) ? "user" : "supervisor", in show_fault_oops()
562 (error_code & X86_PF_INSTR) ? "instruction fetch" : in show_fault_oops()
563 (error_code & X86_PF_WRITE) ? "write access" : in show_fault_oops()
566 pr_alert("#PF: error_code(0x%04lx) - %s\n", error_code, in show_fault_oops()
567 !(error_code & X86_PF_PROT) ? "not-present page" : in show_fault_oops()
568 (error_code & X86_PF_RSVD) ? "reserved bit violation" : in show_fault_oops()
569 (error_code & X86_PF_PK) ? "protection keys violation" : in show_fault_oops()
572 if (!(error_code & X86_PF_USER) && user_mode(regs)) { in show_fault_oops()
605 pgtable_bad(struct pt_regs *regs, unsigned long error_code, in pgtable_bad() argument
620 if (__die("Bad pagetable", regs, error_code)) in pgtable_bad()
627 unsigned long *error_code) in sanitize_error_code() argument
639 *error_code |= X86_PF_PROT; in sanitize_error_code()
643 unsigned long error_code) in set_signal_archinfo() argument
648 tsk->thread.error_code = error_code | X86_PF_USER; in set_signal_archinfo()
653 page_fault_oops(struct pt_regs *regs, unsigned long error_code, in page_fault_oops() argument
706 if (!(error_code & X86_PF_PROT) && in page_fault_oops()
707 kfence_handle_page_fault(address, error_code & X86_PF_WRITE, regs)) in page_fault_oops()
717 show_fault_oops(regs, error_code, address); in page_fault_oops()
723 if (__die("Oops", regs, error_code)) in page_fault_oops()
733 kernelmode_fixup_or_oops(struct pt_regs *regs, unsigned long error_code, in kernelmode_fixup_or_oops() argument
740 if (fixup_exception(regs, X86_TRAP_PF, error_code, address)) { in kernelmode_fixup_or_oops()
756 sanitize_error_code(address, &error_code); in kernelmode_fixup_or_oops()
758 set_signal_archinfo(address, error_code); in kernelmode_fixup_or_oops()
778 if (is_prefetch(regs, error_code, address)) in kernelmode_fixup_or_oops()
781 page_fault_oops(regs, error_code, address); in kernelmode_fixup_or_oops()
789 show_signal_msg(struct pt_regs *regs, unsigned long error_code, in show_signal_msg() argument
804 (void *)regs->ip, (void *)regs->sp, error_code); in show_signal_msg()
831 __bad_area_nosemaphore(struct pt_regs *regs, unsigned long error_code, in __bad_area_nosemaphore() argument
837 kernelmode_fixup_or_oops(regs, error_code, address, in __bad_area_nosemaphore()
842 if (!(error_code & X86_PF_USER)) { in __bad_area_nosemaphore()
844 page_fault_oops(regs, error_code, address); in __bad_area_nosemaphore()
858 if (is_prefetch(regs, error_code, address)) in __bad_area_nosemaphore()
864 sanitize_error_code(address, &error_code); in __bad_area_nosemaphore()
866 if (fixup_vdso_exception(regs, X86_TRAP_PF, error_code, address)) in __bad_area_nosemaphore()
870 show_signal_msg(regs, error_code, address, tsk); in __bad_area_nosemaphore()
872 set_signal_archinfo(address, error_code); in __bad_area_nosemaphore()
883 bad_area_nosemaphore(struct pt_regs *regs, unsigned long error_code, in bad_area_nosemaphore() argument
886 __bad_area_nosemaphore(regs, error_code, address, 0, SEGV_MAPERR); in bad_area_nosemaphore()
890 __bad_area(struct pt_regs *regs, unsigned long error_code, in __bad_area() argument
900 __bad_area_nosemaphore(regs, error_code, address, pkey, si_code); in __bad_area()
904 bad_area(struct pt_regs *regs, unsigned long error_code, unsigned long address) in bad_area() argument
906 __bad_area(regs, error_code, address, 0, SEGV_MAPERR); in bad_area()
909 static inline bool bad_area_access_from_pkeys(unsigned long error_code, in bad_area_access_from_pkeys() argument
917 if (error_code & X86_PF_PK) in bad_area_access_from_pkeys()
920 if (!arch_vma_access_permitted(vma, (error_code & X86_PF_WRITE), in bad_area_access_from_pkeys()
921 (error_code & X86_PF_INSTR), foreign)) in bad_area_access_from_pkeys()
927 bad_area_access_error(struct pt_regs *regs, unsigned long error_code, in bad_area_access_error() argument
935 if (bad_area_access_from_pkeys(error_code, vma)) { in bad_area_access_error()
958 __bad_area(regs, error_code, address, pkey, SEGV_PKUERR); in bad_area_access_error()
960 __bad_area(regs, error_code, address, 0, SEGV_ACCERR); in bad_area_access_error()
965 do_sigbus(struct pt_regs *regs, unsigned long error_code, unsigned long address, in do_sigbus() argument
970 kernelmode_fixup_or_oops(regs, error_code, address, in do_sigbus()
976 if (is_prefetch(regs, error_code, address)) in do_sigbus()
979 sanitize_error_code(address, &error_code); in do_sigbus()
981 if (fixup_vdso_exception(regs, X86_TRAP_PF, error_code, address)) in do_sigbus()
984 set_signal_archinfo(address, error_code); in do_sigbus()
1005 static int spurious_kernel_fault_check(unsigned long error_code, pte_t *pte) in spurious_kernel_fault_check() argument
1007 if ((error_code & X86_PF_WRITE) && !pte_write(*pte)) in spurious_kernel_fault_check()
1010 if ((error_code & X86_PF_INSTR) && !pte_exec(*pte)) in spurious_kernel_fault_check()
1038 spurious_kernel_fault(unsigned long error_code, unsigned long address) in spurious_kernel_fault() argument
1056 if (error_code != (X86_PF_WRITE | X86_PF_PROT) && in spurious_kernel_fault()
1057 error_code != (X86_PF_INSTR | X86_PF_PROT)) in spurious_kernel_fault()
1069 return spurious_kernel_fault_check(error_code, (pte_t *) p4d); in spurious_kernel_fault()
1076 return spurious_kernel_fault_check(error_code, (pte_t *) pud); in spurious_kernel_fault()
1083 return spurious_kernel_fault_check(error_code, (pte_t *) pmd); in spurious_kernel_fault()
1089 ret = spurious_kernel_fault_check(error_code, pte); in spurious_kernel_fault()
1097 ret = spurious_kernel_fault_check(error_code, (pte_t *) pmd); in spurious_kernel_fault()
1107 access_error(unsigned long error_code, struct vm_area_struct *vma) in access_error() argument
1117 if (error_code & X86_PF_PK) in access_error()
1129 if (unlikely(error_code & X86_PF_SGX)) in access_error()
1137 if (!arch_vma_access_permitted(vma, (error_code & X86_PF_WRITE), in access_error()
1138 (error_code & X86_PF_INSTR), foreign)) in access_error()
1141 if (error_code & X86_PF_WRITE) { in access_error()
1149 if (unlikely(error_code & X86_PF_PROT)) in access_error()
1252 unsigned long error_code, in do_user_addr_fault() argument
1264 if (unlikely((error_code & (X86_PF_USER | X86_PF_INSTR)) == X86_PF_INSTR)) { in do_user_addr_fault()
1275 page_fault_oops(regs, error_code, address); in do_user_addr_fault()
1287 if (unlikely(error_code & X86_PF_RSVD)) in do_user_addr_fault()
1288 pgtable_bad(regs, error_code, address); in do_user_addr_fault()
1298 !(error_code & X86_PF_USER) && in do_user_addr_fault()
1304 page_fault_oops(regs, error_code, address); in do_user_addr_fault()
1313 bad_area_nosemaphore(regs, error_code, address); in do_user_addr_fault()
1334 if (error_code & X86_PF_WRITE) in do_user_addr_fault()
1336 if (error_code & X86_PF_INSTR) in do_user_addr_fault()
1352 if (emulate_vsyscall(error_code, regs, address)) in do_user_addr_fault()
1375 bad_area_nosemaphore(regs, error_code, address); in do_user_addr_fault()
1391 bad_area(regs, error_code, address); in do_user_addr_fault()
1397 bad_area(regs, error_code, address); in do_user_addr_fault()
1401 bad_area(regs, error_code, address); in do_user_addr_fault()
1410 if (unlikely(access_error(error_code, vma))) { in do_user_addr_fault()
1411 bad_area_access_error(regs, error_code, address, vma); in do_user_addr_fault()
1436 kernelmode_fixup_or_oops(regs, error_code, address, in do_user_addr_fault()
1461 kernelmode_fixup_or_oops(regs, error_code, address, in do_user_addr_fault()
1469 kernelmode_fixup_or_oops(regs, error_code, address, in do_user_addr_fault()
1484 do_sigbus(regs, error_code, address, fault); in do_user_addr_fault()
1486 bad_area_nosemaphore(regs, error_code, address); in do_user_addr_fault()
1494 trace_page_fault_entries(struct pt_regs *regs, unsigned long error_code, in trace_page_fault_entries() argument
1501 trace_page_fault_user(address, regs, error_code); in trace_page_fault_entries()
1503 trace_page_fault_kernel(address, regs, error_code); in trace_page_fault_entries()
1507 handle_page_fault(struct pt_regs *regs, unsigned long error_code, in handle_page_fault() argument
1510 trace_page_fault_entries(regs, error_code, address); in handle_page_fault()
1517 do_kern_addr_fault(regs, error_code, address); in handle_page_fault()
1519 do_user_addr_fault(regs, error_code, address); in handle_page_fault()
1575 handle_page_fault(regs, error_code, address); in DEFINE_IDTENTRY_RAW_ERRORCODE()