diff options
| author | Paul Buetow <paul@buetow.org> | 2026-02-23 10:34:37 +0200 |
|---|---|---|
| committer | Paul Buetow <paul@buetow.org> | 2026-02-23 10:34:37 +0200 |
| commit | a1eb580aa5b80e913dc722ccf97e42c6987152e8 (patch) | |
| tree | 845b3da7d8d6a0d11e28dea1b82bbf39e0e401b4 /internal/generate | |
| parent | 9e7b820cfacb50299720b9d391de907d6f3fbdec (diff) | |
Add getcwd tracing support and stabilize comm propagation test
Diffstat (limited to 'internal/generate')
| -rw-r--r-- | internal/generate/classify.go | 2 | ||||
| -rw-r--r-- | internal/generate/classify_test.go | 8 | ||||
| -rw-r--r-- | internal/generate/testdata.go | 29 |
3 files changed, 39 insertions, 0 deletions
diff --git a/internal/generate/classify.go b/internal/generate/classify.go index ae03758..a7d9847 100644 --- a/internal/generate/classify.go +++ b/internal/generate/classify.go @@ -115,6 +115,8 @@ func classifyNameOnly(name string) (ClassificationResult, bool) { return ClassificationResult{Kind: KindNull}, true case "sys_enter_msync": return ClassificationResult{Kind: KindNull}, true + case "sys_enter_getcwd": + return ClassificationResult{Kind: KindNull}, true } if strings.HasPrefix(name, "sys_enter_io_") { return ClassificationResult{Kind: KindNull}, true diff --git a/internal/generate/classify_test.go b/internal/generate/classify_test.go index 8d6f9c2..b223210 100644 --- a/internal/generate/classify_test.go +++ b/internal/generate/classify_test.go @@ -160,6 +160,13 @@ func TestClassifyNullSyslog(t *testing.T) { } } +func TestClassifyNullGetcwd(t *testing.T) { + r := classifyFromData(t, FormatGetcwd) + if r.Kind != KindNull { + t.Errorf("getcwd: got kind %d, want KindNull", r.Kind) + } +} + func TestClassifyNullIoUring(t *testing.T) { r := classifyFromData(t, FormatIoUringEnter) if r.Kind != KindFd { @@ -300,6 +307,7 @@ func TestClassifySyscallPairAccepted(t *testing.T) { {"fcntl", FormatFcntl, FormatExitFcntl, KindFcntl}, {"sync", FormatSync, FormatExitSync, KindNull}, {"msync", FormatMsync, FormatExitMsync, KindNull}, + {"getcwd", FormatGetcwd, FormatExitGetcwd, KindNull}, {"copy_file_range", FormatCopyFileRange, FormatExitCopyFileRange, KindFd}, {"syslog", FormatSyslog, FormatExitSyslog, KindNull}, {"open_by_handle_at", FormatOpenByHandleAt, FormatExitOpenByHandleAt, KindOpenByHandleAt}, diff --git a/internal/generate/testdata.go b/internal/generate/testdata.go index fb68dfb..a141a49 100644 --- a/internal/generate/testdata.go +++ b/internal/generate/testdata.go @@ -425,6 +425,35 @@ format: print fmt: "0x%lx", REC->ret ` +const FormatGetcwd = `name: sys_enter_getcwd +ID: 795 +format: + field:unsigned short common_type; offset:0; size:2; signed:0; + field:unsigned char common_flags; offset:2; size:1; signed:0; + field:unsigned char common_preempt_count; offset:3; size:1; signed:0; + field:int common_pid; offset:4; size:4; signed:1; + + field:int __syscall_nr; offset:8; size:4; signed:1; + field:char * buf; offset:16; size:8; signed:0; + field:unsigned long size; offset:24; size:8; signed:0; + +print fmt: "buf: 0x%08lx, size: 0x%08lx", ((unsigned long)(REC->buf)), ((unsigned long)(REC->size)) +` + +const FormatExitGetcwd = `name: sys_exit_getcwd +ID: 794 +format: + field:unsigned short common_type; offset:0; size:2; signed:0; + field:unsigned char common_flags; offset:2; size:1; signed:0; + field:unsigned char common_preempt_count; offset:3; size:1; signed:0; + field:int common_pid; offset:4; size:4; signed:1; + + field:int __syscall_nr; offset:8; size:4; signed:1; + field:long ret; offset:16; size:8; signed:1; + +print fmt: "0x%lx", REC->ret +` + const FormatSyslog = `name: sys_enter_syslog ID: 347 format: |
