Lines Matching refs:regs
1688 unsigned long __weak uprobe_get_swbp_addr(struct pt_regs *regs) in uprobe_get_swbp_addr() argument
1690 return instruction_pointer(regs) - UPROBE_SWBP_INSN_SIZE; in uprobe_get_swbp_addr()
1693 unsigned long uprobe_get_trap_addr(struct pt_regs *regs) in uprobe_get_trap_addr() argument
1700 return instruction_pointer(regs); in uprobe_get_trap_addr()
1847 struct pt_regs *regs) in cleanup_return_instances() argument
1852 while (ri && !arch_uretprobe_is_alive(ri, ctx, regs)) { in cleanup_return_instances()
1859 static void prepare_uretprobe(struct uprobe *uprobe, struct pt_regs *regs) in prepare_uretprobe() argument
1885 orig_ret_vaddr = arch_uretprobe_hijack_return_addr(trampoline_vaddr, regs); in prepare_uretprobe()
1891 cleanup_return_instances(utask, chained, regs); in prepare_uretprobe()
1911 ri->func = instruction_pointer(regs); in prepare_uretprobe()
1912 ri->stack = user_stack_pointer(regs); in prepare_uretprobe()
1927 pre_ssout(struct uprobe *uprobe, struct pt_regs *regs, unsigned long bp_vaddr) in pre_ssout() argument
1944 err = arch_uprobe_pre_xol(&uprobe->arch, regs); in pre_ssout()
2072 static void handler_chain(struct uprobe *uprobe, struct pt_regs *regs) in handler_chain() argument
2083 rc = uc->handler(uc, regs); in handler_chain()
2095 prepare_uretprobe(uprobe, regs); /* put bp at return */ in handler_chain()
2105 handle_uretprobe_chain(struct return_instance *ri, struct pt_regs *regs) in handle_uretprobe_chain() argument
2113 uc->ret_handler(uc, ri->func, regs); in handle_uretprobe_chain()
2130 static void handle_trampoline(struct pt_regs *regs) in handle_trampoline() argument
2152 valid = !next || arch_uretprobe_is_alive(next, RP_CHECK_RET, regs); in handle_trampoline()
2154 instruction_pointer_set(regs, ri->orig_ret_vaddr); in handle_trampoline()
2157 handle_uretprobe_chain(ri, regs); in handle_trampoline()
2172 bool __weak arch_uprobe_ignore(struct arch_uprobe *aup, struct pt_regs *regs) in arch_uprobe_ignore() argument
2178 struct pt_regs *regs) in arch_uretprobe_is_alive() argument
2187 static void handle_swbp(struct pt_regs *regs) in handle_swbp() argument
2193 bp_vaddr = uprobe_get_swbp_addr(regs); in handle_swbp()
2195 return handle_trampoline(regs); in handle_swbp()
2211 instruction_pointer_set(regs, bp_vaddr); in handle_swbp()
2217 instruction_pointer_set(regs, bp_vaddr); in handle_swbp()
2240 if (arch_uprobe_ignore(&uprobe->arch, regs)) in handle_swbp()
2243 handler_chain(uprobe, regs); in handle_swbp()
2245 if (arch_uprobe_skip_sstep(&uprobe->arch, regs)) in handle_swbp()
2248 if (!pre_ssout(uprobe, regs, bp_vaddr)) in handle_swbp()
2260 static void handle_singlestep(struct uprobe_task *utask, struct pt_regs *regs) in handle_singlestep() argument
2267 err = arch_uprobe_post_xol(&uprobe->arch, regs); in handle_singlestep()
2269 arch_uprobe_abort_xol(&uprobe->arch, regs); in handle_singlestep()
2299 void uprobe_notify_resume(struct pt_regs *regs) in uprobe_notify_resume() argument
2307 handle_singlestep(utask, regs); in uprobe_notify_resume()
2309 handle_swbp(regs); in uprobe_notify_resume()
2316 int uprobe_pre_sstep_notifier(struct pt_regs *regs) in uprobe_pre_sstep_notifier() argument
2333 int uprobe_post_sstep_notifier(struct pt_regs *regs) in uprobe_post_sstep_notifier() argument