Home
last modified time | relevance | path

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

123

/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/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/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/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/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/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 …]
/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/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/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/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/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 = {
/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/arch/s390/include/asm/
H A Dkprobes.h40 struct kprobe;
61 struct kprobe *kp;
73 void arch_remove_kprobe(struct kprobe *p);
/linux/tools/testing/selftests/bpf/prog_tests/
H A Dfill_link_info.c61 ASSERT_EQ(info.perf_event.kprobe.offset, offset, "kprobe_offset"); in verify_perf_link_info()
65 ASSERT_EQ(info.perf_event.kprobe.addr, addr + entry_offset, in verify_perf_link_info()
68 ASSERT_EQ(info.perf_event.kprobe.cookie, PERF_EVENT_COOKIE, "kprobe_cookie"); in verify_perf_link_info()
70 ASSERT_EQ(info.perf_event.kprobe.name_len, strlen(KPROBE_FUNC) + 1, in verify_perf_link_info()
72 if (!info.perf_event.kprobe.func_name) { in verify_perf_link_info()
73 info.perf_event.kprobe.func_name = ptr_to_u64(&buf); in verify_perf_link_info()
74 info.perf_event.kprobe.name_len = sizeof(buf); in verify_perf_link_info()
78 err = strncmp(u64_to_ptr(info.perf_event.kprobe.func_name), KPROBE_FUNC, in verify_perf_link_info()
135 info.perf_event.kprobe.func_name = 0x1; /* invalid address */ in kprobe_fill_invalid_user_buffer()
139 info.perf_event.kprobe.name_len = 64; in kprobe_fill_invalid_user_buffer()
[all …]
/linux/arch/arm/include/asm/
H A Dkprobes.h25 struct kprobe;
31 struct kprobe *kp;
41 void arch_remove_kprobe(struct kprobe *);
/linux/arch/s390/lib/
H A Dtest_kprobes.c9 static struct kprobe kp;
11 static void setup_kprobe(struct kunit *test, struct kprobe *kp, in setup_kprobe()
19 static void test_kprobe_offset(struct kunit *test, struct kprobe *kp, in test_kprobe_offset()
/linux/tools/bpf/bpftool/
H A Dlink.c367 jsonw_uint_field(wtr, "addr", info->perf_event.kprobe.addr); in show_perf_event_kprobe_json()
369 u64_to_ptr(info->perf_event.kprobe.func_name)); in show_perf_event_kprobe_json()
370 jsonw_uint_field(wtr, "offset", info->perf_event.kprobe.offset); in show_perf_event_kprobe_json()
371 jsonw_uint_field(wtr, "missed", info->perf_event.kprobe.missed); in show_perf_event_kprobe_json()
372 jsonw_uint_field(wtr, "cookie", info->perf_event.kprobe.cookie); in show_perf_event_kprobe_json()
791 buf = u64_to_ptr(info->perf_event.kprobe.func_name); in show_perf_event_kprobe_plain()
792 if (buf[0] == '\0' && !info->perf_event.kprobe.addr) in show_perf_event_kprobe_plain()
799 if (info->perf_event.kprobe.addr) in show_perf_event_kprobe_plain()
800 printf("%llx ", info->perf_event.kprobe.addr); in show_perf_event_kprobe_plain()
802 if (info->perf_event.kprobe.offset) in show_perf_event_kprobe_plain()
[all …]
/linux/arch/arm64/include/asm/
H A Dkprobes.h27 struct kprobe *kp;
38 void arch_remove_kprobe(struct kprobe *);

123