From 9cc2c7b3c4c7a1f1837a4a5260f11ccea5814c83 Mon Sep 17 00:00:00 2001 From: Paul Buetow Date: Tue, 19 May 2026 10:32:32 +0300 Subject: u6: fix socketpair exit fd capture and socket filtering --- internal/generate/codegen_test.go | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) (limited to 'internal/generate/codegen_test.go') 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) { -- cgit v1.2.3