| Age | Commit message (Collapse) | Author |
|
pidfd_getfd path expectation
signals: TestSignalsBasic issued but never asserted enter_tkill and
enter_rt_sigqueueinfo (both genuinely emitted by sendSelfSignals); add
both MinCount>=1 enter assertions. Both tracepoints were already in
signalsTraceArgs.
sched: TestSchedBasic omitted enter_sched_setaffinity even though
scenario_sched.go re-applies its affinity mask via SchedSetaffinity and
the tracepoint is in schedTraceArgs; add the MinCount>=1 enter assertion.
sysv: TestSysVMsgBasic only checked enter presence + duration for
msgrcv. msgrcv is READ_CLASSIFIED, so add assertEventBytesAtLeast >= 12
("ior-sysv-msg") mirroring the recvfrom/recvmsg byte assertions.
pidfd: verified TestPidfdGetfdSuccess already PASSES deterministically
with PathContains "pidfd-getfd-source.txt". The path is correct and
meaningful: pidfd_getfd is an fd-transfer op, so at exit
applyFdTransferOp re-points the event to the RETURNED dup fd, which for a
self-pidfd refers to the same open source file. Kept the assertion and
added a comment explaining why it resolves to the source file rather than
the pidfd's anon_inode. No BPF/handler change.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|
|
Add sysv-msg-basic and sysv-sem-basic ioworkload scenarios that exercise
the SysV message-queue and semaphore families end-to-end via raw syscalls,
mirroring the existing sysv-shm-basic scenario.
sysv-msg-basic: msgget(IPC_PRIVATE) -> msgsnd -> msgrcv -> msgctl(IPC_RMID),
using a struct msgbuf {int64 mtype; [16]byte mtext} and msgsz = body length
(excluding mtype). sysv-sem-basic: semget(IPC_PRIVATE, 1) -> semop(+1) ->
semop(-1) -> semctl(IPC_RMID), incrementing before decrementing so the
operation can never block. Both defer IPC_RMID right after the get so no
kernel IPC object leaks even on partial failure.
Add TestSysVMsgBasic and TestSysVSemBasic asserting the enter_ events for
msgget/msgsnd/msgrcv/msgctl and semget/semop/semctl are traced with
MinCount>=1 and positive duration, plus PID/comm hermetic guards.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|
|
The SysV shared-memory family (shmget/shmat/shmdt/shmctl) had no
end-to-end integration coverage. Add an ioworkload `sysv-shm-basic`
scenario that, without privileges, runs shmget(IPC_PRIVATE) -> shmat ->
write into the mapped segment -> shmdt -> shmctl(IPC_RMID), always
issuing IPC_RMID (via defer) so no kernel segment leaks.
Add TestSysVShmBasic asserting enter_shmget/enter_shmat/enter_shmdt/
enter_shmctl are each traced with a positive (paired enter/exit)
duration.
msg/sem coverage is scoped out and tracked as a follow-up task (7i0).
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|