summaryrefslogtreecommitdiff
path: root/internal/generate/codegen_test.go
diff options
context:
space:
mode:
authorPaul Buetow <paul@buetow.org>2026-05-19 10:32:32 +0300
committerPaul Buetow <paul@buetow.org>2026-05-19 10:32:32 +0300
commit9cc2c7b3c4c7a1f1837a4a5260f11ccea5814c83 (patch)
tree423ab8233039f23bee0d4fbcb98a0b0a68841476 /internal/generate/codegen_test.go
parent127516b4bf63dc922df222825a9a6a1d7eacc214 (diff)
u6: fix socketpair exit fd capture and socket filtering
Diffstat (limited to 'internal/generate/codegen_test.go')
-rw-r--r--internal/generate/codegen_test.go15
1 files changed, 10 insertions, 5 deletions
diff --git a/internal/generate/codegen_test.go b/internal/generate/codegen_test.go
index f87a6dc..3e29612 100644
--- a/internal/generate/codegen_test.go
+++ b/internal/generate/codegen_test.go
@@ -200,11 +200,16 @@ func TestGenerateSocketpairHandler(t *testing.T) {
requireContains(t, output, "struct socketpair_event *ev")
requireContains(t, output, "ev->event_type = ENTER_SOCKETPAIR_EVENT;")
- requireContains(t, output, "int sv[2];")
- requireContains(t, output, "bpf_probe_read_user(&sv, sizeof(sv), (void *)ctx->args[3]);")
- requireContains(t, output, "ev->family = (__s32)ctx->args[0];")
- requireContains(t, output, "ev->sv0 = (__s32)sv[0];")
- requireContains(t, output, "ev->sv1 = (__s32)sv[1];")
+ requireContains(t, output, "struct socketpair_ctx pending;")
+ requireContains(t, output, "bpf_map_update_elem(&socketpair_ctx_map, &tid, &pending, BPF_ANY);")
+ requireContains(t, output, "ev->sv0 = -1;")
+ requireContains(t, output, "ev->ret = 0;")
+ requireContains(t, output, "SEC(\"tracepoint/syscalls/sys_exit_socketpair\")")
+ requireContains(t, output, "ev->event_type = EXIT_SOCKETPAIR_EVENT;")
+ requireContains(t, output, "struct socketpair_ctx *pending = bpf_map_lookup_elem(&socketpair_ctx_map, &tid);")
+ requireContains(t, output, "if (ctx->ret == 0 && pending->usockvec != 0) {")
+ requireContains(t, output, "ev->ret = ctx->ret;")
+ requireContains(t, output, "ev->family = pending.family;")
}
func TestGenerateNameToHandleAtHandler(t *testing.T) {