summaryrefslogtreecommitdiff
path: root/internal/eventloop_exit.go
diff options
context:
space:
mode:
authorPaul Buetow <paul@buetow.org>2026-05-21 08:28:37 +0300
committerPaul Buetow <paul@buetow.org>2026-05-21 08:28:37 +0300
commita0d6f222864301c11afd9c1d3306e6bfe8446d5d (patch)
tree5c8c206146f5f41d930971284082cdc30e6b6a04 /internal/eventloop_exit.go
parentbe8735fe701f7398c19c17c394f4827614eab875 (diff)
f7 wire eventfd kind for fd-from-air IPC syscalls
Diffstat (limited to 'internal/eventloop_exit.go')
-rw-r--r--internal/eventloop_exit.go19
1 files changed, 16 insertions, 3 deletions
diff --git a/internal/eventloop_exit.go b/internal/eventloop_exit.go
index 598adba..d00fe04 100644
--- a/internal/eventloop_exit.go
+++ b/internal/eventloop_exit.go
@@ -405,7 +405,7 @@ func (e *eventLoop) handleEventfdExit(ep *event.Pair, eventfdEv *types.EventfdEv
flags = eventfdEv.Flags
}
if fd := int32(exitEv.Ret); fd >= 0 {
- fdFile := file.NewFd(fd, eventfdDescriptorName(flags), flags)
+ fdFile := file.NewFd(fd, eventfdDescriptorName(eventfdEv.GetTraceId(), flags), flags)
e.fdState().set(fd, fdFile)
ep.File = fdFile
}
@@ -506,8 +506,21 @@ func pipeDescriptorName(flags, fd0, fd1 int32) string {
return fmt.Sprintf("pipe:%d:%d:%d", flags, fd0, fd1)
}
-func eventfdDescriptorName(flags int32) string {
- return fmt.Sprintf("eventfd:%d", flags)
+func eventfdDescriptorName(traceID types.TraceId, flags int32) string {
+ switch traceID {
+ case types.SYS_ENTER_MEMFD_CREATE:
+ return fmt.Sprintf("memfd:%d", flags)
+ case types.SYS_ENTER_MEMFD_SECRET:
+ return fmt.Sprintf("memfd-secret:%d", flags)
+ case types.SYS_ENTER_USERFAULTFD:
+ return fmt.Sprintf("userfaultfd:%d", flags)
+ case types.SYS_ENTER_SIGNALFD, types.SYS_ENTER_SIGNALFD4:
+ return fmt.Sprintf("signalfd:%d", flags)
+ case types.SYS_ENTER_TIMERFD_CREATE:
+ return fmt.Sprintf("timerfd:%d", flags)
+ default:
+ return fmt.Sprintf("eventfd:%d", flags)
+ }
}
func perfDescriptorName(perfOpenEv *types.PerfOpenEvent) string {