]>
Commit | Line | Data |
---|---|---|
c4781e37 AS |
1 | // SPDX-License-Identifier: GPL-2.0 |
2 | /* Copyright (c) 2019 Facebook */ | |
ac065870 AN |
3 | #include <stdbool.h> |
4 | #include <stddef.h> | |
c4781e37 | 5 | #include <linux/bpf.h> |
ac065870 | 6 | #include <linux/ptrace.h> |
3e689141 THJ |
7 | #include <bpf/bpf_helpers.h> |
8 | #include <bpf/bpf_tracing.h> | |
c4781e37 | 9 | |
ac065870 AN |
10 | struct task_struct; |
11 | ||
c4781e37 | 12 | SEC("kprobe/__set_task_comm") |
ac065870 | 13 | int BPF_KPROBE(prog1, struct task_struct *tsk, const char *buf, bool exec) |
c4781e37 | 14 | { |
ac065870 | 15 | return !tsk; |
c4781e37 AS |
16 | } |
17 | ||
18 | SEC("kretprobe/__set_task_comm") | |
396f544e | 19 | int BPF_KRETPROBE(prog2, int ret) |
c4781e37 | 20 | { |
396f544e | 21 | return ret; |
c4781e37 AS |
22 | } |
23 | ||
24 | SEC("raw_tp/task_rename") | |
25 | int prog3(struct bpf_raw_tracepoint_args *ctx) | |
26 | { | |
ac065870 | 27 | return !ctx->args[0]; |
c4781e37 AS |
28 | } |
29 | ||
ac065870 AN |
30 | SEC("fentry/__set_task_comm") |
31 | int BPF_PROG(prog4, struct task_struct *tsk, const char *buf, bool exec) | |
c4781e37 | 32 | { |
6d74f64b | 33 | return 0; |
c4781e37 AS |
34 | } |
35 | ||
ac065870 AN |
36 | SEC("fexit/__set_task_comm") |
37 | int BPF_PROG(prog5, struct task_struct *tsk, const char *buf, bool exec) | |
c4781e37 | 38 | { |
6d74f64b | 39 | return 0; |
c4781e37 AS |
40 | } |
41 | ||
42 | char _license[] SEC("license") = "GPL"; |