blob: 55632e4f54249c3bc2f515ba1319844795fce318 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
//+build ignore
#define ACCEPT 0
#define FILTER 1
static __always_inline int filter(__u32 *pid, __u32 *tid) {
u64 pid_tgid = bpf_get_current_pid_tgid();
*pid = pid_tgid >> 32;
// Ignore ior userland process itself
if (*pid == IOR_PID_FILTER) {
return FILTER;
}
*tid = pid_tgid & 0xFFFFFFFF;
if (-1 == PID_FILTER || *pid == PID_FILTER) {
if (-1 == TID_FILTER || *tid == TID_FILTER) {
return ACCEPT;
}
}
return FILTER;
}
|