| /Linux-v5.4/arch/powerpc/include/asm/ | 
| D | kprobes.h | 32 typedef ppc_opcode_t kprobe_opcode_t;  typedef34 extern kprobe_opcode_t optinsn_slot;
 37 extern kprobe_opcode_t optprobe_template_entry[];
 38 extern kprobe_opcode_t optprobe_template_op_address[];
 39 extern kprobe_opcode_t optprobe_template_call_handler[];
 40 extern kprobe_opcode_t optprobe_template_insn[];
 41 extern kprobe_opcode_t optprobe_template_call_emulate[];
 42 extern kprobe_opcode_t optprobe_template_ret[];
 43 extern kprobe_opcode_t optprobe_template_end[];
 47 #define MAX_OPTIMIZED_LENGTH	sizeof(kprobe_opcode_t)	/* 4 bytes */
 [all …]
 
 | 
| /Linux-v5.4/arch/arm/include/asm/ | 
| D | kprobes.h | 24 typedef u32 kprobe_opcode_t;  typedef47 extern __visible kprobe_opcode_t optprobe_template_entry;
 48 extern __visible kprobe_opcode_t optprobe_template_val;
 49 extern __visible kprobe_opcode_t optprobe_template_call;
 50 extern __visible kprobe_opcode_t optprobe_template_end;
 51 extern __visible kprobe_opcode_t optprobe_template_sub_sp;
 52 extern __visible kprobe_opcode_t optprobe_template_add_sp;
 53 extern __visible kprobe_opcode_t optprobe_template_restore_begin;
 54 extern __visible kprobe_opcode_t optprobe_template_restore_orig_insn;
 55 extern __visible kprobe_opcode_t optprobe_template_restore_end;
 [all …]
 
 | 
| /Linux-v5.4/arch/x86/include/asm/ | 
| D | kprobes.h | 27 typedef u8 kprobe_opcode_t;  typedef42 extern __visible kprobe_opcode_t optprobe_template_entry[];
 43 extern __visible kprobe_opcode_t optprobe_template_val[];
 44 extern __visible kprobe_opcode_t optprobe_template_call[];
 45 extern __visible kprobe_opcode_t optprobe_template_end[];
 62 	kprobe_opcode_t *insn;
 76 	kprobe_opcode_t copied_insn[RELATIVE_ADDR_SIZE];
 78 	kprobe_opcode_t *insn;
 
 | 
| /Linux-v5.4/arch/sh/kernel/ | 
| D | kprobes.c | 42 	kprobe_opcode_t opcode = *(kprobe_opcode_t *) (p->addr);  in arch_prepare_kprobe()54 	memcpy(p->ainsn.insn, p->addr, MAX_INSN_SIZE * sizeof(kprobe_opcode_t));  in arch_copy_kprobe()
 62 			   (unsigned long)p->addr + sizeof(kprobe_opcode_t));  in arch_arm_kprobe()
 69 			   (unsigned long)p->addr + sizeof(kprobe_opcode_t));  in arch_disarm_kprobe()
 88 	struct kprobe *p = get_kprobe((kprobe_opcode_t *) pc + 1);  in kprobe_handle_illslot()
 146 	__this_cpu_write(saved_current_opcode.addr, (kprobe_opcode_t *)regs->pc);  in prepare_singlestep()
 158 			op1->addr = (kprobe_opcode_t *) regs->regs[reg_nr];  in prepare_singlestep()
 162 			    (kprobe_opcode_t *) (regs->pc + 4 + disp * 2);  in prepare_singlestep()
 167 			    (kprobe_opcode_t *) (regs->pc + 4 +  in prepare_singlestep()
 171 			op1->addr = (kprobe_opcode_t *) regs->pr;  in prepare_singlestep()
 [all …]
 
 | 
| /Linux-v5.4/arch/powerpc/kernel/ | 
| D | kprobes.c | 41 kprobe_opcode_t *kprobe_lookup_name(const char *name, unsigned int offset)  in kprobe_lookup_name()43 	kprobe_opcode_t *addr = NULL;  in kprobe_lookup_name()
 47 	addr = (kprobe_opcode_t *)kallsyms_lookup_name(name);  in kprobe_lookup_name()
 58 			addr = (kprobe_opcode_t *)faddr;  in kprobe_lookup_name()
 61 			addr = (kprobe_opcode_t *)ppc_function_entry(addr);  in kprobe_lookup_name()
 93 		addr = (kprobe_opcode_t *)kallsyms_lookup_name(dot_name);  in kprobe_lookup_name()
 97 		addr = (kprobe_opcode_t *)kallsyms_lookup_name(name);  in kprobe_lookup_name()
 99 	addr = (kprobe_opcode_t *)kallsyms_lookup_name(name);  in kprobe_lookup_name()
 108 	kprobe_opcode_t insn = *p->addr;  in arch_prepare_kprobe()
 128 				MAX_INSN_SIZE * sizeof(kprobe_opcode_t));  in arch_prepare_kprobe()
 [all …]
 
 | 
