/linux-6.6.21/arch/sparc/kernel/ |
D | uprobes.c | 91 static unsigned long relbranch_fixup(u32 insn, struct uprobe_task *utask, in relbranch_fixup() argument 96 return utask->autask.saved_tnpc + 0x4UL; in relbranch_fixup() 104 unsigned long real_pc = (unsigned long) utask->vaddr; in relbranch_fixup() 105 unsigned long ixol_addr = utask->xol_vaddr; in relbranch_fixup() 192 struct uprobe_task *utask = current->utask; in arch_uprobe_pre_xol() local 193 struct arch_uprobe_task *autask = ¤t->utask->autask; in arch_uprobe_pre_xol() 204 instruction_pointer_set(regs, utask->xol_vaddr); in arch_uprobe_pre_xol() 218 struct uprobe_task *utask = current->utask; in arch_uprobe_post_xol() local 219 struct arch_uprobe_task *autask = &utask->autask; in arch_uprobe_post_xol() 223 if (utask->state == UTASK_SSTEP_ACK) { in arch_uprobe_post_xol() [all …]
|
/linux-6.6.21/arch/arm64/kernel/probes/ |
D | uprobes.c | 64 struct uprobe_task *utask = current->utask; in arch_uprobe_pre_xol() local 70 instruction_pointer_set(regs, utask->xol_vaddr); in arch_uprobe_pre_xol() 79 struct uprobe_task *utask = current->utask; in arch_uprobe_post_xol() local 84 instruction_pointer_set(regs, utask->vaddr + 4); in arch_uprobe_post_xol() 122 struct uprobe_task *utask = current->utask; in arch_uprobe_abort_xol() local 128 instruction_pointer_set(regs, utask->vaddr); in arch_uprobe_abort_xol() 180 struct uprobe_task *utask = current->utask; in uprobe_single_step_handler() local 182 WARN_ON(utask && (instruction_pointer(regs) != utask->xol_vaddr + 4)); in uprobe_single_step_handler()
|
/linux-6.6.21/arch/csky/kernel/probes/ |
D | uprobes.c | 50 struct uprobe_task *utask = current->utask; in arch_uprobe_pre_xol() local 52 utask->autask.saved_trap_no = current->thread.trap_no; in arch_uprobe_pre_xol() 55 instruction_pointer_set(regs, utask->xol_vaddr); in arch_uprobe_pre_xol() 64 struct uprobe_task *utask = current->utask; in arch_uprobe_post_xol() local 67 current->thread.trap_no = utask->autask.saved_trap_no; in arch_uprobe_post_xol() 69 instruction_pointer_set(regs, utask->vaddr + auprobe->insn_size); in arch_uprobe_post_xol() 103 struct uprobe_task *utask = current->utask; in arch_uprobe_abort_xol() local 105 current->thread.trap_no = utask->autask.saved_trap_no; in arch_uprobe_abort_xol() 111 instruction_pointer_set(regs, utask->vaddr); in arch_uprobe_abort_xol()
|
/linux-6.6.21/arch/arm/probes/uprobes/ |
D | core.c | 135 struct uprobe_task *utask = current->utask; in arch_uprobe_pre_xol() local 138 auprobe->prehandler(auprobe, &utask->autask, regs); in arch_uprobe_pre_xol() 140 utask->autask.saved_trap_no = current->thread.trap_no; in arch_uprobe_pre_xol() 142 regs->ARM_pc = utask->xol_vaddr; in arch_uprobe_pre_xol() 149 struct uprobe_task *utask = current->utask; in arch_uprobe_post_xol() local 153 current->thread.trap_no = utask->autask.saved_trap_no; in arch_uprobe_post_xol() 154 regs->ARM_pc = utask->vaddr + 4; in arch_uprobe_post_xol() 157 auprobe->posthandler(auprobe, &utask->autask, regs); in arch_uprobe_post_xol() 172 struct uprobe_task *utask = current->utask; in arch_uprobe_abort_xol() local 174 current->thread.trap_no = utask->autask.saved_trap_no; in arch_uprobe_abort_xol() [all …]
|
/linux-6.6.21/arch/riscv/kernel/probes/ |
D | uprobes.c | 61 struct uprobe_task *utask = current->utask; in arch_uprobe_pre_xol() local 63 utask->autask.saved_cause = current->thread.bad_cause; in arch_uprobe_pre_xol() 66 instruction_pointer_set(regs, utask->xol_vaddr); in arch_uprobe_pre_xol() 73 struct uprobe_task *utask = current->utask; in arch_uprobe_post_xol() local 76 current->thread.bad_cause = utask->autask.saved_cause; in arch_uprobe_post_xol() 78 instruction_pointer_set(regs, utask->vaddr + auprobe->insn_size); in arch_uprobe_post_xol() 110 struct uprobe_task *utask = current->utask; in arch_uprobe_abort_xol() local 112 current->thread.bad_cause = utask->autask.saved_cause; in arch_uprobe_abort_xol() 117 instruction_pointer_set(regs, utask->vaddr); in arch_uprobe_abort_xol()
|
/linux-6.6.21/arch/loongarch/kernel/ |
D | uprobes.c | 40 struct uprobe_task *utask = current->utask; in arch_uprobe_pre_xol() local 42 utask->autask.saved_trap_nr = current->thread.trap_nr; in arch_uprobe_pre_xol() 44 instruction_pointer_set(regs, utask->xol_vaddr); in arch_uprobe_pre_xol() 52 struct uprobe_task *utask = current->utask; in arch_uprobe_post_xol() local 55 current->thread.trap_nr = utask->autask.saved_trap_nr; in arch_uprobe_post_xol() 60 instruction_pointer_set(regs, utask->vaddr + LOONGARCH_INSN_SIZE); in arch_uprobe_post_xol() 69 struct uprobe_task *utask = current->utask; in arch_uprobe_abort_xol() local 71 current->thread.trap_nr = utask->autask.saved_trap_nr; in arch_uprobe_abort_xol() 72 instruction_pointer_set(regs, utask->vaddr); in arch_uprobe_abort_xol()
|
/linux-6.6.21/kernel/events/ |
D | uprobes.c | 1636 if (!tsk->mm || !tsk->mm->uprobes_state.xol_area || !tsk->utask) in xol_free_insn_slot() 1639 slot_addr = tsk->utask->xol_vaddr; in xol_free_insn_slot() 1660 tsk->utask->xol_vaddr = 0; in xol_free_insn_slot() 1692 struct uprobe_task *utask = current->utask; in uprobe_get_trap_addr() local 1694 if (unlikely(utask && utask->active_uprobe)) in uprobe_get_trap_addr() 1695 return utask->vaddr; in uprobe_get_trap_addr() 1714 struct uprobe_task *utask = t->utask; in uprobe_free_utask() local 1717 if (!utask) in uprobe_free_utask() 1720 if (utask->active_uprobe) in uprobe_free_utask() 1721 put_uprobe(utask->active_uprobe); in uprobe_free_utask() [all …]
|
/linux-6.6.21/arch/mips/kernel/ |
D | uprobes.c | 107 struct uprobe_task *utask = current->utask; in arch_uprobe_pre_xol() local 119 utask->autask.saved_trap_nr = current->thread.trap_nr; in arch_uprobe_pre_xol() 121 regs->cp0_epc = current->utask->xol_vaddr; in arch_uprobe_pre_xol() 128 struct uprobe_task *utask = current->utask; in arch_uprobe_post_xol() local 130 current->thread.trap_nr = utask->autask.saved_trap_nr; in arch_uprobe_post_xol() 192 struct uprobe_task *utask = current->utask; in arch_uprobe_abort_xol() local 194 current->thread.trap_nr = utask->autask.saved_trap_nr; in arch_uprobe_abort_xol() 195 instruction_pointer_set(regs, utask->vaddr); in arch_uprobe_abort_xol()
|
/linux-6.6.21/arch/powerpc/kernel/ |
D | uprobes.c | 66 struct arch_uprobe_task *autask = ¤t->utask->autask; in arch_uprobe_pre_xol() 70 regs_set_return_ip(regs, current->utask->xol_vaddr); in arch_uprobe_pre_xol() 114 struct uprobe_task *utask = current->utask; in arch_uprobe_post_xol() local 118 current->thread.trap_nr = utask->autask.saved_trap_nr; in arch_uprobe_post_xol() 127 regs_set_return_ip(regs, (unsigned long)ppc_inst_next((void *)utask->vaddr, auprobe->insn)); in arch_uprobe_post_xol() 170 struct uprobe_task *utask = current->utask; in arch_uprobe_abort_xol() local 172 current->thread.trap_nr = utask->autask.saved_trap_nr; in arch_uprobe_abort_xol() 173 instruction_pointer_set(regs, utask->vaddr); in arch_uprobe_abort_xol()
|
/linux-6.6.21/arch/x86/kernel/ |
D | uprobes.c | 473 struct uprobe_task *utask = current->utask; in riprel_pre_xol() local 476 utask->autask.saved_scratch_register = *sr; in riprel_pre_xol() 477 *sr = utask->vaddr + auprobe->defparam.ilen; in riprel_pre_xol() 484 struct uprobe_task *utask = current->utask; in riprel_post_xol() local 487 *sr = utask->autask.saved_scratch_register; in riprel_post_xol() 556 struct uprobe_task *utask = current->utask; in default_post_xol_op() local 560 long correction = utask->vaddr - utask->xol_vaddr; in default_post_xol_op() 564 if (emulate_push_stack(regs, utask->vaddr + auprobe->defparam.ilen)) in default_post_xol_op() 569 utask->autask.saved_tf = true; in default_post_xol_op() 918 struct uprobe_task *utask = current->utask; in arch_uprobe_pre_xol() local [all …]
|
/linux-6.6.21/arch/s390/kernel/ |
D | uprobes.c | 39 regs->psw.addr = current->utask->xol_vaddr; in arch_uprobe_pre_xol() 81 struct uprobe_task *utask = current->utask; in arch_uprobe_post_xol() local 89 regs->psw.addr += utask->vaddr - utask->xol_vaddr; in arch_uprobe_post_xol() 93 regs->gprs[reg] += utask->vaddr - utask->xol_vaddr; in arch_uprobe_post_xol() 98 if (regs->psw.addr - utask->xol_vaddr == ilen) in arch_uprobe_post_xol() 99 regs->psw.addr = utask->vaddr + ilen; in arch_uprobe_post_xol() 104 current->thread.per_event.address = utask->vaddr; in arch_uprobe_post_xol() 140 regs->psw.addr = current->utask->vaddr; in arch_uprobe_abort_xol() 141 current->thread.per_event.address = current->utask->vaddr; in arch_uprobe_abort_xol()
|
/linux-6.6.21/drivers/video/fbdev/ |
D | uvesafb.c | 74 struct uvesafb_task *utask; in uvesafb_cn_callback() local 91 utask = (struct uvesafb_task *)msg->data; in uvesafb_cn_callback() 94 if (task->t.buf_len < utask->buf_len || in uvesafb_cn_callback() 95 utask->buf_len > msg->len - sizeof(*utask)) { in uvesafb_cn_callback() 103 memcpy(&task->t, utask, sizeof(*utask)); in uvesafb_cn_callback() 106 memcpy(task->buf, utask + 1, task->t.buf_len); in uvesafb_cn_callback()
|
/linux-6.6.21/kernel/trace/ |
D | trace_uprobe.c | 206 udd = (void *) current->utask->vaddr; in translate_user_vaddr() 1488 current->utask->vaddr = (unsigned long) &udd; in uprobe_dispatcher() 1523 current->utask->vaddr = (unsigned long) &udd; in uretprobe_dispatcher()
|
D | bpf_trace.c | 1071 return ((struct uprobe_dispatch_data *)current->utask->vaddr)->bp_addr; in BPF_CALL_1()
|
/linux-6.6.21/include/linux/ |
D | sched.h | 1451 struct uprobe_task *utask; member
|