From 3a5706f21d30258577a5934efb93c400dad723db Mon Sep 17 00:00:00 2001 From: Paul Buetow Date: Thu, 21 May 2026 07:58:19 +0300 Subject: task-47: fix execveat dirfd codegen fallback --- internal/generate/codegen_test.go | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'internal/generate/codegen_test.go') diff --git a/internal/generate/codegen_test.go b/internal/generate/codegen_test.go index 95ced4d..c653ad0 100644 --- a/internal/generate/codegen_test.go +++ b/internal/generate/codegen_test.go @@ -75,6 +75,17 @@ func TestGenerateExecHandler(t *testing.T) { requireContains(t, output, "ev->flags = (__s32)ctx->args[4];") } +func TestGenerateExecHandlerDirfdFallbackForExecveat(t *testing.T) { + enter := strings.ReplaceAll(FormatExecveat, "dfd", "fd") + output := generateFromPair(t, enter, FormatExitExecveat) + + requireContains(t, output, `SEC("tracepoint/syscalls/sys_enter_execveat")`) + requireContains(t, output, "ev->dirfd = (__s32)ctx->args[0];") + if strings.Contains(output, "ev->dirfd = -1;") { + t.Fatal("execveat handler unexpectedly falls back to ev->dirfd = -1") + } +} + func TestGenerateOpenat2Handler(t *testing.T) { f := mustParseOne(t, FormatOpenat2) r := ClassifyFormat(&f) -- cgit v1.2.3