gvisorgvisor.dev/gvisor/pkg/sentry Directories

sentry/ directory

Directories

PathSynopsis
pkg/sentry/archPackage arch provides abstractions around architecture-dependent details, such as syscall calling conventions, native types, etc.
pkg/sentry/arch/fpuPackage fpu provides basic floating point helpers.
pkg/sentry/contexttestPackage contexttest builds a test context.Context.
pkg/sentry/controlPackage control contains types that expose control server methods, and can be used to configure and interact with a running sandbox process.
pkg/sentry/devices
pkg/sentry/devices/memdevPackage memdev implements "mem" character devices, as implemented in Linux by drivers/char/mem.c and drivers/char/random.c.
pkg/sentry/devices/nvproxyPackage nvproxy implements proxying for the Nvidia GPU Linux kernel driver: https://github.com/NVIDIA/open-gpu-kernel-modules.
pkg/sentry/devices/nvproxy/nvconfPackage nvconf provides configuration structures and utilities for nvproxy.
pkg/sentry/devices/tpuproxyPackage tpuproxy contains tpu backend driver proxy implementations and helper functions.
pkg/sentry/devices/tpuproxy/accelPackage accel implements a proxy for gasket based accel devices.
pkg/sentry/devices/tpuproxy/utilPackage util contains helper functions for tpuproxy implementations.
pkg/sentry/devices/tpuproxy/vfioPackage vfio implements a proxy for VFIO devices.
pkg/sentry/devices/ttydevPackage ttydev implements a vfs.Device for /dev/tty.
pkg/sentry/devices/tundevPackage tundev implements the /dev/net/tun device.
pkg/sentry/fdcollectorPackage fdcollector provides a goroutine that reads from a vfs.FileDescription (which may block) into a bytes.Buffer.
pkg/sentry/fdimportPackage fdimport provides the Import function.
pkg/sentry/fsimpl
pkg/sentry/fsimpl/cgroupfsPackage cgroupfs implements cgroupfs.
pkg/sentry/fsimpl/devPackage dev provides a filesystem implementation for /dev.
pkg/sentry/fsimpl/devptsPackage devpts provides a filesystem implementation that behaves like devpts.
pkg/sentry/fsimpl/devtmpfsPackage devtmpfs provides a singleton fsimpl/dev filesystem instance, analogous to Linux's devtmpfs.
pkg/sentry/fsimpl/erofsPackage erofs implements erofs.
pkg/sentry/fsimpl/eventfdPackage eventfd implements event fds.
pkg/sentry/fsimpl/fusePackage fuse implements fusefs.
pkg/sentry/fsimpl/goferPackage gofer provides a filesystem implementation that is backed by a 9p server, interchangeably referred to as "gofers" throughout this package.
pkg/sentry/fsimpl/hostPackage host provides a filesystem implementation for host files imported as file descriptors.
pkg/sentry/fsimpl/iouringfsPackage iouringfs provides a filesystem implementation for IO_URING basing it on anonfs.
pkg/sentry/fsimpl/kernfsPackage kernfs provides the tools to implement inode-based filesystems.
pkg/sentry/fsimpl/lockPackage lock is the API for POSIX-style advisory regional file locks and BSD-style full file locks.
pkg/sentry/fsimpl/mqfsPackage mqfs provides a filesystem implementation to back POSIX message queues.
pkg/sentry/fsimpl/nsfsPackage nsfs provides the filesystem implementation backing Kernel.NsfsMount.
pkg/sentry/fsimpl/overlayPackage overlay provides an overlay filesystem implementation, which synthesizes a filesystem by composing one or more immutable filesystems ("lower layers") with an optional mutable filesystem ("upper layer").
pkg/sentry/fsimpl/pipefsPackage pipefs provides the filesystem implementation backing Kernel.PipeMount.
pkg/sentry/fsimpl/procPackage proc implements a partial in-memory file system for procfs.
pkg/sentry/fsimpl/signalfdPackage signalfd provides basic signalfd file implementations.
pkg/sentry/fsimpl/sockfsPackage sockfs provides a filesystem implementation for anonymous sockets.
pkg/sentry/fsimpl/sysPackage sys implements sysfs.
pkg/sentry/fsimpl/testutilPackage testutil provides common test utilities for kernfs-based filesystems.
pkg/sentry/fsimpl/timerfdPackage timerfd implements timer fds.
pkg/sentry/fsimpl/tmpfsPackage tmpfs provides an in-memory filesystem whose contents are application-mutable, consistent with Linux's tmpfs.
pkg/sentry/fsimpl/userPackage user contains methods for resolving filesystem paths based on the user and their environment.
pkg/sentry/fsmetricPackage fsmetric defines filesystem metrics.
pkg/sentry/fsutilPackage fsutil provides utilities for implementing vfs.FileDescriptionImpl and vfs.FilesystemImpl.
pkg/sentry/hostcpuPackage hostcpu provides utilities for working with CPU information provided by a host Linux kernel.
pkg/sentry/hostfdPackage hostfd provides efficient I/O with host file descriptors.
pkg/sentry/hostmmPackage hostmm provides tools for interacting with the host Linux kernel's virtual memory management subsystem.
pkg/sentry/inetPackage inet defines semantics for IP stacks.
pkg/sentry/kernelPackage kernel provides an emulation of the Linux kernel.
pkg/sentry/kernel/authPackage auth implements an access control model that is a subset of Linux's.
pkg/sentry/kernel/contexttestPackage contexttest provides a test context.Context which includes a dummy kernel pointing to a valid platform.
pkg/sentry/kernel/fasyncPackage fasync provides FIOASYNC related functionality.
pkg/sentry/kernel/futexPackage futex provides an implementation of the futex interface as found in the Linux kernel.
pkg/sentry/kernel/ipcPackage ipc defines functionality and utilities common to sysvipc mechanisms.
pkg/sentry/kernel/memeventPackage memevent implements the memory usage events controller, which periodically emits events via the eventchannel.
pkg/sentry/kernel/mqPackage mq provides an implementation for POSIX message queues.
pkg/sentry/kernel/msgqueuePackage msgqueue implements System V message queues.
pkg/sentry/kernel/pipePackage pipe provides a pipe implementation.
pkg/sentry/kernel/schedPackage sched implements scheduler related features.
pkg/sentry/kernel/semaphorePackage semaphore implements System V semaphores.
pkg/sentry/kernel/shmPackage shm implements sysv shared memory segments.
pkg/sentry/ktimePackage ktime provides an API for clocks and timers implemented by the sentry.
pkg/sentry/limitsPackage limits provides resource limits.
pkg/sentry/loaderPackage loader loads an executable file into a MemoryManager.
pkg/sentry/loader/vdsodataPackage vdsodata contains a compiled VDSO object.
pkg/sentry/memmapPackage memmap defines semantics for memory mappings.
pkg/sentry/mmPackage mm provides a memory management subsystem.
pkg/sentry/pgallocPackage pgalloc contains the page allocator subsystem, which provides allocatable memory that may be mapped into application address spaces.
pkg/sentry/platformPackage platform provides a Platform abstraction.
pkg/sentry/platform/interruptPackage interrupt provides an interrupt helper.
pkg/sentry/platform/kvmPackage kvm provides a kvm-based implementation of the platform interface.
pkg/sentry/platform/kvm/testutilPackage testutil provides common assembly stubs for testing.
pkg/sentry/platform/platformsPackage platforms imports all available platform packages.
pkg/sentry/platform/ptracePackage ptrace provides a ptrace-based implementation of the platform interface.
pkg/sentry/platform/systrapPackage systrap provides a seccomp-based implementation of the platform interface.
pkg/sentry/platform/systrap/sysmsgPackage sysmsg provides a stub signal handler and a communication protocol between stub threads and the Sentry.
pkg/sentry/platform/systrap/usertrapPackage usertrap implements the library to replace syscall instructions with function calls.
pkg/sentry/seccheckPackage seccheck defines a structure for dynamically-configured security checks in the sentry.
pkg/sentry/seccheck/sinks
pkg/sentry/seccheck/sinks/nullPackage null defines a seccheck.Sink that does nothing with the trace points, akin to /dev/null.
pkg/sentry/seccheck/sinks/remotePackage remote defines a seccheck.Sink that serializes points to a remote process.
pkg/sentry/seccheck/sinks/remote/serverPackage server provides a common server implementation that can connect with remote.Remote.
pkg/sentry/seccheck/sinks/remote/testPackage test provides functionality used to test the remote sink.
pkg/sentry/seccheck/sinks/remote/wirePackage wire defines structs used in the wire format for the remote checker.
pkg/sentry/socketPackage socket provides the interfaces that need to be provided by socket implementations and providers, as well as per family demultiplexing of socket creation.
pkg/sentry/socket/controlPackage control provides internal representations of socket control messages.
pkg/sentry/socket/hostinetPackage hostinet implements AF_INET and AF_INET6 sockets using the host's network stack.
pkg/sentry/socket/netfilterPackage netfilter helps the sentry interact with netstack's netfilter capabilities.
pkg/sentry/socket/netlinkPackage netlink provides core functionality for netlink sockets.
pkg/sentry/socket/netlink/nlmsgPackage nlmsg provides helpers to parse and construct netlink messages.
pkg/sentry/socket/netlink/portPackage port provides port ID allocation for netlink sockets.
pkg/sentry/socket/netlink/routePackage route provides a NETLINK_ROUTE socket protocol.
pkg/sentry/socket/netlink/ueventPackage uevent provides a NETLINK_KOBJECT_UEVENT socket protocol.
pkg/sentry/socket/netstackPackage netstack provides an implementation of the socket.Socket interface that is backed by a tcpip.Endpoint.
pkg/sentry/socket/netstack/packetmmapPackage packetmmap contains the packet mmap implementation for netstack.
pkg/sentry/socket/pluginPackage plugin provides a set of interfaces to interact with third-party netstack.
pkg/sentry/socket/plugin/cgoPackage cgo provides interfaces definition to interact with third-party network stack.
pkg/sentry/socket/plugin/stackPackage stack provides an implementation of plugin.PluginStack interface and an implementation of socket.Socket interface.
pkg/sentry/socket/unixPackage unix provides an implementation of the socket.Socket interface for the AF_UNIX protocol family.
pkg/sentry/socket/unix/transportPackage transport contains the implementation of Unix endpoints.
pkg/sentry/statePackage state provides high-level state wrappers.
pkg/sentry/stracePackage strace implements the logic to print out the input and the return value of each traced syscall.
pkg/sentry/syscallsPackage syscalls is the interface from the application to the kernel.
pkg/sentry/syscalls/linuxPackage linux provides syscall tables for amd64 and arm64 Linux.
pkg/sentry/timePackage time provides a calibrated clock synchronized to a system reference clock.
pkg/sentry/unimplPackage unimpl contains interface to emit events about unimplemented features.
pkg/sentry/uniqueidPackage uniqueid defines context.Context keys for obtaining system-wide unique identifiers.
pkg/sentry/usagePackage usage provides representations of resource usage.
pkg/sentry/vfsPackage vfs implements a virtual filesystem layer.
pkg/sentry/vfs/genericfstreePackage genericfstree provides tools for implementing vfs.FilesystemImpls that follow a standard pattern for synchronizing Dentry parent and name.
pkg/sentry/vfs/memxattrPackage memxattr provides a default, in-memory extended attribute implementation.
pkg/sentry/watchdogPackage watchdog is responsible for monitoring the sentry for tasks that may potentially be stuck or looping inderterminally causing hard to debug hangs in the untrusted app.
Version
v0.0.0-20250605235530-a6711d1e1dc6 (latest)
Published
Jun 5, 2025
Platform
linux/amd64
Last checked
4 hours ago

Tools for package owners.