Home
last modified time | relevance | path

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

12

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

Completed in 11 milliseconds

12