/linux-4.4.14/arch/arm/include/asm/ |
D | kprobes.h | 29 typedef u32 kprobe_opcode_t; typedef 54 extern __visible kprobe_opcode_t optprobe_template_entry; 55 extern __visible kprobe_opcode_t optprobe_template_val; 56 extern __visible kprobe_opcode_t optprobe_template_call; 57 extern __visible kprobe_opcode_t optprobe_template_end; 58 extern __visible kprobe_opcode_t optprobe_template_sub_sp; 59 extern __visible kprobe_opcode_t optprobe_template_add_sp; 60 extern __visible kprobe_opcode_t optprobe_template_restore_begin; 61 extern __visible kprobe_opcode_t optprobe_template_restore_orig_insn; 62 extern __visible kprobe_opcode_t optprobe_template_restore_end; [all …]
|
/linux-4.4.14/arch/x86/include/asm/ |
D | kprobes.h | 34 typedef u8 kprobe_opcode_t; typedef 51 extern __visible kprobe_opcode_t optprobe_template_entry; 52 extern __visible kprobe_opcode_t optprobe_template_val; 53 extern __visible kprobe_opcode_t optprobe_template_call; 54 extern __visible kprobe_opcode_t optprobe_template_end; 69 kprobe_opcode_t *insn; 84 kprobe_opcode_t copied_insn[RELATIVE_ADDR_SIZE]; 86 kprobe_opcode_t *insn; 111 kprobe_opcode_t jprobes_stack[MAX_STACK_SIZE];
|
/linux-4.4.14/arch/sh/kernel/ |
D | kprobes.c | 45 kprobe_opcode_t opcode = *(kprobe_opcode_t *) (p->addr); in arch_prepare_kprobe() 57 memcpy(p->ainsn.insn, p->addr, MAX_INSN_SIZE * sizeof(kprobe_opcode_t)); in arch_copy_kprobe() 65 (unsigned long)p->addr + sizeof(kprobe_opcode_t)); in arch_arm_kprobe() 72 (unsigned long)p->addr + sizeof(kprobe_opcode_t)); in arch_disarm_kprobe() 91 struct kprobe *p = get_kprobe((kprobe_opcode_t *) pc + 1); in kprobe_handle_illslot() 149 __this_cpu_write(saved_current_opcode.addr, (kprobe_opcode_t *)regs->pc); in prepare_singlestep() 161 op1->addr = (kprobe_opcode_t *) regs->regs[reg_nr]; in prepare_singlestep() 165 (kprobe_opcode_t *) (regs->pc + 4 + disp * 2); in prepare_singlestep() 170 (kprobe_opcode_t *) (regs->pc + 4 + in prepare_singlestep() 174 op1->addr = (kprobe_opcode_t *) regs->pr; in prepare_singlestep() [all …]
|
/linux-4.4.14/arch/powerpc/include/asm/ |
D | kprobes.h | 40 typedef ppc_opcode_t kprobe_opcode_t; typedef 48 addr = (kprobe_opcode_t *)kallsyms_lookup_name(name); \ 50 addr = (kprobe_opcode_t *)ppc_function_entry(addr); \ 89 addr = (kprobe_opcode_t *)kallsyms_lookup_name(dot_name); \ 92 addr = (kprobe_opcode_t *)kallsyms_lookup_name(name); \ 107 kprobe_opcode_t *insn;
|
/linux-4.4.14/arch/arc/kernel/ |
D | kprobes.c | 45 (unsigned long)p->addr + sizeof(kprobe_opcode_t)); in arch_arm_kprobe() 53 (unsigned long)p->addr + sizeof(kprobe_opcode_t)); in arch_disarm_kprobe() 66 sizeof(kprobe_opcode_t)); in arch_remove_kprobe() 76 sizeof(kprobe_opcode_t)); in arch_remove_kprobe() 110 sizeof(kprobe_opcode_t)); in resume_execution() 120 sizeof(kprobe_opcode_t)); in resume_execution() 142 (unsigned long)p->addr + sizeof(kprobe_opcode_t)); in setup_singlestep() 177 p->ainsn.t1_addr = (kprobe_opcode_t *) next_pc; in setup_singlestep() 183 sizeof(kprobe_opcode_t)); in setup_singlestep() 186 p->ainsn.t2_addr = (kprobe_opcode_t *) tgt_if_br; in setup_singlestep() [all …]
|
/linux-4.4.14/arch/x86/kernel/kprobes/ |
D | common.h | 70 extern int can_boost(kprobe_opcode_t *instruction); 72 extern unsigned long recover_probed_instruction(kprobe_opcode_t *buf, 86 extern unsigned long __recover_optprobed_insn(kprobe_opcode_t *buf, unsigned long addr); 92 static inline unsigned long __recover_optprobed_insn(kprobe_opcode_t *buf, unsigned long addr) in __recover_optprobed_insn()
|
D | core.c | 145 static kprobe_opcode_t *skip_prefixes(kprobe_opcode_t *insn) in skip_prefixes() 166 int can_boost(kprobe_opcode_t *opcodes) in can_boost() 168 kprobe_opcode_t opcode; in can_boost() 169 kprobe_opcode_t *orig_opcodes = opcodes; in can_boost() 223 __recover_probed_insn(kprobe_opcode_t *buf, unsigned long addr) in __recover_probed_insn() 263 memcpy(buf, (void *)addr, MAX_INSN_SIZE * sizeof(kprobe_opcode_t)); in __recover_probed_insn() 277 unsigned long recover_probed_instruction(kprobe_opcode_t *buf, unsigned long addr) in recover_probed_instruction() 293 kprobe_opcode_t buf[MAX_INSN_SIZE]; in can_probe() 330 static int is_IF_modifier(kprobe_opcode_t *insn) in is_IF_modifier() 356 kprobe_opcode_t buf[MAX_INSN_SIZE]; in __copy_instruction() [all …]
|
D | opt.c | 42 unsigned long __recover_optprobed_insn(kprobe_opcode_t *buf, unsigned long addr) in __recover_optprobed_insn() 67 memcpy(buf, (void *)addr, MAX_INSN_SIZE * sizeof(kprobe_opcode_t)); in __recover_optprobed_insn() 80 static void synthesize_set_arg1(kprobe_opcode_t *addr, unsigned long val) in synthesize_set_arg1() 138 #define INT3_SIZE sizeof(kprobe_opcode_t) 233 kprobe_opcode_t buf[MAX_INSN_SIZE]; in can_optimize()
|
D | ftrace.c | 68 p = get_kprobe((kprobe_opcode_t *)ip); in kprobe_ftrace_handler() 78 regs->ip = ip + sizeof(kprobe_opcode_t); in kprobe_ftrace_handler()
|
/linux-4.4.14/arch/powerpc/kernel/ |
D | kprobes.c | 48 kprobe_opcode_t insn = *p->addr; in arch_prepare_kprobe() 68 MAX_INSN_SIZE * sizeof(kprobe_opcode_t)); in arch_prepare_kprobe() 71 (unsigned long)p->ainsn.insn + sizeof(kprobe_opcode_t)); in arch_prepare_kprobe() 82 (unsigned long) p->addr + sizeof(kprobe_opcode_t)); in arch_arm_kprobe() 89 (unsigned long) p->addr + sizeof(kprobe_opcode_t)); in arch_disarm_kprobe() 137 ri->ret_addr = (kprobe_opcode_t *)regs->link; in arch_prepare_kretprobe() 161 kprobe_opcode_t insn = *p->ainsn.insn; in kprobe_handler() 185 kprobe_opcode_t cur_insn = *addr; in kprobe_handler() 211 kprobe_opcode_t cur_insn = *addr; in kprobe_handler() 544 .addr = (kprobe_opcode_t *) &kretprobe_trampoline, [all …]
|
/linux-4.4.14/arch/arc/include/asm/ |
D | kprobes.h | 14 typedef u16 kprobe_opcode_t; typedef 24 kprobe_opcode_t *t1_addr, *t2_addr; 25 kprobe_opcode_t t1_opcode, t2_opcode;
|
/linux-4.4.14/arch/sh/include/asm/ |
D | kprobes.h | 9 typedef insn_size_t kprobe_opcode_t; typedef 31 kprobe_opcode_t insn[MAX_INSN_SIZE]; 44 kprobe_opcode_t jprobes_stack[MAX_STACK_SIZE];
|
/linux-4.4.14/arch/tile/include/asm/ |
D | kprobes.h | 31 typedef tile_bundle_bits kprobe_opcode_t; typedef 36 (MAX_INSN_SIZE * sizeof(kprobe_opcode_t))) 42 kprobe_opcode_t *insn;
|
/linux-4.4.14/arch/mips/include/asm/ |
D | kprobes.h | 37 typedef union mips_instruction kprobe_opcode_t; typedef 45 (MAX_INSN_SIZE * sizeof(kprobe_opcode_t))); \ 56 kprobe_opcode_t *insn;
|
/linux-4.4.14/include/linux/ |
D | kprobes.h | 54 typedef int kprobe_opcode_t; typedef 83 kprobe_opcode_t *addr; 110 kprobe_opcode_t opcode; 198 kprobe_opcode_t *ret_addr; 281 extern kprobe_opcode_t *__get_insn_slot(struct kprobe_insn_cache *c); 283 kprobe_opcode_t *slot, int dirty); 288 static inline kprobe_opcode_t *get_##__name##_slot(void) \ 293 static inline void free_##__name##_slot(kprobe_opcode_t *slot, int dirty)\
|
/linux-4.4.14/arch/s390/include/asm/ |
D | kprobes.h | 39 typedef u16 kprobe_opcode_t; typedef 62 kprobe_opcode_t *insn; 78 kprobe_opcode_t jprobes_stack[MAX_STACK_SIZE];
|
/linux-4.4.14/arch/tile/kernel/ |
D | kprobes.c | 43 static int __kprobes insn_has_control(kprobe_opcode_t insn) in insn_has_control() 89 if (addr & (sizeof(kprobe_opcode_t) - 1)) in arch_prepare_kprobe() 107 memcpy(&p->ainsn.insn[0], p->addr, sizeof(kprobe_opcode_t)); in arch_prepare_kprobe() 187 kprobe_opcode_t *addr; in kprobe_handler() 190 addr = (kprobe_opcode_t *)regs->pc; in kprobe_handler() 436 ri->ret_addr = (kprobe_opcode_t *) regs->lr; in arch_prepare_kretprobe() 512 if (p->addr == (kprobe_opcode_t *)kretprobe_trampoline) in arch_trampoline_kprobe() 519 .addr = (kprobe_opcode_t *)kretprobe_trampoline,
|
/linux-4.4.14/arch/avr32/kernel/ |
D | kprobes.c | 41 memcpy(p->ainsn.insn, p->addr, MAX_INSN_SIZE * sizeof(kprobe_opcode_t)); in arch_prepare_kprobe() 54 (unsigned long)p->addr + sizeof(kprobe_opcode_t)); in arch_arm_kprobe() 63 (unsigned long)p->addr + sizeof(kprobe_opcode_t)); in arch_disarm_kprobe() 87 (unsigned long)p->addr + sizeof(kprobe_opcode_t)); in prepare_singlestep() 102 (unsigned long)p->addr + sizeof(kprobe_opcode_t)); in resume_execution()
|
/linux-4.4.14/arch/mn10300/include/asm/ |
D | kprobes.h | 29 typedef unsigned char kprobe_opcode_t; typedef 38 kprobe_opcode_t insn[MAX_INSN_SIZE];
|
/linux-4.4.14/arch/avr32/include/asm/ |
D | kprobes.h | 16 typedef u16 kprobe_opcode_t; typedef 27 kprobe_opcode_t insn[MAX_INSN_SIZE];
|
/linux-4.4.14/arch/ia64/kernel/ |
D | kprobes.c | 505 ri->ret_addr = (kprobe_opcode_t *)regs->b0; in arch_prepare_kretprobe() 591 bundle = &((kprobe_opcode_t *)kprobe_addr)->bundle; in arch_prepare_kprobe() 611 memcpy(&p->opcode, kprobe_addr, sizeof(kprobe_opcode_t)); in arch_prepare_kprobe() 612 memcpy(p->ainsn.insn, kprobe_addr, sizeof(kprobe_opcode_t)); in arch_prepare_kprobe() 627 dest = &((kprobe_opcode_t *)arm_addr)->bundle; in arch_arm_kprobe() 632 sizeof(kprobe_opcode_t) * MAX_INSN_SIZE); in arch_arm_kprobe() 645 flush_icache_range(arm_addr, arm_addr + sizeof(kprobe_opcode_t)); in arch_arm_kprobe() 654 dest = &((kprobe_opcode_t *)arm_addr)->bundle; in arch_disarm_kprobe() 668 flush_icache_range(arm_addr, arm_addr + sizeof(kprobe_opcode_t)); in arch_disarm_kprobe() 791 kprobe_opcode_t *addr = (kprobe_opcode_t *)instruction_pointer(regs); in pre_kprobes_handler() [all …]
|
/linux-4.4.14/arch/sparc/include/asm/ |
D | kprobes.h | 7 typedef u32 kprobe_opcode_t; typedef 27 kprobe_opcode_t insn[MAX_INSN_SIZE];
|
/linux-4.4.14/arch/mips/kernel/ |
D | kprobes.c | 185 memcpy(&p->ainsn.insn[0], p->addr + 1, sizeof(kprobe_opcode_t)); in arch_prepare_kprobe() 187 memcpy(&p->ainsn.insn[0], p->addr, sizeof(kprobe_opcode_t)); in arch_prepare_kprobe() 338 kprobe_opcode_t *addr; in kprobe_handler() 341 addr = (kprobe_opcode_t *) regs->cp0_epc; in kprobe_handler() 590 ri->ret_addr = (kprobe_opcode_t *) regs->regs[31]; in arch_prepare_kretprobe() 665 if (p->addr == (kprobe_opcode_t *)kretprobe_trampoline) in arch_trampoline_kprobe() 672 .addr = (kprobe_opcode_t *)kretprobe_trampoline,
|
/linux-4.4.14/arch/arm/probes/kprobes/ |
D | core.c | 57 kprobe_opcode_t insn; in arch_prepare_kprobe() 58 kprobe_opcode_t tmp_insn[MAX_INSN_SIZE]; in arch_prepare_kprobe() 144 kprobe_opcode_t insn = p->opcode; in arch_arm_kprobe() 259 p = get_kprobe((kprobe_opcode_t *)(regs->ARM_pc | 1)); in kprobe_handler() 261 p = get_kprobe((kprobe_opcode_t *)regs->ARM_pc); in kprobe_handler() 264 p = get_kprobe((kprobe_opcode_t *)regs->ARM_pc); in kprobe_handler() 491 ri->ret_addr = (kprobe_opcode_t *)regs->ARM_lr; in arch_prepare_kretprobe()
|
D | opt-arm.c | 197 kprobe_opcode_t *code; in arch_prepare_optimized_kprobe() 249 TMPL_END_IDX * sizeof(kprobe_opcode_t)); in arch_prepare_optimized_kprobe() 275 kprobe_opcode_t final_branch = arm_gen_branch( in arch_prepare_optimized_kprobe()
|
D | test-core.c | 339 the_kprobe.addr = (kprobe_opcode_t *)func; in test_kprobe() 388 the_jprobe.kp.addr = (kprobe_opcode_t *)func; in test_jprobe() 433 the_kretprobe.kp.addr = (kprobe_opcode_t *)func; in test_kretprobe() 580 .addr = (kprobe_opcode_t *)((uintptr_t)fn + offset), in kprobe_benchmark() 833 coverage_add_registers(struct coverage_entry *entry, kprobe_opcode_t insn) in coverage_add_registers() 900 static void coverage_add(kprobe_opcode_t insn) in coverage_add() 1053 static kprobe_opcode_t current_instruction; 1399 test_before_probe.kprobe.addr = (kprobe_opcode_t *)test_code; in kprobes_test_case_start() 1402 test_case_probe.kprobe.addr = (kprobe_opcode_t *)test_code; in kprobes_test_case_start() 1423 test_after_probe.kprobe.addr = (kprobe_opcode_t *)test_code; in kprobes_test_case_start() [all …]
|
D | core.h | 36 kprobe_decode_ldmstm(kprobe_opcode_t insn, struct arch_probes_insn *asi,
|
/linux-4.4.14/arch/ia64/include/asm/ |
D | kprobes.h | 104 } kprobe_opcode_t; typedef 109 kprobe_opcode_t *insn;
|
/linux-4.4.14/drivers/misc/ |
D | lkdtm.c | 572 lkdtm.entry = (kprobe_opcode_t*) jp_do_irq; in lkdtm_register_cpoint() 576 lkdtm.entry = (kprobe_opcode_t*) jp_handle_irq_event; in lkdtm_register_cpoint() 580 lkdtm.entry = (kprobe_opcode_t*) jp_tasklet_action; in lkdtm_register_cpoint() 584 lkdtm.entry = (kprobe_opcode_t*) jp_ll_rw_block; in lkdtm_register_cpoint() 588 lkdtm.entry = (kprobe_opcode_t*) jp_shrink_inactive_list; in lkdtm_register_cpoint() 592 lkdtm.entry = (kprobe_opcode_t*) jp_hrtimer_start; in lkdtm_register_cpoint() 596 lkdtm.entry = (kprobe_opcode_t*) jp_scsi_dispatch_cmd; in lkdtm_register_cpoint() 601 lkdtm.entry = (kprobe_opcode_t*) jp_generic_ide_ioctl; in lkdtm_register_cpoint()
|
/linux-4.4.14/kernel/ |
D | kprobes.c | 67 addr = ((kprobe_opcode_t *)(kallsyms_lookup_name(name))) 101 kprobe_opcode_t *insns; /* Page of instruction slots */ 114 return PAGE_SIZE/(c->insn_size * sizeof(kprobe_opcode_t)); in slots_per_page() 147 kprobe_opcode_t *__get_insn_slot(struct kprobe_insn_cache *c) in __get_insn_slot() 150 kprobe_opcode_t *slot = NULL; in __get_insn_slot() 248 kprobe_opcode_t *slot, int dirty) in __free_insn_slot() 255 (c->insn_size * sizeof(kprobe_opcode_t)); in __free_insn_slot() 339 memcpy(&p->opcode, &ap->opcode, sizeof(kprobe_opcode_t)); in copy_kprobe() 1359 static kprobe_opcode_t *kprobe_addr(struct kprobe *p) in kprobe_addr() 1361 kprobe_opcode_t *addr = p->addr; in kprobe_addr() [all …]
|
/linux-4.4.14/arch/s390/kernel/ |
D | kprobes.c | 272 ri->ret_addr = (kprobe_opcode_t *) regs->gprs[14]; in arch_prepare_kretprobe() 399 kprobe_opcode_t *correct_ret_addr; in trampoline_probe_handler() 720 .addr = (kprobe_opcode_t *) &kretprobe_trampoline, 731 return p->addr == (kprobe_opcode_t *) &kretprobe_trampoline; in arch_trampoline_kprobe()
|
/linux-4.4.14/arch/sparc/kernel/ |
D | kprobes.c | 505 ri->ret_addr = (kprobe_opcode_t *)(regs->u_regs[UREG_RETPC] + 8); in arch_prepare_kretprobe() 588 .addr = (kprobe_opcode_t *) &kretprobe_trampoline, 599 if (p->addr == (kprobe_opcode_t *)&kretprobe_trampoline) in arch_trampoline_kprobe()
|
/linux-4.4.14/arch/mn10300/kernel/ |
D | kprobes.c | 39 static kprobe_opcode_t cur_kprobe_ss_buf[MAX_INSN_SIZE + 2]; 375 (unsigned long) p->addr + sizeof(kprobe_opcode_t)); in arch_arm_kprobe() 595 static kprobe_opcode_t jprobe_saved_stack[MAX_STACK_SIZE];
|