/linux/arch/arm/include/asm/ |
H A D | kprobes.h | 24 typedef u32 kprobe_opcode_t; typedef 45 extern __visible kprobe_opcode_t optprobe_template_entry[]; 46 extern __visible kprobe_opcode_t optprobe_template_val[]; 47 extern __visible kprobe_opcode_t optprobe_template_call[]; 48 extern __visible kprobe_opcode_t optprobe_template_end[]; 49 extern __visible kprobe_opcode_t optprobe_template_sub_sp[]; 50 extern __visible kprobe_opcode_t optprobe_template_add_sp[]; 51 extern __visible kprobe_opcode_t optprobe_template_restore_begin[]; 52 extern __visible kprobe_opcode_t optprobe_template_restore_orig_insn[]; 53 extern __visible kprobe_opcode_t optprobe_template_restore_end[]; [all …]
|
/linux/arch/x86/include/asm/ |
H A D | kprobes.h | 26 typedef u8 kprobe_opcode_t; typedef 38 extern __visible kprobe_opcode_t optprobe_template_entry[]; 39 extern __visible kprobe_opcode_t optprobe_template_clac[]; 40 extern __visible kprobe_opcode_t optprobe_template_val[]; 41 extern __visible kprobe_opcode_t optprobe_template_call[]; 42 extern __visible kprobe_opcode_t optprobe_template_end[]; 56 kprobe_opcode_t *insn; 87 kprobe_opcode_t copied_insn[DISP32_SIZE]; 89 kprobe_opcode_t *insn;
|
/linux/arch/sh/kernel/ |
H A D | kprobes.c | 42 kprobe_opcode_t opcode = *p->addr; in arch_prepare_kprobe() 47 memcpy(p->ainsn.insn, p->addr, MAX_INSN_SIZE * sizeof(kprobe_opcode_t)); in arch_prepare_kprobe() 57 (unsigned long)p->addr + sizeof(kprobe_opcode_t)); in arch_arm_kprobe() 64 (unsigned long)p->addr + sizeof(kprobe_opcode_t)); in arch_disarm_kprobe() 83 struct kprobe *p = get_kprobe((kprobe_opcode_t *) pc + 1); in kprobe_handle_illslot() 141 __this_cpu_write(saved_current_opcode.addr, (kprobe_opcode_t *)regs->pc); in prepare_singlestep() 153 op1->addr = (kprobe_opcode_t *) regs->regs[reg_nr]; in prepare_singlestep() 157 (kprobe_opcode_t *) (regs->pc + 4 + disp * 2); in prepare_singlestep() 162 (kprobe_opcode_t *) (regs->pc + 4 + in prepare_singlestep() 166 op1->addr = (kprobe_opcode_t *) regs->pr; in prepare_singlestep() [all …]
|
/linux/arch/arc/kernel/ |
H A 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/include/linux/ |
H A D | kprobes.h | 43 typedef int kprobe_opcode_t; typedef 69 kprobe_opcode_t *addr; 84 kprobe_opcode_t opcode; 169 kprobe_opcode_t *ret_addr; 211 kprobe_opcode_t *correct_ret_addr); 279 extern int kprobe_on_func_entry(kprobe_opcode_t *addr, const char *sym, unsigned long offset); 296 extern kprobe_opcode_t *__get_insn_slot(struct kprobe_insn_cache *c); 298 kprobe_opcode_t *slot, int dirty); 306 static inline kprobe_opcode_t *get_##__name##_slot(void) \ 311 static inline void free_##__name##_slot(kprobe_opcode_t *slot, int dirty)\ [all …]
|
/linux/arch/arm64/kernel/probes/ |
H A D | decode-insn.c | 127 is_probed_address_atomic(kprobe_opcode_t *scan_start, kprobe_opcode_t *scan_end) in is_probed_address_atomic() 145 arm_kprobe_decode_insn(kprobe_opcode_t *addr, struct arch_specific_insn *asi) in arm_kprobe_decode_insn() 149 kprobe_opcode_t *scan_end = NULL; in arm_kprobe_decode_insn() 174 if (offset < (MAX_ATOMIC_CONTEXT_SIZE*sizeof(kprobe_opcode_t))) in arm_kprobe_decode_insn() 175 scan_end = addr - (offset / sizeof(kprobe_opcode_t)); in arm_kprobe_decode_insn()
|
/linux/arch/arc/include/asm/ |
H A D | kprobes.h | 13 typedef u16 kprobe_opcode_t; typedef 23 kprobe_opcode_t *t1_addr, *t2_addr; 24 kprobe_opcode_t t1_opcode, t2_opcode;
|
/linux/arch/parisc/include/asm/ |
H A D | kprobes.h | 26 typedef u32 kprobe_opcode_t; typedef 34 MAX_INSN_SIZE*sizeof(kprobe_opcode_t)) 39 kprobe_opcode_t *insn;
|
/linux/arch/mips/include/asm/ |
H A D | kprobes.h | 28 typedef union mips_instruction kprobe_opcode_t; typedef 37 (MAX_INSN_SIZE * sizeof(kprobe_opcode_t))); \ 49 kprobe_opcode_t *insn;
|
/linux/arch/loongarch/include/asm/ |
H A D | kprobes.h | 20 (MAX_INSN_SIZE * sizeof(kprobe_opcode_t))); \ 25 typedef u32 kprobe_opcode_t; typedef 30 kprobe_opcode_t *insn;
|
/linux/arch/x86/kernel/kprobes/ |
H A D | common.h | 83 extern unsigned long recover_probed_instruction(kprobe_opcode_t *buf, 97 extern unsigned long __recover_optprobed_insn(kprobe_opcode_t *buf, unsigned long addr); 103 static inline unsigned long __recover_optprobed_insn(kprobe_opcode_t *buf, unsigned long addr) in __recover_optprobed_insn()
|
H A D | core.c | 142 kprobe_opcode_t opcode; in can_boost() 205 __recover_probed_insn(kprobe_opcode_t *buf, unsigned long addr) in __recover_probed_insn() 239 MAX_INSN_SIZE * sizeof(kprobe_opcode_t))) in __recover_probed_insn() 255 unsigned long recover_probed_instruction(kprobe_opcode_t *buf, unsigned long addr) in recover_probed_instruction() 292 kprobe_opcode_t buf[MAX_INSN_SIZE]; in can_probe() 373 kprobe_opcode_t *arch_adjust_kprobe_addr(unsigned long addr, unsigned long offset, in arch_adjust_kprobe_addr() 394 return (kprobe_opcode_t *)(addr + offset); in arch_adjust_kprobe_addr() 406 kprobe_opcode_t buf[MAX_INSN_SIZE]; in __copy_instruction() 465 static int prepare_singlestep(kprobe_opcode_t *buf, struct kprobe *p, in prepare_singlestep() 759 kprobe_opcode_t buf[MAX_INSN_SIZE]; in arch_copy_kprobe() [all …]
|
H A D | opt.c | 37 unsigned long __recover_optprobed_insn(kprobe_opcode_t *buf, unsigned long addr) in __recover_optprobed_insn() 63 MAX_INSN_SIZE * sizeof(kprobe_opcode_t))) in __recover_optprobed_insn() 77 static void synthesize_clac(kprobe_opcode_t *addr) in synthesize_clac() 93 static void synthesize_set_arg1(kprobe_opcode_t *addr, unsigned long val) in synthesize_set_arg1() 268 kprobe_opcode_t buf[MAX_INSN_SIZE]; in can_optimize() 357 kprobe_opcode_t *addr) in arch_within_optimized_kprobe()
|
/linux/arch/mips/kernel/ |
H A D | kprobes.c | 127 memcpy(&p->ainsn.insn[0], p->addr + 1, sizeof(kprobe_opcode_t)); in arch_prepare_kprobe() 129 memcpy(&p->ainsn.insn[0], p->addr, sizeof(kprobe_opcode_t)); in arch_prepare_kprobe() 283 kprobe_opcode_t *addr; in kprobe_handler() 286 addr = (kprobe_opcode_t *) regs->cp0_epc; in kprobe_handler() 484 ri->ret_addr = (kprobe_opcode_t *) regs->regs[31]; in arch_prepare_kretprobe() 510 if (p->addr == (kprobe_opcode_t *)__kretprobe_trampoline) in arch_trampoline_kprobe() 518 .addr = (kprobe_opcode_t *)__kretprobe_trampoline,
|
/linux/arch/sh/include/asm/ |
H A D | kprobes.h | 14 typedef insn_size_t kprobe_opcode_t; typedef 34 kprobe_opcode_t insn[MAX_INSN_SIZE];
|
/linux/arch/sparc/include/asm/ |
H A D | kprobes.h | 14 typedef u32 kprobe_opcode_t; typedef 32 kprobe_opcode_t insn[MAX_INSN_SIZE];
|
/linux/arch/s390/include/asm/ |
H A D | kprobes.h | 42 typedef u16 kprobe_opcode_t; typedef 57 kprobe_opcode_t *insn;
|
/linux/arch/csky/kernel/probes/ |
H A D | ftrace.c | 23 p = get_kprobe((kprobe_opcode_t *)ip); in kprobe_ftrace_handler() 25 p = get_kprobe((kprobe_opcode_t *)(ip - MCOUNT_INSN_SIZE)); in kprobe_ftrace_handler()
|
H A D | kprobes.c | 23 kprobe_opcode_t *addr; 47 static int __kprobes patch_text(kprobe_opcode_t *addr, u32 opcode) in patch_text() 320 p = get_kprobe((kprobe_opcode_t *) addr); in kprobe_breakpoint_handler() 399 ri->ret_addr = (kprobe_opcode_t *)regs->lr; in arch_prepare_kretprobe()
|
/linux/arch/arm/probes/kprobes/ |
H A D | test-core.c | 336 the_kprobe.addr = (kprobe_opcode_t *)func; in test_kprobe() 386 the_kretprobe.kp.addr = (kprobe_opcode_t *)func; in test_kretprobe() 521 .addr = (kprobe_opcode_t *)((uintptr_t)fn + offset), in kprobe_benchmark() 775 coverage_add_registers(struct coverage_entry *entry, kprobe_opcode_t insn) in coverage_add_registers() 842 static void coverage_add(kprobe_opcode_t insn) in coverage_add() 1000 static kprobe_opcode_t current_instruction; 1346 test_before_probe.kprobe.addr = (kprobe_opcode_t *)test_code; in kprobes_test_case_start() 1349 test_case_probe.kprobe.addr = (kprobe_opcode_t *)test_code; in kprobes_test_case_start() 1370 test_after_probe.kprobe.addr = (kprobe_opcode_t *)test_code; in kprobes_test_case_start() 1412 (kprobe_opcode_t *)current_branch_target; in kprobes_test_case_start()
|
H A D | core.h | 28 kprobe_decode_ldmstm(kprobe_opcode_t insn, struct arch_probes_insn *asi,
|
/linux/arch/riscv/kernel/probes/ |
H A D | kprobes.c | 78 p->opcode = (kprobe_opcode_t)(*insn++); in arch_prepare_kprobe() 80 p->opcode |= (kprobe_opcode_t)(*insn) << 16; in arch_prepare_kprobe() 291 p = get_kprobe((kprobe_opcode_t *) addr); in kprobe_breakpoint_handler()
|
/linux/arch/sparc/kernel/ |
H A D | kprobes.c | 438 ri->ret_addr = (kprobe_opcode_t *)(regs->u_regs[UREG_RETPC] + 8); in arch_prepare_kretprobe() 474 .addr = (kprobe_opcode_t *) &__kretprobe_trampoline, 485 if (p->addr == (kprobe_opcode_t *)&__kretprobe_trampoline) in arch_trampoline_kprobe()
|
/linux/arch/csky/include/asm/ |
H A D | probes.h | 18 typedef u32 kprobe_opcode_t; typedef
|
/linux/arch/riscv/include/asm/ |
H A D | probes.h | 18 typedef u32 kprobe_opcode_t; typedef
|