Home
last modified time | relevance | path

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

1234

/linux/include/linux/
H A Dkprobes.h49 struct kprobe;
53 typedef int (*kprobe_pre_handler_t) (struct kprobe *, struct pt_regs *);
54 typedef void (*kprobe_post_handler_t) (struct kprobe *, struct pt_regs *,
59 struct kprobe { struct
108 static inline bool kprobe_gone(struct kprobe *p) in kprobe_gone()
114 static inline bool kprobe_disabled(struct kprobe *p) in kprobe_disabled()
120 static inline bool kprobe_optimized(struct kprobe *p) in kprobe_optimized()
126 static inline bool kprobe_ftrace(struct kprobe *p) in kprobe_ftrace()
147 struct kprobe kp;
187 DECLARE_PER_CPU(struct kprobe *, current_kprobe);
[all …]
/linux/kernel/
H A Dkprobes.c68 static DEFINE_PER_CPU(struct kprobe *, kprobe_instance);
360 static inline void set_kprobe_instance(struct kprobe *kp) in set_kprobe_instance()
376 struct kprobe *get_kprobe(void *addr) in get_kprobe()
379 struct kprobe *p; in get_kprobe()
392 static int aggr_pre_handler(struct kprobe *p, struct pt_regs *regs);
395 static inline bool kprobe_aggrprobe(struct kprobe *p) in kprobe_aggrprobe()
401 static inline bool kprobe_unused(struct kprobe *p) in kprobe_unused()
408 static inline void copy_kprobe(struct kprobe *ap, struct kprobe *p) in copy_kprobe()
422 void opt_pre_handler(struct kprobe *p, struct pt_regs *regs) in opt_pre_handler()
424 struct kprobe *kp; in opt_pre_handler()
[all …]
/linux/arch/riscv/kernel/probes/
H A Dkprobes.c19 DEFINE_PER_CPU(struct kprobe *, current_kprobe) = NULL;
23 post_kprobe_handler(struct kprobe *, struct kprobe_ctlblk *, struct pt_regs *);
25 static void __kprobes arch_prepare_ss_slot(struct kprobe *p) in arch_prepare_ss_slot()
36 static void __kprobes arch_prepare_simulate(struct kprobe *p) in arch_prepare_simulate()
41 static void __kprobes arch_simulate_insn(struct kprobe *p, struct pt_regs *regs) in arch_simulate_insn()
52 static bool __kprobes arch_check_kprobe(struct kprobe *p) in arch_check_kprobe()
67 int __kprobes arch_prepare_kprobe(struct kprobe *p) in arch_prepare_kprobe()
108 void __kprobes arch_arm_kprobe(struct kprobe *p) in arch_arm_kprobe()
117 void __kprobes arch_disarm_kprobe(struct kprobe *p) in arch_disarm_kprobe()
124 void __kprobes arch_remove_kprobe(struct kprobe *p) in arch_remove_kprobe()
[all …]
/linux/arch/parisc/kernel/
H A Dkprobes.c17 DEFINE_PER_CPU(struct kprobe *, current_kprobe) = NULL;
20 int __kprobes arch_prepare_kprobe(struct kprobe *p) in arch_prepare_kprobe()
41 void __kprobes arch_remove_kprobe(struct kprobe *p) in arch_remove_kprobe()
50 void __kprobes arch_arm_kprobe(struct kprobe *p) in arch_arm_kprobe()
55 void __kprobes arch_disarm_kprobe(struct kprobe *p) in arch_disarm_kprobe()
72 static inline void __kprobes set_current_kprobe(struct kprobe *p) in set_current_kprobe()
77 static void __kprobes setup_singlestep(struct kprobe *p, in setup_singlestep()
87 struct kprobe *p; in parisc_kprobe_break_handler()
138 struct kprobe *p = kprobe_running(); in parisc_kprobe_ss_handler()
187 static int __kprobes trampoline_probe_handler(struct kprobe *p,
[all …]
/linux/arch/sh/kernel/
H A 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()
53 void __kprobes arch_arm_kprobe(struct kprobe *p) in arch_arm_kprobe()
60 void __kprobes arch_disarm_kprobe(struct kprobe *p) in arch_disarm_kprobe()
67 int __kprobes arch_trampoline_kprobe(struct kprobe *p) in arch_trampoline_kprobe()
83 struct kprobe *p = get_kprobe((kprobe_opcode_t *) pc + 1); in kprobe_handle_illslot()
95 void __kprobes arch_remove_kprobe(struct kprobe *p) in arch_remove_kprobe()
[all …]
/linux/arch/loongarch/kernel/
H A Dkprobes.c10 DEFINE_PER_CPU(struct kprobe *, current_kprobe);
13 static void arch_prepare_ss_slot(struct kprobe *p) in arch_prepare_ss_slot()
21 static void arch_prepare_simulate(struct kprobe *p) in arch_prepare_simulate()
27 int arch_prepare_kprobe(struct kprobe *p) in arch_prepare_kprobe()
61 void arch_arm_kprobe(struct kprobe *p) in arch_arm_kprobe()
69 void arch_disarm_kprobe(struct kprobe *p) in arch_disarm_kprobe()
76 void arch_remove_kprobe(struct kprobe *p) in arch_remove_kprobe()
99 static void set_current_kprobe(struct kprobe *p) in set_current_kprobe()
128 static void post_kprobe_handler(struct kprobe *cur, struct kprobe_ctlblk *kcb, in post_kprobe_handler()
155 static void setup_singlestep(struct kprobe *p, struct pt_regs *regs, in setup_singlestep()
[all …]
/linux/arch/arm64/kernel/probes/
H A Dkprobes.c38 DEFINE_PER_CPU(struct kprobe *, current_kprobe) = NULL;
42 post_kprobe_handler(struct kprobe *, struct kprobe_ctlblk *, struct pt_regs *);
44 static void __kprobes arch_prepare_ss_slot(struct kprobe *p) in arch_prepare_ss_slot()
77 static void __kprobes arch_prepare_simulate(struct kprobe *p) in arch_prepare_simulate()
83 static void __kprobes arch_simulate_insn(struct kprobe *p, struct pt_regs *regs) in arch_simulate_insn()
94 int __kprobes arch_prepare_kprobe(struct kprobe *p) in arch_prepare_kprobe()
133 void __kprobes arch_arm_kprobe(struct kprobe *p) in arch_arm_kprobe()
142 void __kprobes arch_disarm_kprobe(struct kprobe *p) in arch_disarm_kprobe()
149 void __kprobes arch_remove_kprobe(struct kprobe *p) in arch_remove_kprobe()
169 static void __kprobes set_current_kprobe(struct kprobe *p) in set_current_kprobe()
[all …]
/linux/arch/csky/kernel/probes/
H A Dkprobes.c16 DEFINE_PER_CPU(struct kprobe *, current_kprobe) = NULL;
54 static void __kprobes arch_prepare_ss_slot(struct kprobe *p) in arch_prepare_ss_slot()
63 static void __kprobes arch_prepare_simulate(struct kprobe *p) in arch_prepare_simulate()
68 static void __kprobes arch_simulate_insn(struct kprobe *p, struct pt_regs *regs) in arch_simulate_insn()
78 int __kprobes arch_prepare_kprobe(struct kprobe *p) in arch_prepare_kprobe()
114 void __kprobes arch_arm_kprobe(struct kprobe *p) in arch_arm_kprobe()
120 void __kprobes arch_disarm_kprobe(struct kprobe *p) in arch_disarm_kprobe()
125 void __kprobes arch_remove_kprobe(struct kprobe *p) in arch_remove_kprobe()
145 static void __kprobes set_current_kprobe(struct kprobe *p) in set_current_kprobe()
172 set_ss_context(struct kprobe_ctlblk *kcb, unsigned long addr, struct kprobe *p) in set_ss_context()
[all …]
/linux/arch/arc/kernel/
H A 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()
196 struct kprobe *p; in arc_kprobe_handler()
248 struct kprobe *cur = kprobe_running(); in arc_post_kprobe_handler()
[all …]
/linux/arch/s390/kernel/
H A Dkprobes.c30 DEFINE_PER_CPU(struct kprobe *, current_kprobe);
46 static void copy_instruction(struct kprobe *p) in copy_instruction()
79 struct kprobe *kp; in can_probe()
120 int arch_prepare_kprobe(struct kprobe *p) in arch_prepare_kprobe()
136 struct kprobe *p;
143 struct kprobe *p = args->p; in swap_instruction()
152 void arch_arm_kprobe(struct kprobe *p) in arch_arm_kprobe()
165 void arch_disarm_kprobe(struct kprobe *p) in arch_disarm_kprobe()
178 void arch_remove_kprobe(struct kprobe *p) in arch_remove_kprobe()
235 static void push_kprobe(struct kprobe_ctlblk *kcb, struct kprobe *p) in push_kprobe()
[all …]
/linux/arch/sparc/kernel/
H A 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/arch/mips/kernel/
H A Dkprobes.c44 DEFINE_PER_CPU(struct kprobe *, current_kprobe);
78 int arch_prepare_kprobe(struct kprobe *p) in arch_prepare_kprobe()
139 void arch_arm_kprobe(struct kprobe *p) in arch_arm_kprobe()
146 void arch_disarm_kprobe(struct kprobe *p) in arch_disarm_kprobe()
153 void arch_remove_kprobe(struct kprobe *p) in arch_remove_kprobe()
180 static void set_current_kprobe(struct kprobe *p, struct pt_regs *regs, in set_current_kprobe()
201 static int evaluate_branch_instruction(struct kprobe *p, struct pt_regs *regs, in evaluate_branch_instruction()
235 static void prepare_singlestep(struct kprobe *p, struct pt_regs *regs, in prepare_singlestep()
266 static void resume_execution(struct kprobe *p, in resume_execution()
281 struct kprobe *p; in kprobe_handler()
[all …]
/linux/arch/powerpc/kernel/
H A Dkprobes.c31 DEFINE_PER_CPU(struct kprobe *, current_kprobe) = NULL;
129 int arch_prepare_kprobe(struct kprobe *p) in arch_prepare_kprobe()
132 struct kprobe *prev; in arch_prepare_kprobe()
176 void arch_arm_kprobe(struct kprobe *p) in arch_arm_kprobe()
182 void arch_disarm_kprobe(struct kprobe *p) in arch_disarm_kprobe()
188 void arch_remove_kprobe(struct kprobe *p) in arch_remove_kprobe()
197 static nokprobe_inline void prepare_singlestep(struct kprobe *p, struct pt_regs *regs) in prepare_singlestep()
224 static nokprobe_inline void set_current_kprobe(struct kprobe *p, struct pt_regs *regs, in set_current_kprobe()
231 static int try_to_emulate(struct kprobe *p, struct pt_regs *regs) in try_to_emulate()
274 struct kprobe *p; in kprobe_handler()
[all …]
/linux/arch/arm/probes/kprobes/
H A 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 …]
H A Dcore.c44 DEFINE_PER_CPU(struct kprobe *, current_kprobe) = NULL;
48 int __kprobes arch_prepare_kprobe(struct kprobe *p) in arch_prepare_kprobe()
120 void __kprobes arch_arm_kprobe(struct kprobe *p) in arch_arm_kprobe()
178 void __kprobes arch_disarm_kprobe(struct kprobe *p) in arch_disarm_kprobe()
184 void __kprobes arch_remove_kprobe(struct kprobe *p) in arch_remove_kprobe()
204 static void __kprobes set_current_kprobe(struct kprobe *p) in set_current_kprobe()
210 singlestep_skip(struct kprobe *p, struct pt_regs *regs) in singlestep_skip()
224 singlestep(struct kprobe *p, struct pt_regs *regs, struct kprobe_ctlblk *kcb) in singlestep()
238 struct kprobe *p, *cur; in kprobe_handler()
333 struct kprobe *cur = kprobe_running(); in kprobe_fault_handler()
[all …]
/linux/arch/x86/kernel/kprobes/
H A Dcore.c61 DEFINE_PER_CPU(struct kprobe *, current_kprobe) = NULL;
207 struct kprobe *kp; in __recover_probed_insn()
465 static int prepare_singlestep(kprobe_opcode_t *buf, struct kprobe *p, in prepare_singlestep()
513 static void kprobe_emulate_ifmodifiers(struct kprobe *p, struct pt_regs *regs) in kprobe_emulate_ifmodifiers()
533 static void kprobe_emulate_ret(struct kprobe *p, struct pt_regs *regs) in kprobe_emulate_ret()
539 static void kprobe_emulate_call(struct kprobe *p, struct pt_regs *regs) in kprobe_emulate_call()
548 static void kprobe_emulate_jmp(struct kprobe *p, struct pt_regs *regs) in kprobe_emulate_jmp()
557 static void kprobe_emulate_jcc(struct kprobe *p, struct pt_regs *regs) in kprobe_emulate_jcc()
565 static void kprobe_emulate_loop(struct kprobe *p, struct pt_regs *regs) in kprobe_emulate_loop()
622 static void kprobe_emulate_call_indirect(struct kprobe *p, struct pt_regs *regs) in kprobe_emulate_call_indirect()
[all …]
/linux/arch/x86/include/asm/
H A Dkprobes.h24 struct kprobe;
51 void arch_remove_kprobe(struct kprobe *p);
80 void (*emulate_op)(struct kprobe *p, struct pt_regs *regs);
101 struct kprobe *kp;
/linux/drivers/misc/lkdtm/
H A Dcore.c40 static int lkdtm_kprobe_handler(struct kprobe *kp, struct pt_regs *regs);
45 .kprobe = { \
60 struct kprobe kprobe; member
105 static struct kprobe *lkdtm_kprobe;
175 if (!crashpoint->kprobe.symbol_name) in lkdtm_register_cpoint()
183 lkdtm_kprobe = &crashpoint->kprobe; in lkdtm_register_cpoint()
187 crashpoint->kprobe.symbol_name); in lkdtm_register_cpoint()
202 static int lkdtm_kprobe_handler(struct kprobe *kp, struct pt_regs *regs) in lkdtm_kprobe_handler()
/linux/Documentation/trace/
H A Dkprobes.rst37 (also called return probes). A kprobe can be inserted on virtually
64 When a kprobe is registered, Kprobes makes a copy of the probed
71 associated with the kprobe, passing the handler the addresses of the
72 kprobe struct and the saved registers.
81 "post_handler," if any, that is associated with the kprobe.
110 When you call register_kretprobe(), Kprobes establishes a kprobe at
115 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/Documentation/bpf/libbpf/
H A Dprogram_types.rst86 …BE`` | | ``kprobe+`` [#kprobe]_ …
88 … | | ``kretprobe+`` [#kprobe]_ | …
104 | | ``BPF_TRACE_KPROBE_MULTI`` | ``kprobe.mul…
217 .. [#kprobe] The ``kprobe`` attach format is ``kprobe/<function>[+<offset>]``. Valid
223 .. [#kpmulti] The ``kprobe.multi`` attach format is ``kprobe.multi/<pattern>`` where ``pattern``
/linux/arch/sh/include/asm/
H A Dkprobes.h26 struct kprobe;
28 void arch_remove_kprobe(struct kprobe *);
38 struct kprobe *kp;
/linux/arch/arc/include/asm/
H A Dkprobes.h31 struct kprobe;
33 void arch_remove_kprobe(struct kprobe *p);
36 struct kprobe *kp;
/linux/arch/parisc/include/asm/
H A Dkprobes.h27 struct kprobe;
29 void arch_remove_kprobe(struct kprobe *p);
43 struct kprobe *kp;
/linux/arch/mips/include/asm/
H A Dkprobes.h25 struct kprobe;
43 void arch_remove_kprobe(struct kprobe *p);
53 struct kprobe *kp;
/linux/lib/
H A Dtest_kprobes.c36 static int kp_pre_handler(struct kprobe *p, struct pt_regs *regs) in kp_pre_handler()
44 static void kp_post_handler(struct kprobe *p, struct pt_regs *regs, in kp_post_handler()
55 static struct kprobe kp = {
103 static int kp_pre_handler2(struct kprobe *p, struct pt_regs *regs) in kp_pre_handler2()
109 static void kp_post_handler2(struct kprobe *p, struct pt_regs *regs, in kp_post_handler2()
116 static struct kprobe kp2 = {
124 struct kprobe *kps[2] = {&kp, &kp2}; in test_kprobes()
149 static struct kprobe kp_missed = {

1234