From 90d59424ad047dd9fd58ee11c5b04383be4995f8 Mon Sep 17 00:00:00 2001 From: Paul Buetow Date: Thu, 6 Mar 2025 20:38:16 +0200 Subject: TID filter works --- internal/c/filter.c | 13 ++----------- internal/flags/flags.go | 2 +- 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 -- cgit v1.2.3