Files
runc/docs/spec-conformance.md
T
Kir Kolyshkin c3b18a87c6 docs/spec-conformance.md: document default umask
The runtime spec says that if umask is unspecified, it should not be
changed from the calling process' umask. runc, though, sets the umask
of the container init process to 0022 in this case (as it did before
umask support was added, and as crun does, too). For runc exec, the
umask is not changed.

Document this deviation.

Fixes #3533.

Signed-off-by: Kir Kolyshkin <kolyshkin@gmail.com>
2026-10-15 23:51:07 -07:00

1.4 KiB

Spec conformance

This branch of runc implements the OCI Runtime Spec v1.3.0 for the linux platform.

Deviations

runc deviates from the spec in the following ways:

  • ociVersion is not validated: runc does not generate an error if it is missing, empty, not in SemVer format, or specifies a version not supported by runc (e.g. with a different major version).
  • If umask is not specified, the umask of the container init process is set to 0022, rather than left unchanged from the calling process' umask. For runc exec, the umask is left unchanged.

Architectures

The following architectures are supported:

runc binary seccomp
amd64 SCMP_ARCH_X86, SCMP_ARCH_X86_64, SCMP_ARCH_X32
arm64 SCMP_ARCH_ARM, SCMP_ARCH_AARCH64
armel SCMP_ARCH_ARM
armhf SCMP_ARCH_ARM
ppc64le SCMP_ARCH_PPC64LE
riscv64 SCMP_ARCH_RISCV64
s390x SCMP_ARCH_S390, SCMP_ARCH_S390X
loong64 SCMP_ARCH_LOONGARCH64

The runc binary might be compilable for i386, big-endian PPC64, and several MIPS variants too, but these architectures are not officially supported.