| D | optprobes.c | 74 	if (p->addr == (kprobe_opcode_t *)&kretprobe_trampoline)  in can_optimize()75 		return (unsigned long)p->addr + sizeof(kprobe_opcode_t);  in can_optimize()
 147 void patch_imm32_load_insns(unsigned int val, kprobe_opcode_t *addr)  in patch_imm32_load_insns()
 163 void patch_imm64_load_insns(unsigned long val, kprobe_opcode_t *addr)  in patch_imm64_load_insns()
 192 	kprobe_opcode_t *buff, branch_op_callback, branch_emulate_step;  in arch_prepare_optimized_kprobe()
 193 	kprobe_opcode_t *op_callback_addr, *emulate_step_addr;  in arch_prepare_optimized_kprobe()
 230 	size = (TMPL_END_IDX * sizeof(kprobe_opcode_t)) / sizeof(int);  in arch_prepare_optimized_kprobe()
 247 	op_callback_addr = (kprobe_opcode_t *)ppc_kallsyms_lookup_name("optimized_callback");  in arch_prepare_optimized_kprobe()
 248 	emulate_step_addr = (kprobe_opcode_t *)ppc_kallsyms_lookup_name("emulate_step");  in arch_prepare_optimized_kprobe()
 
 | 
| /Linux-v5.4/arch/arc/kernel/ | 
| D | kprobes.c | 42 			   (unsigned long)p->addr + sizeof(kprobe_opcode_t));  in arch_arm_kprobe()50 			   (unsigned long)p->addr + sizeof(kprobe_opcode_t));  in arch_disarm_kprobe()
 63 				   sizeof(kprobe_opcode_t));  in arch_remove_kprobe()
 73 				   sizeof(kprobe_opcode_t));  in arch_remove_kprobe()
 107 				   sizeof(kprobe_opcode_t));  in resume_execution()
 117 				   sizeof(kprobe_opcode_t));  in resume_execution()
 139 			   (unsigned long)p->addr + sizeof(kprobe_opcode_t));  in setup_singlestep()
 174 	p->ainsn.t1_addr = (kprobe_opcode_t *) next_pc;  in setup_singlestep()
 180 			   sizeof(kprobe_opcode_t));  in setup_singlestep()
 183 		p->ainsn.t2_addr = (kprobe_opcode_t *) tgt_if_br;  in setup_singlestep()
 [all …]
 
 | 
| /Linux-v5.4/include/linux/ | 
| D | kprobes.h | 42 typedef int kprobe_opcode_t;  typedef70 	kprobe_opcode_t *addr;
 91 	kprobe_opcode_t opcode;
 161 	kprobe_opcode_t *ret_addr;
 235 extern bool kprobe_on_func_entry(kprobe_opcode_t *addr, const char *sym, unsigned long offset);
 251 extern kprobe_opcode_t *__get_insn_slot(struct kprobe_insn_cache *c);
 253 			     kprobe_opcode_t *slot, int dirty);
 261 static inline kprobe_opcode_t *get_##__name##_slot(void)		\
 266 static inline void free_##__name##_slot(kprobe_opcode_t *slot, int dirty)\
 353 kprobe_opcode_t *kprobe_lookup_name(const char *name, unsigned int offset);
 
 | 
| /Linux-v5.4/arch/arm64/kernel/probes/ | 
| D | decode-insn.c | 116 is_probed_address_atomic(kprobe_opcode_t *scan_start, kprobe_opcode_t *scan_end)  in is_probed_address_atomic()134 arm_kprobe_decode_insn(kprobe_opcode_t *addr, struct arch_specific_insn *asi)  in arm_kprobe_decode_insn()
 152 		if (offset < (MAX_ATOMIC_CONTEXT_SIZE*sizeof(kprobe_opcode_t)))  in arm_kprobe_decode_insn()
 153 			scan_end = addr - (offset / sizeof(kprobe_opcode_t));  in arm_kprobe_decode_insn()
 
 | 
