Searched refs:auprobe (Results 1 - 14 of 14) sorted by relevance

/linux-master/arch/arm/probes/uprobes/
H A Dcore.c29 int set_swbp(struct arch_uprobe *auprobe, struct mm_struct *mm, argument
32 return uprobe_write_opcode(auprobe, mm, vaddr,
33 __opcode_to_mem_arm(auprobe->bpinsn));
36 bool arch_uprobe_ignore(struct arch_uprobe *auprobe, struct pt_regs *regs) argument
38 if (!auprobe->asi.insn_check_cc(regs->ARM_cpsr)) {
46 bool arch_uprobe_skip_sstep(struct arch_uprobe *auprobe, struct pt_regs *regs) argument
50 if (!auprobe->simulate)
53 opcode = __mem_to_opcode_arm(*(unsigned int *) auprobe->insn);
55 auprobe->asi.insn_singlestep(opcode, &auprobe
72 arch_uprobe_analyze_insn(struct arch_uprobe *auprobe, struct mm_struct *mm, unsigned long addr) argument
133 arch_uprobe_pre_xol(struct arch_uprobe *auprobe, struct pt_regs *regs) argument
147 arch_uprobe_post_xol(struct arch_uprobe *auprobe, struct pt_regs *regs) argument
170 arch_uprobe_abort_xol(struct arch_uprobe *auprobe, struct pt_regs *regs) argument
[all...]
H A Dactions-arm.c66 static void uprobe_set_pc(struct arch_uprobe *auprobe, argument
70 u32 pcreg = auprobe->pcreg;
76 static void uprobe_unset_pc(struct arch_uprobe *auprobe, argument
81 regs->uregs[auprobe->pcreg] = autask->backup;
84 static void uprobe_aluwrite_pc(struct arch_uprobe *auprobe, argument
88 u32 pcreg = auprobe->pcreg;
94 static void uprobe_write_pc(struct arch_uprobe *auprobe, argument
98 u32 pcreg = auprobe->pcreg;
108 struct arch_uprobe *auprobe = container_of(asi, struct arch_uprobe, local
114 reg = uprobes_substitute_pc(&auprobe
132 struct arch_uprobe *auprobe = container_of(asi, struct arch_uprobe, local
163 struct arch_uprobe *auprobe = container_of(asi, struct arch_uprobe, local
[all...]
/linux-master/arch/x86/kernel/
H A Duprobes.c277 static int uprobe_init_insn(struct arch_uprobe *auprobe, struct insn *insn, bool x86_64) argument
283 ret = insn_decode(insn, auprobe->insn, sizeof(auprobe->insn), m);
335 static void riprel_analyze(struct arch_uprobe *auprobe, struct insn *insn) argument
350 cursor = auprobe->insn + insn_offset_rex_prefix(insn);
369 cursor = auprobe->insn + insn_offset_vex_prefix(insn) + 1;
433 auprobe->defparam.fixups |= UPROBE_FIX_RIP_SI;
436 auprobe->defparam.fixups |= UPROBE_FIX_RIP_DI;
440 auprobe->defparam.fixups |= UPROBE_FIX_RIP_BX;
447 cursor = auprobe
457 scratch_reg(struct arch_uprobe *auprobe, struct pt_regs *regs) argument
470 riprel_pre_xol(struct arch_uprobe *auprobe, struct pt_regs *regs) argument
481 riprel_post_xol(struct arch_uprobe *auprobe, struct pt_regs *regs) argument
494 riprel_analyze(struct arch_uprobe *auprobe, struct insn *insn) argument
497 riprel_pre_xol(struct arch_uprobe *auprobe, struct pt_regs *regs) argument
500 riprel_post_xol(struct arch_uprobe *auprobe, struct pt_regs *regs) argument
520 default_pre_xol_op(struct arch_uprobe *auprobe, struct pt_regs *regs) argument
554 default_post_xol_op(struct arch_uprobe *auprobe, struct pt_regs *regs) argument
574 default_abort_op(struct arch_uprobe *auprobe, struct pt_regs *regs) argument
585 branch_is_call(struct arch_uprobe *auprobe) argument
619 check_jmp_cond(struct arch_uprobe *auprobe, struct pt_regs *regs) argument
638 branch_emulate_op(struct arch_uprobe *auprobe, struct pt_regs *regs) argument
663 push_emulate_op(struct arch_uprobe *auprobe, struct pt_regs *regs) argument
673 branch_post_xol_op(struct arch_uprobe *auprobe, struct pt_regs *regs) argument
686 branch_clear_offset(struct arch_uprobe *auprobe, struct insn *insn) argument
716 branch_setup_xol_ops(struct arch_uprobe *auprobe, struct insn *insn) argument
767 push_setup_xol_ops(struct arch_uprobe *auprobe, struct insn *insn) argument
854 arch_uprobe_analyze_insn(struct arch_uprobe *auprobe, struct mm_struct *mm, unsigned long addr) argument
916 arch_uprobe_pre_xol(struct arch_uprobe *auprobe, struct pt_regs *regs) argument
963 arch_uprobe_post_xol(struct arch_uprobe *auprobe, struct pt_regs *regs) argument
1036 arch_uprobe_abort_xol(struct arch_uprobe *auprobe, struct pt_regs *regs) argument
1050 __skip_sstep(struct arch_uprobe *auprobe, struct pt_regs *regs) argument
1057 arch_uprobe_skip_sstep(struct arch_uprobe *auprobe, struct pt_regs *regs) argument
[all...]
/linux-master/arch/csky/kernel/probes/
H A Duprobes.c24 int arch_uprobe_analyze_insn(struct arch_uprobe *auprobe, struct mm_struct *mm, argument
29 insn = *(probe_opcode_t *)(&auprobe->insn[0]);
31 auprobe->insn_size = is_insn32(insn) ? 4 : 2;
33 switch (csky_probe_decode_insn(&insn, &auprobe->api)) {
38 auprobe->simulate = true;
48 int arch_uprobe_pre_xol(struct arch_uprobe *auprobe, struct pt_regs *regs) argument
62 int arch_uprobe_post_xol(struct arch_uprobe *auprobe, struct pt_regs *regs) argument
69 instruction_pointer_set(regs, utask->vaddr + auprobe->insn_size);
84 bool arch_uprobe_skip_sstep(struct arch_uprobe *auprobe, struct pt_regs *regs) argument
89 if (!auprobe
101 arch_uprobe_abort_xol(struct arch_uprobe *auprobe, struct pt_regs *regs) argument
[all...]
/linux-master/arch/loongarch/kernel/
H A Duprobes.c10 int arch_uprobe_analyze_insn(struct arch_uprobe *auprobe, argument
19 for (idx = ARRAY_SIZE(auprobe->insn) - 1; idx >= 0; idx--) {
20 insn.word = auprobe->insn[idx];
26 auprobe->ixol[0] = larch_insn_gen_nop();
27 auprobe->simulate = true;
29 auprobe->ixol[0] = auprobe->insn[0];
30 auprobe->simulate = false;
33 auprobe->ixol[1] = UPROBE_XOLBP_INSN;
38 int arch_uprobe_pre_xol(struct arch_uprobe *auprobe, struc argument
50 arch_uprobe_post_xol(struct arch_uprobe *auprobe, struct pt_regs *regs) argument
67 arch_uprobe_abort_xol(struct arch_uprobe *auprobe, struct pt_regs *regs) argument
84 arch_uprobe_skip_sstep(struct arch_uprobe *auprobe, struct pt_regs *regs) argument
[all...]
/linux-master/arch/riscv/kernel/probes/
H A Duprobes.c31 int arch_uprobe_analyze_insn(struct arch_uprobe *auprobe, struct mm_struct *mm, argument
36 opcode = *(probe_opcode_t *)(&auprobe->insn[0]);
38 auprobe->insn_size = GET_INSN_LENGTH(opcode);
40 switch (riscv_probe_decode_insn(&opcode, &auprobe->api)) {
45 auprobe->simulate = true;
49 auprobe->simulate = false;
59 int arch_uprobe_pre_xol(struct arch_uprobe *auprobe, struct pt_regs *regs) argument
71 int arch_uprobe_post_xol(struct arch_uprobe *auprobe, struct pt_regs *regs) argument
78 instruction_pointer_set(regs, utask->vaddr + auprobe->insn_size);
91 bool arch_uprobe_skip_sstep(struct arch_uprobe *auprobe, struc argument
108 arch_uprobe_abort_xol(struct arch_uprobe *auprobe, struct pt_regs *regs) argument
[all...]
/linux-master/arch/powerpc/kernel/
H A Duprobes.c38 int arch_uprobe_analyze_insn(struct arch_uprobe *auprobe, argument
45 ppc_inst_prefixed(ppc_inst_read(auprobe->insn)) &&
51 if (!can_single_step(ppc_inst_val(ppc_inst_read(auprobe->insn)))) {
61 * @auprobe: the probepoint information.
64 int arch_uprobe_pre_xol(struct arch_uprobe *auprobe, struct pt_regs *regs) argument
112 int arch_uprobe_post_xol(struct arch_uprobe *auprobe, struct pt_regs *regs) argument
127 regs_set_return_ip(regs, (unsigned long)ppc_inst_next((void *)utask->vaddr, auprobe->insn));
168 void arch_uprobe_abort_xol(struct arch_uprobe *auprobe, struct pt_regs *regs) argument
182 bool arch_uprobe_skip_sstep(struct arch_uprobe *auprobe, struct pt_regs *regs) argument
190 ret = emulate_step(regs, ppc_inst_read(auprobe
[all...]
/linux-master/arch/arm64/kernel/probes/
H A Duprobes.c34 int arch_uprobe_analyze_insn(struct arch_uprobe *auprobe, struct mm_struct *mm, argument
45 insn = *(probe_opcode_t *)(&auprobe->insn[0]);
47 switch (arm_probe_decode_insn(insn, &auprobe->api)) {
52 auprobe->simulate = true;
62 int arch_uprobe_pre_xol(struct arch_uprobe *auprobe, struct pt_regs *regs) argument
77 int arch_uprobe_post_xol(struct arch_uprobe *auprobe, struct pt_regs *regs) argument
103 bool arch_uprobe_skip_sstep(struct arch_uprobe *auprobe, struct pt_regs *regs) argument
108 if (!auprobe->simulate)
111 insn = *(probe_opcode_t *)(&auprobe->insn[0]);
114 if (auprobe
120 arch_uprobe_abort_xol(struct arch_uprobe *auprobe, struct pt_regs *regs) argument
[all...]
/linux-master/arch/arm/include/asm/
H A Duprobes.h33 void (*prehandler)(struct arch_uprobe *auprobe,
36 void (*posthandler)(struct arch_uprobe *auprobe,
/linux-master/arch/s390/kernel/
H A Duprobes.c22 int arch_uprobe_analyze_insn(struct arch_uprobe *auprobe, struct mm_struct *mm, argument
25 return probe_is_prohibited_opcode(auprobe->insn);
28 int arch_uprobe_pre_xol(struct arch_uprobe *auprobe, struct pt_regs *regs) argument
35 auprobe->saved_per = psw_bits(regs->psw).per;
36 auprobe->saved_int_code = regs->int_code;
77 int arch_uprobe_post_xol(struct arch_uprobe *auprobe, struct pt_regs *regs) argument
79 int fixup = probe_get_fixup_type(auprobe->insn);
84 psw_bits(regs->psw).per = auprobe->saved_per;
85 regs->int_code = auprobe->saved_int_code;
90 int reg = (auprobe
135 arch_uprobe_abort_xol(struct arch_uprobe *auprobe, struct pt_regs *regs) argument
263 handle_insn_ril(struct arch_uprobe *auprobe, struct pt_regs *regs) argument
373 arch_uprobe_skip_sstep(struct arch_uprobe *auprobe, struct pt_regs *regs) argument
[all...]
/linux-master/arch/sparc/kernel/
H A Duprobes.c76 int arch_uprobe_analyze_insn(struct arch_uprobe *auprobe, argument
169 bool arch_uprobe_skip_sstep(struct arch_uprobe *auprobe, struct pt_regs *regs) argument
174 if (auprobe->ixol == (1 << 24)) {
190 int arch_uprobe_pre_xol(struct arch_uprobe *auprobe, struct pt_regs *regs) argument
216 int arch_uprobe_post_xol(struct arch_uprobe *auprobe, struct pt_regs *regs) argument
220 u32 insn = auprobe->ixol;
293 void arch_uprobe_abort_xol(struct arch_uprobe *auprobe, struct pt_regs *regs) argument
/linux-master/include/linux/
H A Duprobes.h112 extern int uprobe_write_opcode(struct arch_uprobe *auprobe, struct mm_struct *mm, unsigned long vaddr, uprobe_opcode_t);
/linux-master/arch/mips/kernel/
H A Duprobes.c102 * @auprobe: the probepoint information.
243 bool arch_uprobe_skip_sstep(struct arch_uprobe *auprobe, struct pt_regs *regs) argument
/linux-master/kernel/events/
H A Duprobes.c451 * @auprobe: arch specific probepoint information.
459 int uprobe_write_opcode(struct arch_uprobe *auprobe, struct mm_struct *mm, argument
470 uprobe = container_of(auprobe, struct uprobe, arch);
562 * @auprobe: arch specific probepoint information.
569 int __weak set_swbp(struct arch_uprobe *auprobe, struct mm_struct *mm, unsigned long vaddr) argument
571 return uprobe_write_opcode(auprobe, mm, vaddr, UPROBE_SWBP_INSN);
577 * @auprobe: arch specific probepoint information.
584 set_orig_insn(struct arch_uprobe *auprobe, struct mm_struct *mm, unsigned long vaddr) argument
586 return uprobe_write_opcode(auprobe, mm, vaddr,
587 *(uprobe_opcode_t *)&auprobe
[all...]

Completed in 164 milliseconds