diff options
| author | Paul Buetow <paul@buetow.org> | 2026-05-21 17:54:03 +0300 |
|---|---|---|
| committer | Paul Buetow <paul@buetow.org> | 2026-05-21 17:54:03 +0300 |
| commit | 61f0da12457ffc27b42565e79ac8c2ec9db0e4e7 (patch) | |
| tree | fe8bb802faf0cc7ab01abbd467a75046c2eff4bc /internal/generate/codegen_test.go | |
| parent | 2e32f235adee23eea2349c83312bb58f0ee6c7da (diff) | |
h7 classify additional memory syscalls
Diffstat (limited to 'internal/generate/codegen_test.go')
| -rw-r--r-- | internal/generate/codegen_test.go | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/internal/generate/codegen_test.go b/internal/generate/codegen_test.go index d61e0c9..7614ab1 100644 --- a/internal/generate/codegen_test.go +++ b/internal/generate/codegen_test.go @@ -236,6 +236,42 @@ func TestGenerateMemHandlerRemapFilePages(t *testing.T) { requireContains(t, output, "ev->flags = (__u64)ctx->args[4];") } +func TestGenerateMemHandlerMprotect(t *testing.T) { + output := GenerateTracepointsC(mustParseAll(t, syntheticPair("mprotect"))) + + requireContains(t, output, `SEC("tracepoint/syscalls/sys_enter_mprotect")`) + requireContains(t, output, "struct mem_event *ev") + requireContains(t, output, "ev->event_type = ENTER_MEM_EVENT;") + requireContains(t, output, "ev->addr = (__u64)ctx->args[0];") + requireContains(t, output, "ev->length = (__u64)ctx->args[1];") + requireContains(t, output, "ev->length2 = 0;") + requireContains(t, output, "ev->flags = (__u64)ctx->args[2];") +} + +func TestGenerateMemHandlerPkeyMprotect(t *testing.T) { + output := GenerateTracepointsC(mustParseAll(t, syntheticPair("pkey_mprotect"))) + + requireContains(t, output, `SEC("tracepoint/syscalls/sys_enter_pkey_mprotect")`) + requireContains(t, output, "struct mem_event *ev") + requireContains(t, output, "ev->event_type = ENTER_MEM_EVENT;") + requireContains(t, output, "ev->addr = (__u64)ctx->args[0];") + requireContains(t, output, "ev->length = (__u64)ctx->args[1];") + requireContains(t, output, "ev->length2 = (__u64)ctx->args[3];") + requireContains(t, output, "ev->flags = (__u64)ctx->args[2];") +} + +func TestGenerateMemHandlerBrk(t *testing.T) { + output := GenerateTracepointsC(mustParseAll(t, syntheticPair("brk"))) + + requireContains(t, output, `SEC("tracepoint/syscalls/sys_enter_brk")`) + requireContains(t, output, "struct mem_event *ev") + requireContains(t, output, "ev->event_type = ENTER_MEM_EVENT;") + requireContains(t, output, "ev->addr = (__u64)ctx->args[0];") + requireContains(t, output, "ev->length = 0;") + requireContains(t, output, "ev->length2 = 0;") + requireContains(t, output, "ev->flags = 0;") +} + func TestGenerateDup3Handler(t *testing.T) { output := generateFromPair(t, FormatDup3, FormatExitDup3) |
