Lines Matching refs:addr
47 void show_pte(struct mm_struct *mm, unsigned long addr) in show_pte() argument
55 pgd = pgd_offset(mm, addr); in show_pte()
56 pr_alert("[%08lx] *pgd=%016llx", addr, pgd_val(*pgd)); in show_pte()
66 pud = pud_offset(pgd, addr); in show_pte()
71 pmd = pmd_offset(pud, addr); in show_pte()
76 pte = pte_offset_map(pmd, addr); in show_pte()
137 static void __do_kernel_fault(struct mm_struct *mm, unsigned long addr, in __do_kernel_fault() argument
151 (addr < PAGE_SIZE) ? "NULL pointer dereference" : in __do_kernel_fault()
152 "paging request", addr); in __do_kernel_fault()
154 show_pte(mm, addr); in __do_kernel_fault()
164 static void __do_user_fault(struct task_struct *tsk, unsigned long addr, in __do_user_fault() argument
173 addr, esr); in __do_user_fault()
174 show_pte(tsk->mm, addr); in __do_user_fault()
178 tsk->thread.fault_address = addr; in __do_user_fault()
183 si.si_addr = (void __user *)addr; in __do_user_fault()
187 static void do_bad_area(unsigned long addr, unsigned int esr, struct pt_regs *regs) in do_bad_area() argument
197 __do_user_fault(tsk, addr, esr, SIGSEGV, SEGV_MAPERR, regs); in do_bad_area()
199 __do_kernel_fault(mm, addr, esr, regs); in do_bad_area()
207 static int __do_page_fault(struct mm_struct *mm, unsigned long addr, in __do_page_fault() argument
214 vma = find_vma(mm, addr); in __do_page_fault()
218 if (unlikely(vma->vm_start > addr)) in __do_page_fault()
236 return handle_mm_fault(mm, vma, addr & PAGE_MASK, mm_flags); in __do_page_fault()
239 if (vma->vm_flags & VM_GROWSDOWN && !expand_stack(vma, addr)) in __do_page_fault()
245 static int __kprobes do_page_fault(unsigned long addr, unsigned int esr, in do_page_fault() argument
307 fault = __do_page_fault(mm, addr, mm_flags, vm_flags, tsk); in do_page_fault()
323 perf_sw_event(PERF_COUNT_SW_PAGE_FAULTS, 1, regs, addr); in do_page_fault()
328 addr); in do_page_fault()
332 addr); in do_page_fault()
388 __do_user_fault(tsk, addr, esr, sig, code, regs); in do_page_fault()
392 __do_kernel_fault(mm, addr, esr, regs); in do_page_fault()
413 static int __kprobes do_translation_fault(unsigned long addr, in do_translation_fault() argument
417 if (addr < TASK_SIZE) in do_translation_fault()
418 return do_page_fault(addr, esr, regs); in do_translation_fault()
420 do_bad_area(addr, esr, regs); in do_translation_fault()
427 static int do_bad(unsigned long addr, unsigned int esr, struct pt_regs *regs) in do_bad() argument
433 int (*fn)(unsigned long addr, unsigned int esr, struct pt_regs *regs);
513 asmlinkage void __exception do_mem_abort(unsigned long addr, unsigned int esr, in do_mem_abort() argument
519 if (!inf->fn(addr, esr, regs)) in do_mem_abort()
523 inf->name, esr, addr); in do_mem_abort()
528 info.si_addr = (void __user *)addr; in do_mem_abort()
535 asmlinkage void __exception do_sp_pc_abort(unsigned long addr, in do_sp_pc_abort() argument
551 info.si_addr = (void __user *)addr; in do_sp_pc_abort()
555 int __init early_brk64(unsigned long addr, unsigned int esr,
586 asmlinkage int __exception do_debug_exception(unsigned long addr, in do_debug_exception() argument
593 if (!inf->fn(addr, esr, regs)) in do_debug_exception()
597 inf->name, esr, addr); in do_debug_exception()
602 info.si_addr = (void __user *)addr; in do_debug_exception()