ronnie
2022-10-23 4bf14332546635f50a1bf7f3df4c0a8e29643280
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <uapi/linux/ptrace.h>
 
struct str_t {
   u64 pid;
   char str[80];
};
 
BPF_PERF_OUTPUT(events);
 
int printret(struct pt_regs *ctx)
{
   struct str_t data  = {};
   u32 pid;
        if (!PT_REGS_RC(ctx))
          return 0;
        pid = bpf_get_current_pid_tgid();
        data.pid = pid;
        bpf_probe_read(&data.str, sizeof(data.str), (void *)PT_REGS_RC(ctx));
        events.perf_submit(ctx, &data, sizeof(data));
        return 0;
};