summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Buetow <paul@buetow.org>2025-03-06 20:38:16 +0200
committerPaul Buetow <paul@buetow.org>2025-03-06 20:38:16 +0200
commit90d59424ad047dd9fd58ee11c5b04383be4995f8 (patch)
tree87805eebdd2fa41a683c2b5fe8a494f50cfd0d62
parent89ddaabb485dfaf21b90c5138c269fb6e3300ef7 (diff)
TID filter works
-rw-r--r--internal/c/filter.c13
-rw-r--r--internal/flags/flags.go2
2 files changed, 3 insertions, 12 deletions
diff --git a/internal/c/filter.c b/internal/c/filter.c
index 7ce0e6a..19e2c1b 100644
--- a/internal/c/filter.c
+++ b/internal/c/filter.c
@@ -8,18 +8,9 @@ static __always_inline int filter(__u32 *pid, __u32 *tid) {
*pid = pid_tgid >> 32;
*tid = pid_tgid & 0xFFFFFFFF;
- if (PID_FILTER == *pid) {
- if (TID_FILTER == *tid) {
+ if (-1 == PID_FILTER || *pid == PID_FILTER) {
+ if (-1 == TID_FILTER || *tid == TID_FILTER)
return ACCEPT;
- } else if (TID_FILTER == -1) {
- return ACCEPT;
- }
- } else if (PID_FILTER == -1) {
- if (TID_FILTER == *tid) {
- return ACCEPT;
- } else if (TID_FILTER == -1) {
- return ACCEPT;
- }
}
return FILTER;
diff --git a/internal/flags/flags.go b/internal/flags/flags.go
index 842c7d5..5596ea5 100644
--- a/internal/flags/flags.go
+++ b/internal/flags/flags.go
@@ -28,7 +28,7 @@ func (flags Flags) SetBPF(bpfModule *bpf.Module) error {
return fmt.Errorf("unable to set up PID_FILTER global variable: %w", err)
}
fmt.Println("Setting TID_FILTER to", flags.TidFilter)
- if err := bpfModule.InitGlobalVariable("TID_FILTER", uint32(flags.PidFilter)); err != nil {
+ if err := bpfModule.InitGlobalVariable("TID_FILTER", uint32(flags.TidFilter)); err != nil {
return fmt.Errorf("unable to set up TID_FILTER global variable: %w", err)
}
return nil