Lines Matching refs:address

169 force_sig_info_fault(int si_signo, int si_code, unsigned long address,  in force_sig_info_fault()  argument
178 info.si_addr = (void __user *)address; in force_sig_info_fault()
192 static inline pmd_t *vmalloc_sync_one(pgd_t *pgd, unsigned long address) in vmalloc_sync_one() argument
194 unsigned index = pgd_index(address); in vmalloc_sync_one()
210 pud = pud_offset(pgd, address); in vmalloc_sync_one()
211 pud_k = pud_offset(pgd_k, address); in vmalloc_sync_one()
215 pmd = pmd_offset(pud, address); in vmalloc_sync_one()
216 pmd_k = pmd_offset(pud_k, address); in vmalloc_sync_one()
230 unsigned long address; in vmalloc_sync_all() local
235 for (address = VMALLOC_START & PMD_MASK; in vmalloc_sync_all()
236 address >= TASK_SIZE && address < FIXADDR_TOP; in vmalloc_sync_all()
237 address += PMD_SIZE) { in vmalloc_sync_all()
249 ret = vmalloc_sync_one(page_address(page), address); in vmalloc_sync_all()
264 static noinline int vmalloc_fault(unsigned long address) in vmalloc_fault() argument
271 if (!(address >= VMALLOC_START && address < VMALLOC_END)) in vmalloc_fault()
284 pmd_k = vmalloc_sync_one(__va(pgd_paddr), address); in vmalloc_fault()
291 pte_k = pte_offset_kernel(pmd_k, address); in vmalloc_fault()
303 check_v8086_mode(struct pt_regs *regs, unsigned long address, in check_v8086_mode() argument
311 bit = (address - 0xA0000) >> PAGE_SHIFT; in check_v8086_mode()
321 static void dump_pagetable(unsigned long address) in dump_pagetable() argument
324 pgd_t *pgd = &base[pgd_index(address)]; in dump_pagetable()
333 pmd = pmd_offset(pud_offset(pgd, address), address); in dump_pagetable()
345 pte = pte_offset_kernel(pmd, address); in dump_pagetable()
363 static noinline int vmalloc_fault(unsigned long address) in vmalloc_fault() argument
371 if (!(address >= VMALLOC_START && address < VMALLOC_END)) in vmalloc_fault()
381 pgd = pgd_offset(current->active_mm, address); in vmalloc_fault()
382 pgd_ref = pgd_offset_k(address); in vmalloc_fault()
398 pud = pud_offset(pgd, address); in vmalloc_fault()
399 pud_ref = pud_offset(pgd_ref, address); in vmalloc_fault()
409 pmd = pmd_offset(pud, address); in vmalloc_fault()
410 pmd_ref = pmd_offset(pud_ref, address); in vmalloc_fault()
420 pte_ref = pte_offset_kernel(pmd_ref, address); in vmalloc_fault()
424 pte = pte_offset_kernel(pmd, address); in vmalloc_fault()
451 check_v8086_mode(struct pt_regs *regs, unsigned long address, in check_v8086_mode() argument
463 static void dump_pagetable(unsigned long address) in dump_pagetable() argument
466 pgd_t *pgd = base + pgd_index(address); in dump_pagetable()
479 pud = pud_offset(pgd, address); in dump_pagetable()
487 pmd = pmd_offset(pud, address); in dump_pagetable()
495 pte = pte_offset_kernel(pmd, address); in dump_pagetable()
523 static int is_errata93(struct pt_regs *regs, unsigned long address) in is_errata93() argument
530 if (address != regs->ip) in is_errata93()
533 if ((address >> 32) != 0) in is_errata93()
536 address |= 0xffffffffUL << 32; in is_errata93()
537 if ((address >= (u64)_stext && address <= (u64)_etext) || in is_errata93()
538 (address >= MODULES_VADDR && address <= MODULES_END)) { in is_errata93()
540 regs->ip = address; in is_errata93()
555 static int is_errata100(struct pt_regs *regs, unsigned long address) in is_errata100() argument
558 if ((regs->cs == __USER32_CS || (regs->cs & (1<<2))) && (address >> 32)) in is_errata100()
564 static int is_f00f_bug(struct pt_regs *regs, unsigned long address) in is_f00f_bug() argument
573 nr = (address - idt_descr.address) >> 3; in is_f00f_bug()
591 unsigned long address) in show_fault_oops() argument
602 pgd += pgd_index(address); in show_fault_oops()
604 pte = lookup_address_in_pgd(pgd, address, &level); in show_fault_oops()
615 if (address < PAGE_SIZE) in show_fault_oops()
620 printk(KERN_CONT " at %p\n", (void *) address); in show_fault_oops()
624 dump_pagetable(address); in show_fault_oops()
629 unsigned long address) in pgtable_bad() argument
640 tsk->comm, address); in pgtable_bad()
641 dump_pagetable(address); in pgtable_bad()
643 tsk->thread.cr2 = address; in pgtable_bad()
655 unsigned long address, int signal, int si_code) in no_context() argument
680 tsk->thread.cr2 = address; in no_context()
683 force_sig_info_fault(signal, si_code, address, tsk, 0); in no_context()
703 if (is_prefetch(regs, error_code, address)) in no_context()
706 if (is_errata93(regs, address)) in no_context()
715 show_fault_oops(regs, error_code, address); in no_context()
720 tsk->thread.cr2 = address; in no_context()
729 printk(KERN_DEFAULT "CR2: %016lx\n", address); in no_context()
740 unsigned long address, struct task_struct *tsk) in show_signal_msg() argument
750 tsk->comm, task_pid_nr(tsk), address, in show_signal_msg()
760 unsigned long address, int si_code) in __bad_area_nosemaphore() argument
775 if (is_prefetch(regs, error_code, address)) in __bad_area_nosemaphore()
778 if (is_errata100(regs, address)) in __bad_area_nosemaphore()
787 ((address & ~0xfff) == VSYSCALL_ADDR))) { in __bad_area_nosemaphore()
788 if (emulate_vsyscall(regs, address)) in __bad_area_nosemaphore()
793 if (address >= TASK_SIZE) in __bad_area_nosemaphore()
797 show_signal_msg(regs, error_code, address, tsk); in __bad_area_nosemaphore()
799 tsk->thread.cr2 = address; in __bad_area_nosemaphore()
803 force_sig_info_fault(SIGSEGV, si_code, address, tsk, 0); in __bad_area_nosemaphore()
808 if (is_f00f_bug(regs, address)) in __bad_area_nosemaphore()
811 no_context(regs, error_code, address, SIGSEGV, si_code); in __bad_area_nosemaphore()
816 unsigned long address) in bad_area_nosemaphore() argument
818 __bad_area_nosemaphore(regs, error_code, address, SEGV_MAPERR); in bad_area_nosemaphore()
823 unsigned long address, int si_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()
844 unsigned long address) 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
858 no_context(regs, error_code, address, SIGBUS, BUS_ADRERR); in do_sigbus()
863 if (is_prefetch(regs, error_code, address)) in do_sigbus()
866 tsk->thread.cr2 = address; in do_sigbus()
874 tsk->comm, tsk->pid, address); in do_sigbus()
878 force_sig_info_fault(SIGBUS, code, address, tsk, fault); in do_sigbus()
883 unsigned long address, unsigned int fault) in mm_fault_error() argument
886 no_context(regs, error_code, address, 0, 0); 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()
948 spurious_fault(unsigned long error_code, unsigned long address) in spurious_fault() argument
969 pgd = init_mm.pgd + pgd_index(address); in spurious_fault()
973 pud = pud_offset(pgd, address); in spurious_fault()
980 pmd = pmd_offset(pud, address); in spurious_fault()
987 pte = pte_offset_kernel(pmd, address); in spurious_fault()
1029 static int fault_in_kernel_space(unsigned long address) in fault_in_kernel_space() argument
1031 return address >= TASK_SIZE_MAX; in fault_in_kernel_space()
1062 unsigned long address) in __do_page_fault() argument
1081 if (unlikely(kmmio_fault(regs, address))) in __do_page_fault()
1097 if (unlikely(fault_in_kernel_space(address))) { in __do_page_fault()
1099 if (vmalloc_fault(address) >= 0) 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()
1127 pgtable_bad(regs, error_code, address); 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()
1159 perf_sw_event(PERF_COUNT_SW_PAGE_FAULTS, 1, regs, address); in __do_page_fault()
1183 bad_area_nosemaphore(regs, error_code, address); in __do_page_fault()
1197 vma = find_vma(mm, address); in __do_page_fault()
1199 bad_area(regs, error_code, address); in __do_page_fault()
1202 if (likely(vma->vm_start <= address)) in __do_page_fault()
1205 bad_area(regs, error_code, address); in __do_page_fault()
1215 if (unlikely(address + 65536 + 32 * sizeof(unsigned long) < regs->sp)) { in __do_page_fault()
1216 bad_area(regs, error_code, address); in __do_page_fault()
1220 if (unlikely(expand_stack(vma, address))) { in __do_page_fault()
1221 bad_area(regs, error_code, address); in __do_page_fault()
1231 bad_area_access_error(regs, error_code, address); in __do_page_fault()
1241 fault = handle_mm_fault(mm, vma, address, flags); 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()
1279 perf_sw_event(PERF_COUNT_SW_PAGE_FAULTS_MAJ, 1, regs, address); in __do_page_fault()
1282 perf_sw_event(PERF_COUNT_SW_PAGE_FAULTS_MIN, 1, regs, address); in __do_page_fault()
1285 check_v8086_mode(regs, address, tsk); in __do_page_fault()
1292 unsigned long address = read_cr2(); /* Get the faulting address */ in do_page_fault() local
1304 __do_page_fault(regs, error_code, address); in do_page_fault()
1311 trace_page_fault_entries(unsigned long address, struct pt_regs *regs, 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()
1329 unsigned long address = read_cr2(); in trace_do_page_fault() local
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()