| D | decode-insn.h | 18 #define MAX_ATOMIC_CONTEXT_SIZE	(128 / sizeof(kprobe_opcode_t))28 arm_kprobe_decode_insn(kprobe_opcode_t *addr, struct arch_specific_insn *asi);
 
 | 
| D | kprobes.c | 39 static int __kprobes patch_text(kprobe_opcode_t *addr, u32 opcode)  in patch_text()57 			   MAX_INSN_SIZE * sizeof(kprobe_opcode_t));  in arch_prepare_ss_slot()
 63 	  sizeof(kprobe_opcode_t);  in arch_prepare_ss_slot()
 199 	kcb->ss_ctx.match_addr = addr + sizeof(kprobe_opcode_t);  in set_ss_context()
 357 	p = get_kprobe((kprobe_opcode_t *) addr);  in kprobe_handler()
 483 	kprobe_opcode_t *correct_ret_addr = NULL;  in trampoline_probe_handler()
 557 	ri->ret_addr = (kprobe_opcode_t *)regs->regs[30];  in arch_prepare_kretprobe()
 
 | 
| /Linux-v5.4/arch/x86/kernel/kprobes/ | 
| D | core.c | 136 static kprobe_opcode_t *skip_prefixes(kprobe_opcode_t *insn)  in skip_prefixes()159 	kprobe_opcode_t opcode;  in can_boost()
 205 __recover_probed_insn(kprobe_opcode_t *buf, unsigned long addr)  in __recover_probed_insn()
 246 		MAX_INSN_SIZE * sizeof(kprobe_opcode_t)))  in __recover_probed_insn()
 262 unsigned long recover_probed_instruction(kprobe_opcode_t *buf, unsigned long addr)  in recover_probed_instruction()
 278 	kprobe_opcode_t buf[MAX_INSN_SIZE];  in can_probe()
 315 static int is_IF_modifier(kprobe_opcode_t *insn)  in is_IF_modifier()
 340 	kprobe_opcode_t buf[MAX_INSN_SIZE];  in __copy_instruction()
 393 static int prepare_boost(kprobe_opcode_t *buf, struct kprobe *p,  in prepare_boost()
 449 	kprobe_opcode_t buf[MAX_INSN_SIZE];  in arch_copy_kprobe()
 [all …]
 
 | 
| D | common.h | 82 extern unsigned long recover_probed_instruction(kprobe_opcode_t *buf,96 extern unsigned long __recover_optprobed_insn(kprobe_opcode_t *buf, unsigned long addr);
 102 static inline unsigned long __recover_optprobed_insn(kprobe_opcode_t *buf, unsigned long addr)  in __recover_optprobed_insn()
 
 | 
| D | ftrace.c | 23 	p = get_kprobe((kprobe_opcode_t *)ip);  in kprobe_ftrace_handler()33 		regs->ip = ip + sizeof(kprobe_opcode_t);  in kprobe_ftrace_handler()
 
 | 
| /Linux-v5.4/arch/parisc/include/asm/ | 
| D | kprobes.h | 24 typedef u32 kprobe_opcode_t;  typedef32 			   sizeof(kprobe_opcode_t))
 37 	kprobe_opcode_t *insn;
 
 | 
| /Linux-v5.4/arch/arc/include/asm/ | 
| D | kprobes.h | 13 typedef u16 kprobe_opcode_t;  typedef23 	kprobe_opcode_t *t1_addr, *t2_addr;
 24 	kprobe_opcode_t t1_opcode, t2_opcode;
 
 | 
| /Linux-v5.4/arch/mips/include/asm/ | 
| D | kprobes.h | 28 typedef union mips_instruction kprobe_opcode_t;  typedef37 			   (MAX_INSN_SIZE * sizeof(kprobe_opcode_t)));	\
 49 	kprobe_opcode_t *insn;
 
 | 
