/kernel/linux/linux-5.10/arch/arm/probes/kprobes/ |
H A D | opt-arm.c | 109 int arch_prepared_optinsn(struct arch_optimized_insn *optinsn) in arch_prepared_optinsn() argument 111 return optinsn->insn != NULL; in arch_prepared_optinsn() 142 if (op->optinsn.insn) { in __arch_remove_optimized_kprobe() 143 free_optinsn_slot(op->optinsn.insn, dirty); in __arch_remove_optimized_kprobe() 144 op->optinsn.insn = NULL; in __arch_remove_optimized_kprobe() 200 * kprobe opt use a 'b' instruction to branch to optinsn.insn. in NOKPROBE_SYMBOL() 284 /* Set op->optinsn.insn means prepared. */ in NOKPROBE_SYMBOL() 285 op->optinsn.insn = code; in NOKPROBE_SYMBOL() 301 memcpy(op->optinsn.copied_insn, op->kp.addr, in arch_optimize_kprobes() 305 (unsigned long)op->optinsn in arch_optimize_kprobes() [all...] |
/kernel/linux/linux-6.6/arch/arm/probes/kprobes/ |
H A D | opt-arm.c | 109 int arch_prepared_optinsn(struct arch_optimized_insn *optinsn) in arch_prepared_optinsn() argument 111 return optinsn->insn != NULL; in arch_prepared_optinsn() 142 if (op->optinsn.insn) { in __arch_remove_optimized_kprobe() 143 free_optinsn_slot(op->optinsn.insn, dirty); in __arch_remove_optimized_kprobe() 144 op->optinsn.insn = NULL; in __arch_remove_optimized_kprobe() 200 * kprobe opt use a 'b' instruction to branch to optinsn.insn. in NOKPROBE_SYMBOL() 284 /* Set op->optinsn.insn means prepared. */ in NOKPROBE_SYMBOL() 285 op->optinsn.insn = code; in NOKPROBE_SYMBOL() 301 memcpy(op->optinsn.copied_insn, op->kp.addr, in arch_optimize_kprobes() 305 (unsigned long)op->optinsn in arch_optimize_kprobes() [all...] |
/kernel/linux/linux-5.10/arch/x86/kernel/kprobes/ |
H A D | opt.c | 60 * bytes must be recovered from op->optinsn.copied_insn buffer. in __recover_optprobed_insn() 68 memcpy(buf + 1, op->optinsn.copied_insn, DISP32_SIZE); in __recover_optprobed_insn() 71 memcpy(buf, op->optinsn.copied_insn + offs, DISP32_SIZE - offs); in __recover_optprobed_insn() 170 /* Optimized kprobe call back function: called from optinsn */ 347 for (i = 1; i < op->optinsn.size; i++) { in arch_check_optimized_kprobe() 361 (unsigned long)op->kp.addr + op->optinsn.size > addr); in arch_within_optimized_kprobe() 368 u8 *slot = op->optinsn.insn; in __arch_remove_optimized_kprobe() 370 int len = TMPL_END_IDX + op->optinsn.size + JMP32_INSN_SIZE; in __arch_remove_optimized_kprobe() 377 op->optinsn.insn = NULL; in __arch_remove_optimized_kprobe() 378 op->optinsn in __arch_remove_optimized_kprobe() [all...] |
/kernel/linux/linux-6.6/arch/x86/kernel/kprobes/ |
H A D | opt.c | 60 * bytes must be recovered from op->optinsn.copied_insn buffer. in __recover_optprobed_insn() 68 memcpy(buf + 1, op->optinsn.copied_insn, DISP32_SIZE); in __recover_optprobed_insn() 71 memcpy(buf, op->optinsn.copied_insn + offs, DISP32_SIZE - offs); in __recover_optprobed_insn() 175 /* Optimized kprobe call back function: called from optinsn */ 346 for (i = 1; i < op->optinsn.size; i++) { in arch_check_optimized_kprobe() 360 op->kp.addr + op->optinsn.size > addr); in arch_within_optimized_kprobe() 367 u8 *slot = op->optinsn.insn; in __arch_remove_optimized_kprobe() 369 int len = TMPL_END_IDX + op->optinsn.size + JMP32_INSN_SIZE; in __arch_remove_optimized_kprobe() 376 op->optinsn.insn = NULL; in __arch_remove_optimized_kprobe() 377 op->optinsn in __arch_remove_optimized_kprobe() [all...] |
/kernel/linux/linux-6.6/arch/powerpc/kernel/ |
H A D | optprobes.c | 121 if (op->optinsn.insn) { in arch_remove_optimized_kprobe() 122 free_optinsn_slot(op->optinsn.insn, 1); in arch_remove_optimized_kprobe() 123 op->optinsn.insn = NULL; in arch_remove_optimized_kprobe() 173 * OPTPROBE uses 'b' instruction to branch to optinsn.insn. in arch_prepare_optimized_kprobe() 241 op->optinsn.insn = buff; in arch_prepare_optimized_kprobe() 251 int arch_prepared_optinsn(struct arch_optimized_insn *optinsn) in arch_prepared_optinsn() argument 253 return optinsn->insn != NULL; in arch_prepared_optinsn() 277 memcpy(op->optinsn.copied_insn, op->kp.addr, RELATIVEJUMP_SIZE); in arch_optimize_kprobes() 278 create_branch(&instr, op->kp.addr, (unsigned long)op->optinsn.insn, 0); in arch_optimize_kprobes()
|
/kernel/linux/linux-5.10/arch/powerpc/kernel/ |
H A D | optprobes.c | 138 if (op->optinsn.insn) { in arch_remove_optimized_kprobe() 139 free_ppc_optinsn_slot(op->optinsn.insn, 1); in arch_remove_optimized_kprobe() 140 op->optinsn.insn = NULL; in arch_remove_optimized_kprobe() 219 * OPTPROBE uses 'b' instruction to branch to optinsn.insn. in arch_prepare_optimized_kprobe() 296 op->optinsn.insn = buff; in arch_prepare_optimized_kprobe() 306 int arch_prepared_optinsn(struct arch_optimized_insn *optinsn) in arch_prepared_optinsn() argument 308 return optinsn->insn != NULL; in arch_prepared_optinsn() 332 memcpy(op->optinsn.copied_insn, op->kp.addr, in arch_optimize_kprobes() 336 (unsigned long)op->optinsn.insn, 0); in arch_optimize_kprobes()
|
/kernel/linux/linux-5.10/arch/x86/include/asm/ |
H A D | kprobes.h | 37 /* optinsn template addresses */ 97 /* Return true (!0) if optinsn is prepared for optimization. */ 98 static inline int arch_prepared_optinsn(struct arch_optimized_insn *optinsn) in arch_prepared_optinsn() argument 100 return optinsn->size; in arch_prepared_optinsn()
|
/kernel/linux/linux-6.6/arch/x86/include/asm/ |
H A D | kprobes.h | 37 /* optinsn template addresses */ 94 /* Return true (!0) if optinsn is prepared for optimization. */ 95 static inline int arch_prepared_optinsn(struct arch_optimized_insn *optinsn) in arch_prepared_optinsn() argument 97 return optinsn->size; in arch_prepared_optinsn()
|
/kernel/linux/linux-5.10/include/linux/ |
H A D | kprobes.h | 318 struct arch_optimized_insn optinsn; member 322 extern int arch_prepared_optinsn(struct arch_optimized_insn *optinsn); 336 DEFINE_INSN_CACHE_OPS(optinsn); variable
|
/kernel/linux/linux-6.6/include/linux/ |
H A D | kprobes.h | 355 struct arch_optimized_insn optinsn; member 359 extern int arch_prepared_optinsn(struct arch_optimized_insn *optinsn); 373 DEFINE_INSN_CACHE_OPS(optinsn); variable
|
/kernel/linux/linux-5.10/kernel/ |
H A D | kprobes.c | 444 return arch_prepared_optinsn(&op->optinsn); in kprobe_optready() 855 if (!arch_prepared_optinsn(&op->optinsn)) { in try_to_optimize_kprobe()
|
/kernel/linux/linux-6.6/kernel/ |
H A D | kprobes.c | 454 return arch_prepared_optinsn(&op->optinsn); in kprobe_optready() 868 if (!arch_prepared_optinsn(&op->optinsn)) { in try_to_optimize_kprobe()
|