• Home
  • Raw
  • Download

Lines Matching refs:addr

22 static inline void no_context(struct pt_regs *regs, unsigned long addr)  in no_context()  argument
34 (addr < PAGE_SIZE) ? "NULL pointer dereference" : in no_context()
35 "paging request", addr); in no_context()
40 static inline void mm_fault_error(struct pt_regs *regs, unsigned long addr, vm_fault_t fault) in mm_fault_error() argument
48 no_context(regs, addr); in mm_fault_error()
56 no_context(regs, addr); in mm_fault_error()
59 do_trap(regs, SIGBUS, BUS_ADRERR, addr); in mm_fault_error()
65 …atic inline void bad_area(struct pt_regs *regs, struct mm_struct *mm, int code, unsigned long addr) in bad_area() argument
74 do_trap(regs, SIGSEGV, code, addr); in bad_area()
78 no_context(regs, addr); in bad_area()
81 static inline void vmalloc_fault(struct pt_regs *regs, int code, unsigned long addr) in vmalloc_fault() argument
93 return do_trap(regs, SIGSEGV, code, addr); in vmalloc_fault()
103 index = pgd_index(addr); in vmalloc_fault()
109 no_context(regs, addr); in vmalloc_fault()
114 p4d = p4d_offset(pgd, addr); in vmalloc_fault()
115 p4d_k = p4d_offset(pgd_k, addr); in vmalloc_fault()
117 no_context(regs, addr); in vmalloc_fault()
121 pud = pud_offset(p4d, addr); in vmalloc_fault()
122 pud_k = pud_offset(p4d_k, addr); in vmalloc_fault()
124 no_context(regs, addr); in vmalloc_fault()
132 pmd = pmd_offset(pud, addr); in vmalloc_fault()
133 pmd_k = pmd_offset(pud_k, addr); in vmalloc_fault()
135 no_context(regs, addr); in vmalloc_fault()
146 pte_k = pte_offset_kernel(pmd_k, addr); in vmalloc_fault()
148 no_context(regs, addr); in vmalloc_fault()
158 local_flush_tlb_page(addr); in vmalloc_fault()
195 unsigned long addr, cause; in do_page_fault() local
201 addr = regs->badaddr; in do_page_fault()
215 if (unlikely((addr >= VMALLOC_START) && (addr <= VMALLOC_END))) { in do_page_fault()
216 vmalloc_fault(regs, code, addr); in do_page_fault()
229 no_context(regs, addr); in do_page_fault()
236 perf_sw_event(PERF_COUNT_SW_PAGE_FAULTS, 1, regs, addr); in do_page_fault()
244 vma = find_vma(mm, addr); in do_page_fault()
246 bad_area(regs, mm, code, addr); in do_page_fault()
249 if (likely(vma->vm_start <= addr)) in do_page_fault()
252 bad_area(regs, mm, code, addr); in do_page_fault()
255 if (unlikely(expand_stack(vma, addr))) { in do_page_fault()
256 bad_area(regs, mm, code, addr); in do_page_fault()
268 bad_area(regs, mm, code, addr); in do_page_fault()
277 fault = handle_mm_fault(vma, addr, flags, regs); in do_page_fault()
301 mm_fault_error(regs, addr, fault); in do_page_fault()