full diff: https://github.com/docker/docker/compare/aae044039ca4...2b1097f08088fd387a01c6d6a2a0f6916a39b872 The userns package in libcontainer was integrated into the moby/sys/user module at commit 3778ae603c706494fd1e2c2faf83b406e38d687d. The userns package is used in many places, and currently either depends on runc/libcontainer, or on containerd, both of which have a complex dependency tree. This patch is part of a series of patches to unify the implementations, and to migrate toward that implementation to simplify the dependency tree. [3778ae603c706494fd1e2c2faf83b406e38d687d]: https://github.com/opencontainers/runc/commit/3778ae603c706494fd1e2c2faf83b406e38d687d Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
17 lines
722 B
Go
17 lines
722 B
Go
// Package userns provides utilities to detect whether we are currently running
|
|
// in a Linux user namespace.
|
|
//
|
|
// This code was migrated from [libcontainer/runc], which based its implementation
|
|
// on code from [lcx/incus].
|
|
//
|
|
// [libcontainer/runc]: https://github.com/opencontainers/runc/blob/3778ae603c706494fd1e2c2faf83b406e38d687d/libcontainer/userns/userns_linux.go#L12-L49
|
|
// [lcx/incus]: https://github.com/lxc/incus/blob/e45085dd42f826b3c8c3228e9733c0b6f998eafe/shared/util.go#L678-L700
|
|
package userns
|
|
|
|
// RunningInUserNS detects whether we are currently running in a Linux
|
|
// user namespace and memoizes the result. It returns false on non-Linux
|
|
// platforms.
|
|
func RunningInUserNS() bool {
|
|
return inUserNS()
|
|
}
|