diff options
| author | Paul Buetow <paul@buetow.org> | 2026-02-22 18:20:44 +0200 |
|---|---|---|
| committer | Paul Buetow <paul@buetow.org> | 2026-02-22 18:20:44 +0200 |
| commit | 8e52ba5a8661c717f45e00608ad64f0adc6de3e1 (patch) | |
| tree | c90dcccca9168552d311312ba238e7b84fab9e0d /internal/generate | |
| parent | 40ce5bc1d9da31b49f42e488d2ab5633e7c6a3fb (diff) | |
Implement mmap/msync syscall support with unit and integration coverage
Diffstat (limited to 'internal/generate')
| -rw-r--r-- | internal/generate/classify.go | 2 | ||||
| -rw-r--r-- | internal/generate/classify_test.go | 2 | ||||
| -rw-r--r-- | internal/generate/testdata.go | 30 |
3 files changed, 34 insertions, 0 deletions
diff --git a/internal/generate/classify.go b/internal/generate/classify.go index c55e46f..b79d49c 100644 --- a/internal/generate/classify.go +++ b/internal/generate/classify.go @@ -113,6 +113,8 @@ func classifyNameOnly(name string) (ClassificationResult, bool) { return ClassificationResult{Kind: KindNull}, true case "sys_enter_sync": return ClassificationResult{Kind: KindNull}, true + case "sys_enter_msync": + 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 07c6027..285c8e2 100644 --- a/internal/generate/classify_test.go +++ b/internal/generate/classify_test.go @@ -272,6 +272,7 @@ func TestShouldNotIgnore(t *testing.T) { noIgnore := []string{ "sys_enter_read", "sys_enter_write", "sys_enter_openat", "sys_enter_close", "sys_enter_rename", "sys_enter_unlink", + "sys_enter_msync", "sys_exit_read", "sys_exit_openat", } for _, name := range noIgnore { @@ -297,6 +298,7 @@ func TestClassifySyscallPairAccepted(t *testing.T) { {"dup3", FormatDup3, FormatExitDup3, KindDup3}, {"fcntl", FormatFcntl, FormatExitFcntl, KindFcntl}, {"sync", FormatSync, FormatExitSync, KindNull}, + {"msync", FormatMsync, FormatExitMsync, KindNull}, {"syslog", FormatSyslog, FormatExitSyslog, KindNull}, {"open_by_handle_at", FormatOpenByHandleAt, FormatExitOpenByHandleAt, KindOpenByHandleAt}, {"name_to_handle_at", FormatNameToHandleAt, FormatExitNameToHandleAt, KindPathname}, diff --git a/internal/generate/testdata.go b/internal/generate/testdata.go index e36a6a1..c03c0d7 100644 --- a/internal/generate/testdata.go +++ b/internal/generate/testdata.go @@ -152,6 +152,36 @@ format: print fmt: "0x%lx", REC->ret ` +const FormatMsync = `name: sys_enter_msync +ID: 1029 +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:unsigned long start; offset:16; size:8; signed:0; + field:size_t len; offset:24; size:8; signed:0; + field:int flags; offset:32; size:8; signed:0; + +print fmt: "start: 0x%08lx, len: 0x%08lx, flags: 0x%08lx", ((unsigned long)(REC->start)), ((unsigned long)(REC->len)), ((unsigned long)(REC->flags)) +` + +const FormatExitMsync = `name: sys_exit_msync +ID: 1028 +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 FormatRename = `name: sys_enter_rename ID: 870 format: |