| /Linux-v5.4/arch/arm/probes/kprobes/ | 
| D | core.c | 48 	kprobe_opcode_t insn;  in arch_prepare_kprobe()49 	kprobe_opcode_t tmp_insn[MAX_INSN_SIZE];  in arch_prepare_kprobe()
 132 		kprobe_opcode_t insn = p->opcode;  in arch_arm_kprobe()
 248 	p = get_kprobe((kprobe_opcode_t *)(regs->ARM_pc | 1));  in kprobe_handler()
 250 		p = get_kprobe((kprobe_opcode_t *)regs->ARM_pc);  in kprobe_handler()
 253 	p = get_kprobe((kprobe_opcode_t *)regs->ARM_pc);  in kprobe_handler()
 421 	kprobe_opcode_t *correct_ret_addr = NULL;  in trampoline_handler()
 496 	ri->ret_addr = (kprobe_opcode_t *)regs->ARM_lr;  in arch_prepare_kretprobe()
 
 | 
| /Linux-v5.4/arch/ia64/kernel/ | 
| D | kprobes.c | 487 	ri->ret_addr = (kprobe_opcode_t *)regs->b0;  in arch_prepare_kretprobe()573 	bundle = &((kprobe_opcode_t *)kprobe_addr)->bundle;  in arch_prepare_kprobe()
 593 	memcpy(&p->opcode, kprobe_addr, sizeof(kprobe_opcode_t));  in arch_prepare_kprobe()
 594 	memcpy(p->ainsn.insn, kprobe_addr, sizeof(kprobe_opcode_t));  in arch_prepare_kprobe()
 609 	dest = &((kprobe_opcode_t *)arm_addr)->bundle;  in arch_arm_kprobe()
 614 			   sizeof(kprobe_opcode_t) * MAX_INSN_SIZE);  in arch_arm_kprobe()
 627 	flush_icache_range(arm_addr, arm_addr + sizeof(kprobe_opcode_t));  in arch_arm_kprobe()
 636 	dest = &((kprobe_opcode_t *)arm_addr)->bundle;  in arch_disarm_kprobe()
 650 	flush_icache_range(arm_addr, arm_addr + sizeof(kprobe_opcode_t));  in arch_disarm_kprobe()
 773 	kprobe_opcode_t *addr = (kprobe_opcode_t *)instruction_pointer(regs);  in pre_kprobes_handler()
 [all …]
 
 | 
| /Linux-v5.4/arch/mips/kernel/ | 
| D | kprobes.c | 124 		memcpy(&p->ainsn.insn[0], p->addr + 1, sizeof(kprobe_opcode_t));  in arch_prepare_kprobe()126 		memcpy(&p->ainsn.insn[0], p->addr, sizeof(kprobe_opcode_t));  in arch_prepare_kprobe()
 277 	kprobe_opcode_t *addr;  in kprobe_handler()
 280 	addr = (kprobe_opcode_t *) regs->cp0_epc;  in kprobe_handler()
 479 	ri->ret_addr = (kprobe_opcode_t *) regs->regs[31];  in arch_prepare_kretprobe()
 552 	if (p->addr == (kprobe_opcode_t *)kretprobe_trampoline)  in arch_trampoline_kprobe()
 559 	.addr = (kprobe_opcode_t *)kretprobe_trampoline,
 
 | 
| /Linux-v5.4/arch/sh/include/asm/ | 
| D | kprobes.h | 14 typedef insn_size_t kprobe_opcode_t;  typedef34 	kprobe_opcode_t insn[MAX_INSN_SIZE];
 
 | 
| /Linux-v5.4/arch/sparc/include/asm/ | 
| D | kprobes.h | 14 typedef u32 kprobe_opcode_t;  typedef32 	kprobe_opcode_t insn[MAX_INSN_SIZE];
 
 | 
| /Linux-v5.4/arch/s390/include/asm/ | 
| D | kprobes.h | 41 typedef u16 kprobe_opcode_t;  typedef56 	kprobe_opcode_t *insn;
 
 | 
| /Linux-v5.4/arch/parisc/kernel/ | 
| D | kprobes.c | 29 		MAX_INSN_SIZE * sizeof(kprobe_opcode_t));  in arch_prepare_kprobe()199 	kprobe_opcode_t *correct_ret_addr = NULL;  in trampoline_probe_handler()
 274 	ri->ret_addr = (kprobe_opcode_t *)regs->gr[2];  in arch_prepare_kretprobe()
 287 	trampoline_p.addr = (kprobe_opcode_t *)  in arch_init_kprobes()
 
 | 
| /Linux-v5.4/arch/ia64/include/asm/ | 
| D | kprobes.h | 94 } kprobe_opcode_t;  typedef99 	kprobe_opcode_t *insn;
 
 |