package proc
import "gvisor.dev/gvisor/pkg/sentry/fsimpl/proc"
Package proc implements a partial in-memory file system for procfs.
Index ¶
- Constants
- func GetMetadata(ctx context.Context, mm *mm.MemoryManager, buf *bytes.Buffer, t MetadataType) error
- func ParseInt32Vec(ctx context.Context, src usermem.IOSequence, buf []int32) (int64, error)
- type ExtraInternalData
- type FilesystemType
- func (ft FilesystemType) GetFilesystem(ctx context.Context, vfsObj *vfs.VirtualFilesystem, creds *auth.Credentials, source string, opts vfs.GetFilesystemOptions) (*vfs.Filesystem, *vfs.Dentry, error)
- func (FilesystemType) Name() string
- func (FilesystemType) Release(ctx context.Context)
- type InternalData
- type MetadataType
Constants ¶
const ( // Name is the default filesystem name. Name = "proc" )
Functions ¶
func GetMetadata ¶
func GetMetadata(ctx context.Context, mm *mm.MemoryManager, buf *bytes.Buffer, t MetadataType) error
GetMetadata fetches the process's metadata of type t and writes it into buf. The process is identified by mm.
func ParseInt32Vec ¶
ParseInt32Vec interprets src as string encoding slice of int32, and returns the parsed value and the number of bytes read.
The numbers of int32 will be populated even if an error is returned eventually.
Types ¶
type ExtraInternalData ¶
type ExtraInternalData struct{}
ExtraInternalData is an empty struct that could contain extra data for the procfs.
+stateify savable
type FilesystemType ¶
type FilesystemType struct{}
FilesystemType is the factory class for procfs.
+stateify savable
func (FilesystemType) GetFilesystem ¶
func (ft FilesystemType) GetFilesystem(ctx context.Context, vfsObj *vfs.VirtualFilesystem, creds *auth.Credentials, source string, opts vfs.GetFilesystemOptions) (*vfs.Filesystem, *vfs.Dentry, error)
GetFilesystem implements vfs.FilesystemType.GetFilesystem.
func (FilesystemType) Name ¶
func (FilesystemType) Name() string
Name implements vfs.FilesystemType.Name.
func (FilesystemType) Release ¶
func (FilesystemType) Release(ctx context.Context)
Release implements vfs.FilesystemType.Release.
type InternalData ¶
type InternalData struct { ExtraInternalData // GVisorMarkerFile indicates whether a file named gvisor/kernel_is_gvisor // should exist in the procfs. GVisorMarkerFile bool // Cgroups-internal data. Cgroups map[string]string }
InternalData contains internal data passed in to the procfs mount via vfs.GetFilesystemOptions.InternalData.
+stateify savable
type MetadataType ¶
type MetadataType int
MetadataType enumerates the types of metadata that is exposed through proc.
const ( // Cmdline represents /proc/[pid]/cmdline. Cmdline MetadataType = iota // Environ represents /proc/[pid]/environ. Environ )
Source Files ¶
filesystem.go proc_impl.go subtasks.go task.go task_fds.go task_files.go task_net.go tasks.go tasks_files.go tasks_sys.go yama.go
- Version
- v0.0.0-20250605235530-a6711d1e1dc6 (latest)
- Published
- Jun 5, 2025
- Platform
- linux/amd64
- Imports
- 35 packages
- Last checked
- 4 hours ago –
Tools for package owners.