Home
last modified time | relevance | path

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

123

/Linux-v5.4/include/linux/
Dkprobes.h48 struct kprobe;
52 typedef int (*kprobe_pre_handler_t) (struct kprobe *, struct pt_regs *);
53 typedef void (*kprobe_post_handler_t) (struct kprobe *, struct pt_regs *,
55 typedef int (*kprobe_fault_handler_t) (struct kprobe *, struct pt_regs *,
60 struct kprobe { struct
114 static inline int kprobe_gone(struct kprobe *p) in kprobe_gone()
120 static inline int kprobe_disabled(struct kprobe *p) in kprobe_disabled()
126 static inline int kprobe_optimized(struct kprobe *p) in kprobe_optimized()
132 static inline int kprobe_ftrace(struct kprobe *p) in kprobe_ftrace()
148 struct kprobe kp;
[all …]
/Linux-v5.4/kernel/
Dkprobes.c57 static DEFINE_PER_CPU(struct kprobe *, kprobe_instance) = NULL;
307 static inline void set_kprobe_instance(struct kprobe *kp) in set_kprobe_instance()
323 struct kprobe *get_kprobe(void *addr) in get_kprobe()
326 struct kprobe *p; in get_kprobe()
338 static int aggr_pre_handler(struct kprobe *p, struct pt_regs *regs);
341 static inline int kprobe_aggrprobe(struct kprobe *p) in kprobe_aggrprobe()
347 static inline int kprobe_unused(struct kprobe *p) in kprobe_unused()
356 static inline void copy_kprobe(struct kprobe *ap, struct kprobe *p) in copy_kprobe()
370 void opt_pre_handler(struct kprobe *p, struct pt_regs *regs) in opt_pre_handler()
372 struct kprobe *kp; in opt_pre_handler()
[all …]
Dtest_kprobes.c26 static int kp_pre_handler(struct kprobe *p, struct pt_regs *regs) in kp_pre_handler()
36 static void kp_post_handler(struct kprobe *p, struct pt_regs *regs, in kp_post_handler()
50 static struct kprobe kp = {
87 static int kp_pre_handler2(struct kprobe *p, struct pt_regs *regs) in kp_pre_handler2()
93 static void kp_post_handler2(struct kprobe *p, struct pt_regs *regs, in kp_post_handler2()
103 static struct kprobe kp2 = {
112 struct kprobe *kps[2] = {&kp, &kp2}; in test_kprobes()
/Linux-v5.4/arch/sh/kernel/
Dkprobes.c17 DEFINE_PER_CPU(struct kprobe *, current_kprobe) = NULL;
20 static DEFINE_PER_CPU(struct kprobe, saved_current_opcode);
21 static DEFINE_PER_CPU(struct kprobe, saved_next_opcode);
22 static DEFINE_PER_CPU(struct kprobe, saved_next_opcode2);
40 int __kprobes arch_prepare_kprobe(struct kprobe *p) in arch_prepare_kprobe()
52 void __kprobes arch_copy_kprobe(struct kprobe *p) in arch_copy_kprobe()
58 void __kprobes arch_arm_kprobe(struct kprobe *p) in arch_arm_kprobe()
65 void __kprobes arch_disarm_kprobe(struct kprobe *p) in arch_disarm_kprobe()
72 int __kprobes arch_trampoline_kprobe(struct kprobe *p) in arch_trampoline_kprobe()
88 struct kprobe *p = get_kprobe((kprobe_opcode_t *) pc + 1); in kprobe_handle_illslot()
[all …]
/Linux-v5.4/arch/parisc/kernel/
Dkprobes.c16 DEFINE_PER_CPU(struct kprobe *, current_kprobe) = NULL;
19 int __kprobes arch_prepare_kprobe(struct kprobe *p) in arch_prepare_kprobe()
35 void __kprobes arch_remove_kprobe(struct kprobe *p) in arch_remove_kprobe()
44 void __kprobes arch_arm_kprobe(struct kprobe *p) in arch_arm_kprobe()
49 void __kprobes arch_disarm_kprobe(struct kprobe *p) in arch_disarm_kprobe()
66 static inline void __kprobes set_current_kprobe(struct kprobe *p) in set_current_kprobe()
71 static void __kprobes setup_singlestep(struct kprobe *p, in setup_singlestep()
83 struct kprobe *p; in parisc_kprobe_break_handler()
134 struct kprobe *p = kprobe_running(); in parisc_kprobe_ss_handler()
184 static int __kprobes trampoline_probe_handler(struct kprobe *p,
[all …]
/Linux-v5.4/arch/s390/kernel/
Dkprobes.c25 DEFINE_PER_CPU(struct kprobe *, current_kprobe);
57 static void copy_instruction(struct kprobe *p) in copy_instruction()
97 static int s390_get_insn_slot(struct kprobe *p) in s390_get_insn_slot()
113 static void s390_free_insn_slot(struct kprobe *p) in s390_free_insn_slot()
125 int arch_prepare_kprobe(struct kprobe *p) in arch_prepare_kprobe()
139 int arch_check_ftrace_location(struct kprobe *p) in arch_check_ftrace_location()
145 struct kprobe *p;
153 struct kprobe *p = args->p; in swap_instruction()
178 void arch_arm_kprobe(struct kprobe *p) in arch_arm_kprobe()
186 void arch_disarm_kprobe(struct kprobe *p) in arch_disarm_kprobe()
[all …]
/Linux-v5.4/arch/arc/kernel/
Dkprobes.c20 DEFINE_PER_CPU(struct kprobe *, current_kprobe) = NULL;
23 int __kprobes arch_prepare_kprobe(struct kprobe *p) in arch_prepare_kprobe()
37 void __kprobes arch_arm_kprobe(struct kprobe *p) in arch_arm_kprobe()
45 void __kprobes arch_disarm_kprobe(struct kprobe *p) in arch_disarm_kprobe()
53 void __kprobes arch_remove_kprobe(struct kprobe *p) in arch_remove_kprobe()
91 static inline void __kprobes set_current_kprobe(struct kprobe *p) in set_current_kprobe()
96 static void __kprobes resume_execution(struct kprobe *p, unsigned long addr, in resume_execution()
125 static void __kprobes setup_singlestep(struct kprobe *p, struct pt_regs *regs) in setup_singlestep()
195 struct kprobe *p; in arc_kprobe_handler()
247 struct kprobe *cur = kprobe_running(); in arc_post_kprobe_handler()
[all …]
/Linux-v5.4/arch/sparc/kernel/
Dkprobes.c45 DEFINE_PER_CPU(struct kprobe *, current_kprobe) = NULL;
50 int __kprobes arch_prepare_kprobe(struct kprobe *p) in arch_prepare_kprobe()
65 void __kprobes arch_arm_kprobe(struct kprobe *p) in arch_arm_kprobe()
71 void __kprobes arch_disarm_kprobe(struct kprobe *p) in arch_disarm_kprobe()
93 static void __kprobes set_current_kprobe(struct kprobe *p, struct pt_regs *regs, in set_current_kprobe()
101 static void __kprobes prepare_singlestep(struct kprobe *p, struct pt_regs *regs, in prepare_singlestep()
118 struct kprobe *p; in kprobe_handler()
201 static unsigned long __kprobes relbranch_fixup(u32 insn, struct kprobe *p, in relbranch_fixup()
277 static void __kprobes resume_execution(struct kprobe *p, in resume_execution()
295 struct kprobe *cur = kprobe_running(); in post_kprobe_handler()
[all …]
/Linux-v5.4/arch/powerpc/kernel/
Dkprobes.c28 DEFINE_PER_CPU(struct kprobe *, current_kprobe) = NULL;
105 int arch_prepare_kprobe(struct kprobe *p) in arch_prepare_kprobe()
139 void arch_arm_kprobe(struct kprobe *p) in arch_arm_kprobe()
145 void arch_disarm_kprobe(struct kprobe *p) in arch_disarm_kprobe()
151 void arch_remove_kprobe(struct kprobe *p) in arch_remove_kprobe()
160 static nokprobe_inline void prepare_singlestep(struct kprobe *p, struct pt_regs *regs) in prepare_singlestep()
187 static nokprobe_inline void set_current_kprobe(struct kprobe *p, struct pt_regs *regs, in set_current_kprobe()
216 static int try_to_emulate(struct kprobe *p, struct pt_regs *regs) in try_to_emulate()
259 struct kprobe *p; in kprobe_handler()
394 static int trampoline_probe_handler(struct kprobe *p, struct pt_regs *regs) in trampoline_probe_handler()
[all …]
/Linux-v5.4/arch/mips/kernel/
Dkprobes.c42 DEFINE_PER_CPU(struct kprobe *, current_kprobe);
74 int __kprobes arch_prepare_kprobe(struct kprobe *p) in arch_prepare_kprobe()
135 void __kprobes arch_arm_kprobe(struct kprobe *p) in arch_arm_kprobe()
141 void __kprobes arch_disarm_kprobe(struct kprobe *p) in arch_disarm_kprobe()
147 void __kprobes arch_remove_kprobe(struct kprobe *p) in arch_remove_kprobe()
173 static void set_current_kprobe(struct kprobe *p, struct pt_regs *regs, in set_current_kprobe()
194 static int evaluate_branch_instruction(struct kprobe *p, struct pt_regs *regs, in evaluate_branch_instruction()
228 static void prepare_singlestep(struct kprobe *p, struct pt_regs *regs, in prepare_singlestep()
261 static void __kprobes resume_execution(struct kprobe *p, in resume_execution()
275 struct kprobe *p; in kprobe_handler()
[all …]
/Linux-v5.4/arch/arm64/kernel/probes/
Dkprobes.c33 DEFINE_PER_CPU(struct kprobe *, current_kprobe) = NULL;
50 static void __kprobes arch_prepare_ss_slot(struct kprobe *p) in arch_prepare_ss_slot()
66 static void __kprobes arch_prepare_simulate(struct kprobe *p) in arch_prepare_simulate()
72 static void __kprobes arch_simulate_insn(struct kprobe *p, struct pt_regs *regs) in arch_simulate_insn()
83 int __kprobes arch_prepare_kprobe(struct kprobe *p) in arch_prepare_kprobe()
135 void __kprobes arch_arm_kprobe(struct kprobe *p) in arch_arm_kprobe()
141 void __kprobes arch_disarm_kprobe(struct kprobe *p) in arch_disarm_kprobe()
146 void __kprobes arch_remove_kprobe(struct kprobe *p) in arch_remove_kprobe()
166 static void __kprobes set_current_kprobe(struct kprobe *p) in set_current_kprobe()
208 static void __kprobes setup_singlestep(struct kprobe *p, in setup_singlestep()
[all …]
/Linux-v5.4/arch/arm/probes/kprobes/
Dtest-core.c310 static int __kprobes pre_handler(struct kprobe *p, struct pt_regs *regs) in pre_handler()
318 static void __kprobes post_handler(struct kprobe *p, struct pt_regs *regs, in post_handler()
326 static struct kprobe the_kprobe = {
498 benchmark_pre_handler(struct kprobe *p, struct pt_regs *regs) in benchmark_pre_handler()
520 struct kprobe k = { in kprobe_benchmark()
1161 struct kprobe kprobe; member
1169 unregister_kprobe(&probe->kprobe); in unregister_test_probe()
1170 probe->kprobe.flags = 0; /* Clear disable flag to allow reuse */ in unregister_test_probe()
1182 ret = register_kprobe(&probe->kprobe); in register_test_probe()
1191 test_before_pre_handler(struct kprobe *p, struct pt_regs *regs) in test_before_pre_handler()
[all …]
Dcore.c42 DEFINE_PER_CPU(struct kprobe *, current_kprobe) = NULL;
46 int __kprobes arch_prepare_kprobe(struct kprobe *p) in arch_prepare_kprobe()
118 void __kprobes arch_arm_kprobe(struct kprobe *p) in arch_arm_kprobe()
176 void __kprobes arch_disarm_kprobe(struct kprobe *p) in arch_disarm_kprobe()
182 void __kprobes arch_remove_kprobe(struct kprobe *p) in arch_remove_kprobe()
202 static void __kprobes set_current_kprobe(struct kprobe *p) in set_current_kprobe()
208 singlestep_skip(struct kprobe *p, struct pt_regs *regs) in singlestep_skip()
222 singlestep(struct kprobe *p, struct pt_regs *regs, struct kprobe_ctlblk *kcb) in singlestep()
236 struct kprobe *p, *cur; in kprobe_handler()
331 struct kprobe *cur = kprobe_running(); in kprobe_fault_handler()
[all …]
/Linux-v5.4/arch/x86/kernel/kprobes/
Dcore.c56 DEFINE_PER_CPU(struct kprobe *, current_kprobe) = NULL;
207 struct kprobe *kp; in __recover_probed_insn()
393 static int prepare_boost(kprobe_opcode_t *buf, struct kprobe *p, in prepare_boost()
446 static int arch_copy_kprobe(struct kprobe *p) in arch_copy_kprobe()
475 int arch_prepare_kprobe(struct kprobe *p) in arch_prepare_kprobe()
498 void arch_arm_kprobe(struct kprobe *p) in arch_arm_kprobe()
503 void arch_disarm_kprobe(struct kprobe *p) in arch_disarm_kprobe()
508 void arch_remove_kprobe(struct kprobe *p) in arch_remove_kprobe()
535 set_current_kprobe(struct kprobe *p, struct pt_regs *regs, in set_current_kprobe()
577 static void setup_singlestep(struct kprobe *p, struct pt_regs *regs, in setup_singlestep()
[all …]
/Linux-v5.4/arch/ia64/kernel/
Dkprobes.c25 DEFINE_PER_CPU(struct kprobe *, current_kprobe) = NULL;
88 struct kprobe *p) in update_kprobe_inst_flag()
288 struct kprobe *p, in prepare_break_inst()
389 static void __kprobes set_current_kprobe(struct kprobe *p, in set_current_kprobe()
407 int __kprobes trampoline_probe_handler(struct kprobe *p, struct pt_regs *regs) in trampoline_probe_handler()
545 static void __kprobes prepare_booster(struct kprobe *p) in prepare_booster()
549 struct kprobe *other_kp; in prepare_booster()
564 int __kprobes arch_prepare_kprobe(struct kprobe *p) in arch_prepare_kprobe()
603 void __kprobes arch_arm_kprobe(struct kprobe *p) in arch_arm_kprobe()
630 void __kprobes arch_disarm_kprobe(struct kprobe *p) in arch_disarm_kprobe()
[all …]
/Linux-v5.4/arch/parisc/include/asm/
Dkprobes.h25 struct kprobe;
27 void arch_remove_kprobe(struct kprobe *p);
41 struct kprobe *kp;
/Linux-v5.4/arch/arc/include/asm/
Dkprobes.h31 struct kprobe;
33 void arch_remove_kprobe(struct kprobe *p);
39 struct kprobe *kp;
/Linux-v5.4/arch/sh/include/asm/
Dkprobes.h26 struct kprobe;
28 void arch_remove_kprobe(struct kprobe *);
38 struct kprobe *kp;
/Linux-v5.4/arch/mips/include/asm/
Dkprobes.h25 struct kprobe;
43 void arch_remove_kprobe(struct kprobe *p);
53 struct kprobe *kp;
/Linux-v5.4/Documentation/
Dkprobes.txt36 (also called return probes). A kprobe can be inserted on virtually
63 When a kprobe is registered, Kprobes makes a copy of the probed
70 associated with the kprobe, passing the handler the addresses of the
71 kprobe struct and the saved registers.
80 "post_handler," if any, that is associated with the kprobe.
109 When you call register_kretprobe(), Kprobes establishes a kprobe at
114 At boot time, Kprobes registers a kprobe at the trampoline.
147 field of the kretprobe struct. Whenever the kprobe placed by kretprobe at the
182 Kprobes inserts an ordinary, breakpoint-based kprobe at the specified
235 If the kprobe can be optimized, Kprobes enqueues the kprobe to an
[all …]
/Linux-v5.4/drivers/misc/lkdtm/
Dcore.c39 static int lkdtm_kprobe_handler(struct kprobe *kp, struct pt_regs *regs);
44 .kprobe = { \
59 struct kprobe kprobe; member
178 static struct kprobe *lkdtm_kprobe;
232 if (!crashpoint->kprobe.symbol_name) { in lkdtm_register_cpoint()
242 lkdtm_kprobe = &crashpoint->kprobe; in lkdtm_register_cpoint()
246 crashpoint->kprobe.symbol_name); in lkdtm_register_cpoint()
261 static int lkdtm_kprobe_handler(struct kprobe *kp, struct pt_regs *regs) in lkdtm_kprobe_handler()
/Linux-v5.4/samples/kprobes/
Dkprobe_example.c23 static struct kprobe kp = {
28 static int handler_pre(struct kprobe *p, struct pt_regs *regs) in handler_pre()
57 static void handler_post(struct kprobe *p, struct pt_regs *regs, in handler_post()
87 static int handler_fault(struct kprobe *p, struct pt_regs *regs, int trapnr) in handler_fault()
/Linux-v5.4/arch/s390/include/asm/
Dkprobes.h39 struct kprobe;
61 struct kprobe *kp;
73 void arch_remove_kprobe(struct kprobe *p);
/Linux-v5.4/arch/arm/include/asm/
Dkprobes.h25 struct kprobe;
31 struct kprobe *kp;
41 void arch_remove_kprobe(struct kprobe *);
/Linux-v5.4/arch/powerpc/include/asm/
Dkprobes.h30 struct kprobe;
55 extern void arch_remove_kprobe(struct kprobe *p);
69 struct kprobe *kp;

123