Home
last modified time | relevance | path

Searched refs:ainsn (Results 1 – 25 of 25) sorted by relevance

/linux/arch/arc/kernel/
A Dkprobes.c58 if (p->ainsn.t1_addr) { in arch_remove_kprobe()
59 *(p->ainsn.t1_addr) = p->ainsn.t1_opcode; in arch_remove_kprobe()
65 p->ainsn.t1_addr = NULL; in arch_remove_kprobe()
68 if (p->ainsn.t2_addr) { in arch_remove_kprobe()
69 *(p->ainsn.t2_addr) = p->ainsn.t2_opcode; in arch_remove_kprobe()
102 if (p->ainsn.t1_addr) { in resume_execution()
103 *(p->ainsn.t1_addr) = p->ainsn.t1_opcode; in resume_execution()
112 if (p->ainsn.t2_addr) { in resume_execution()
113 *(p->ainsn.t2_addr) = p->ainsn.t2_opcode; in resume_execution()
175 p->ainsn.t1_opcode = *(p->ainsn.t1_addr); in setup_singlestep()
[all …]
/linux/arch/x86/kernel/kprobes/
A Dcore.c387 p->ainsn.boostable = 1; in prepare_singlestep()
457 func += p->ainsn.rel32; in kprobe_emulate_call()
468 ip += p->ainsn.rel32; in __kprobe_emulate_jmp()
713 p->ainsn.tp_len = len; in arch_copy_kprobe()
732 memset(&p->ainsn, 0, sizeof(p->ainsn)); in arch_prepare_kprobe()
736 if (!p->ainsn.insn) in arch_prepare_kprobe()
742 p->ainsn.insn = NULL; in arch_prepare_kprobe()
768 if (p->ainsn.insn) { in arch_remove_kprobe()
770 perf_event_text_poke(p->ainsn.insn, p->ainsn.insn, in arch_remove_kprobe()
772 free_insn_slot(p->ainsn.insn, p->ainsn.boostable); in arch_remove_kprobe()
[all …]
A Dftrace.c67 p->ainsn.insn = NULL; in arch_prepare_kprobe_ftrace()
68 p->ainsn.boostable = false; in arch_prepare_kprobe_ftrace()
/linux/arch/ia64/kernel/
A Dkprobes.c90 p->ainsn.inst_flag = 0; in update_kprobe_inst_flag()
91 p->ainsn.target_br_reg = 0; in update_kprobe_inst_flag()
92 p->ainsn.slot = slot; in update_kprobe_inst_flag()
517 p->ainsn.insn = get_insn_slot(); in arch_prepare_kprobe()
518 if (!p->ainsn.insn) in arch_prepare_kprobe()
543 switch (p->ainsn.slot) { in arch_arm_kprobe()
565 src = &p->ainsn.insn->bundle; in arch_disarm_kprobe()
566 switch (p->ainsn.slot) { in arch_disarm_kprobe()
582 if (p->ainsn.insn) { in arch_remove_kprobe()
583 free_insn_slot(p->ainsn.insn, in arch_remove_kprobe()
[all …]
/linux/arch/riscv/kernel/probes/
A Dkprobes.c30 patch_text(p->ainsn.api.insn, p->opcode); in arch_prepare_ss_slot()
37 p->ainsn.api.restore = 0; in arch_prepare_simulate()
44 if (p->ainsn.api.handler) in arch_simulate_insn()
45 p->ainsn.api.handler((u32)p->opcode, in arch_simulate_insn()
67 p->ainsn.api.insn = NULL; in arch_prepare_kprobe()
71 p->ainsn.api.insn = get_insn_slot(); in arch_prepare_kprobe()
72 if (!p->ainsn.api.insn) in arch_prepare_kprobe()
78 if (p->ainsn.api.insn) in arch_prepare_kprobe()
167 if (p->ainsn.api.insn) { in setup_singlestep()
209 if (cur->ainsn.api.restore != 0) in post_kprobe_handler()
[all …]
A Dftrace.c60 p->ainsn.api.insn = NULL; in arch_prepare_kprobe_ftrace()
/linux/arch/arm64/kernel/probes/
A Dkprobes.c65 p->ainsn.api.restore = 0; in arch_prepare_simulate()
72 if (p->ainsn.api.handler) in arch_simulate_insn()
98 p->ainsn.api.insn = NULL; in arch_prepare_kprobe()
102 p->ainsn.api.insn = get_insn_slot(); in arch_prepare_kprobe()
103 if (!p->ainsn.api.insn) in arch_prepare_kprobe()
109 if (p->ainsn.api.insn) in arch_prepare_kprobe()
143 if (p->ainsn.api.insn) { in arch_remove_kprobe()
144 free_insn_slot(p->ainsn.api.insn, 0); in arch_remove_kprobe()
145 p->ainsn.api.insn = NULL; in arch_remove_kprobe()
200 if (p->ainsn.api.insn) { in setup_singlestep()
[all …]
/linux/arch/arm/probes/kprobes/
A Dcore.c85 p->ainsn.insn = tmp_insn; in arch_prepare_kprobe()
92 p->ainsn.insn = get_insn_slot(); in arch_prepare_kprobe()
93 if (!p->ainsn.insn) in arch_prepare_kprobe()
96 p->ainsn.insn[is] = tmp_insn[is]; in arch_prepare_kprobe()
97 flush_insns(p->ainsn.insn, in arch_prepare_kprobe()
104 p->ainsn.insn = NULL; in arch_prepare_kprobe()
113 if ((p->ainsn.stack_space < 0) || in arch_prepare_kprobe()
186 if (p->ainsn.insn) { in arch_remove_kprobe()
187 free_insn_slot(p->ainsn.insn, 0); in arch_remove_kprobe()
188 p->ainsn.insn = NULL; in arch_remove_kprobe()
[all …]
A Dopt-arm.c127 if (kp->ainsn.stack_space < 0) in can_optimize()
133 if (kp->ainsn.stack_space > 255 - sizeof(struct pt_regs)) in can_optimize()
177 if (!p->ainsn.kprobe_direct_exec) in optimized_callback()
178 op->kp.ainsn.insn_singlestep(p->opcode, &p->ainsn, regs); in optimized_callback()
241 BUG_ON(orig->ainsn.stack_space < 0); in NOKPROBE_SYMBOL()
243 stack_protect += orig->ainsn.stack_space; in NOKPROBE_SYMBOL()
262 orig->ainsn.kprobe_direct_exec = false; in NOKPROBE_SYMBOL()
263 if (can_kprobe_direct_exec(orig->ainsn.register_usage_flags)) { in NOKPROBE_SYMBOL()
279 orig->ainsn.kprobe_direct_exec = true; in NOKPROBE_SYMBOL()
/linux/arch/powerpc/kernel/
A Dkprobes.c151 p->ainsn.insn = get_insn_slot(); in arch_prepare_kprobe()
152 if (!p->ainsn.insn) in arch_prepare_kprobe()
161 p->ainsn.boostable = 0; in arch_prepare_kprobe()
180 if (p->ainsn.insn) { in arch_remove_kprobe()
181 free_insn_slot(p->ainsn.insn, 0); in arch_remove_kprobe()
182 p->ainsn.insn = NULL; in arch_remove_kprobe()
256 if (unlikely(p->ainsn.boostable == 0)) in try_to_emulate()
257 p->ainsn.boostable = 1; in try_to_emulate()
278 p->ainsn.boostable = -1; in try_to_emulate()
355 if (p->ainsn.boostable >= 0) { in kprobe_handler()
[all …]
A Doptprobes.c87 if (!is_conditional_branch(ppc_inst_read(p->ainsn.insn)) && in can_optimize()
88 analyse_instr(&op, &regs, ppc_inst_read(p->ainsn.insn)) == 1) { in can_optimize()
232 temp = ppc_inst_read(p->ainsn.insn); in arch_prepare_optimized_kprobe()
235 patch_imm_load_insns((unsigned long)p->ainsn.insn, 4, buff + TMPL_INSN_IDX); in arch_prepare_optimized_kprobe()
A Dkprobes-ftrace.c69 p->ainsn.insn = NULL; in arch_prepare_kprobe_ftrace()
70 p->ainsn.boostable = -1; in arch_prepare_kprobe_ftrace()
/linux/arch/s390/kernel/
A Dkprobes.c93 s390_kernel_write(p->ainsn.insn, &insn, len); in copy_instruction()
104 p->ainsn.insn = NULL; in s390_get_insn_slot()
106 p->ainsn.insn = get_s390_insn_slot(); in s390_get_insn_slot()
108 p->ainsn.insn = get_insn_slot(); in s390_get_insn_slot()
109 return p->ainsn.insn ? 0 : -ENOMEM; in s390_get_insn_slot()
115 if (!p->ainsn.insn) in s390_free_insn_slot()
118 free_s390_insn_slot(p->ainsn.insn, 0); in s390_free_insn_slot()
120 free_insn_slot(p->ainsn.insn, 0); in s390_free_insn_slot()
121 p->ainsn.insn = NULL; in s390_free_insn_slot()
426 int reg = (p->ainsn.insn[0] & 0xf0) >> 4; in resume_execution()
[all …]
A Dftrace.c326 p->ainsn.insn = NULL; in arch_prepare_kprobe_ftrace()
/linux/arch/csky/kernel/probes/
A Dkprobes.c60 patch_text(p->ainsn.api.insn, p->opcode); in arch_prepare_ss_slot()
65 p->ainsn.api.restore = 0; in arch_prepare_simulate()
72 if (p->ainsn.api.handler) in arch_simulate_insn()
94 p->ainsn.api.insn = NULL; in arch_prepare_kprobe()
98 p->ainsn.api.insn = get_insn_slot(); in arch_prepare_kprobe()
99 if (!p->ainsn.api.insn) in arch_prepare_kprobe()
105 if (p->ainsn.api.insn) in arch_prepare_kprobe()
200 if (p->ainsn.api.insn) { in setup_singlestep()
202 slot = (unsigned long)p->ainsn.api.insn; in setup_singlestep()
249 if (cur->ainsn.api.restore != 0) in post_kprobe_handler()
[all …]
A Dftrace.c65 p->ainsn.api.insn = NULL; in arch_prepare_kprobe_ftrace()
/linux/arch/parisc/kernel/
A Dkprobes.c24 p->ainsn.insn = get_insn_slot(); in arch_prepare_kprobe()
25 if (!p->ainsn.insn) in arch_prepare_kprobe()
28 memcpy(p->ainsn.insn, p->addr, in arch_prepare_kprobe()
37 if (!p->ainsn.insn) in arch_remove_kprobe()
40 free_insn_slot(p->ainsn.insn, 0); in arch_remove_kprobe()
41 p->ainsn.insn = NULL; in arch_remove_kprobe()
76 regs->iaoq[0] = (unsigned long)p->ainsn.insn; in setup_singlestep()
139 if (regs->iaoq[0] != (unsigned long)p->ainsn.insn+4) in parisc_kprobe_ss_handler()
A Dftrace.c248 p->ainsn.insn = NULL; in arch_prepare_kprobe_ftrace()
/linux/arch/mips/kernel/
A Dkprobes.c105 p->ainsn.insn = get_insn_slot(); in arch_prepare_kprobe()
106 if (!p->ainsn.insn) { in arch_prepare_kprobe()
125 memcpy(&p->ainsn.insn[0], p->addr + 1, sizeof(kprobe_opcode_t)); in arch_prepare_kprobe()
127 memcpy(&p->ainsn.insn[0], p->addr, sizeof(kprobe_opcode_t)); in arch_prepare_kprobe()
129 p->ainsn.insn[1] = breakpoint2_insn; in arch_prepare_kprobe()
150 if (p->ainsn.insn) { in arch_remove_kprobe()
151 free_insn_slot(p->ainsn.insn, 0); in arch_remove_kprobe()
152 p->ainsn.insn = NULL; in arch_remove_kprobe()
206 if (p->ainsn.insn->word == 0) in evaluate_branch_instruction()
245 regs->cp0_epc = (unsigned long)&p->ainsn.insn[0]; in prepare_singlestep()
[all …]
/linux/arch/sparc/kernel/
A Dkprobes.c55 p->ainsn.insn[0] = *p->addr; in arch_prepare_kprobe()
56 flushi(&p->ainsn.insn[0]); in arch_prepare_kprobe()
58 p->ainsn.insn[1] = BREAKPOINT_INSTRUCTION_2; in arch_prepare_kprobe()
59 flushi(&p->ainsn.insn[1]); in arch_prepare_kprobe()
111 regs->tpc = (unsigned long) &p->ainsn.insn[0]; in prepare_singlestep()
112 regs->tnpc = (unsigned long) &p->ainsn.insn[1]; in prepare_singlestep()
218 ainsn_addr = (unsigned long) &p->ainsn.insn[0]; in relbranch_fixup()
280 u32 insn = p->ainsn.insn[0]; in resume_execution()
/linux/arch/parisc/include/asm/
A Dkprobes.h30 flush_icache_range((unsigned long)&(p)->ainsn.insn[0], \
31 (unsigned long)&(p)->ainsn.insn[0] + \
/linux/arch/sparc/include/asm/
A Dkprobes.h23 do { flushi(&(p)->ainsn.insn[0]); \
24 flushi(&(p)->ainsn.insn[1]); \
/linux/arch/sh/kernel/
A Dkprobes.c54 memcpy(p->ainsn.insn, p->addr, MAX_INSN_SIZE * sizeof(kprobe_opcode_t)); in arch_copy_kprobe()
234 *p->ainsn.insn == BREAKPOINT_INSTRUCTION) { in kprobe_handler()
/linux/include/linux/
A Dkprobes.h87 struct arch_specific_insn ainsn; member
/linux/kernel/
A Dkprobes.c408 memcpy(&p->ainsn, &ap->ainsn, sizeof(struct arch_specific_insn)); in copy_kprobe()

Completed in 74 milliseconds