diff options
| author | Paul Buetow <paul@buetow.org> | 2026-05-29 21:57:42 +0300 |
|---|---|---|
| committer | Paul Buetow <paul@buetow.org> | 2026-05-29 21:57:42 +0300 |
| commit | 8e88f743dfcdd2b347b24dcbfab3a04fbe3c43f1 (patch) | |
| tree | 7a43d605d2ecaa035c16d2366dbccf6166ec0b29 /docs/syscall-tracing-plan.md | |
| parent | b86b817594ac8a4dc7fe2b80649df2c7a62f1b59 (diff) | |
test(generate): lock in clone3 KindProc/Process/UNCLASSIFIED classification
Audit of clone3(2): long clone3(struct clone_args *cl_args, size_t size).
Neither arg is an fd or filesystem path (cl_args is a userspace control
block, size is its byte length), and the return value is a pid_t (child
PID in the parent, 0 in the child, -1 on error) — not a byte count.
clone3 was already correctly classified as KindProc in FamilyProcess with
an UNCLASSIFIED exit, identical to its clone/fork/vfork siblings; the
generated BPF handlers emit a null_event on enter (no arg capture) and a
ret_event tagged UNCLASSIFIED on exit. No code, classification, or doc
changes were needed.
Add TestGenerateClone3Handler to pin this down against future drift:
the name-only table maps all four siblings to KindProc even when fed the
real (struct clone_args *, size_t) args, the family is Process, the ret
is UNCLASSIFIED, the enter handler captures no ctx->args[], and the exit
handler reports ret_type=UNCLASSIFIED.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Diffstat (limited to 'docs/syscall-tracing-plan.md')
0 files changed, 0 insertions, 0 deletions
