diff options
| author | Ophestra <cat@gensokyo.uk> | 2025-07-02 21:23:55 +0900 |
|---|---|---|
| committer | Ophestra <cat@gensokyo.uk> | 2025-07-02 21:23:55 +0900 |
| commit | a1d98823f8d17b49b432508d071b62ccd426f1ce (patch) | |
| tree | cacbe2d42f9ff3fd49b455e849770840e34d076a /sandbox/sysctl.go | |
| parent | 255b77d91dc40736b7bbd7d96b22500076b098e5 (diff) | |
hakurei: move container toplevel
Signed-off-by: Ophestra <cat@gensokyo.uk>
Diffstat (limited to 'sandbox/sysctl.go')
| -rw-r--r-- | sandbox/sysctl.go | 47 |
1 files changed, 0 insertions, 47 deletions
diff --git a/sandbox/sysctl.go b/sandbox/sysctl.go deleted file mode 100644 index 22046b65..00000000 --- a/sandbox/sysctl.go +++ /dev/null @@ -1,47 +0,0 @@ -package sandbox - -import ( - "bytes" - "log" - "os" - "strconv" - "sync" -) - -var ( - kernelOverflowuid int - kernelOverflowgid int - kernelCapLastCap int - - sysctlOnce sync.Once -) - -const ( - kernelOverflowuidPath = "/proc/sys/kernel/overflowuid" - kernelOverflowgidPath = "/proc/sys/kernel/overflowgid" - kernelCapLastCapPath = "/proc/sys/kernel/cap_last_cap" -) - -func mustReadSysctl() { - if v, err := os.ReadFile(kernelOverflowuidPath); err != nil { - log.Fatalf("cannot read %q: %v", kernelOverflowuidPath, err) - } else if kernelOverflowuid, err = strconv.Atoi(string(bytes.TrimSpace(v))); err != nil { - log.Fatalf("cannot interpret %q: %v", kernelOverflowuidPath, err) - } - - if v, err := os.ReadFile(kernelOverflowgidPath); err != nil { - log.Fatalf("cannot read %q: %v", kernelOverflowgidPath, err) - } else if kernelOverflowgid, err = strconv.Atoi(string(bytes.TrimSpace(v))); err != nil { - log.Fatalf("cannot interpret %q: %v", kernelOverflowgidPath, err) - } - - if v, err := os.ReadFile(kernelCapLastCapPath); err != nil { - log.Fatalf("cannot read %q: %v", kernelCapLastCapPath, err) - } else if kernelCapLastCap, err = strconv.Atoi(string(bytes.TrimSpace(v))); err != nil { - log.Fatalf("cannot interpret %q: %v", kernelCapLastCapPath, err) - } -} - -func OverflowUid() int { sysctlOnce.Do(mustReadSysctl); return kernelOverflowuid } -func OverflowGid() int { sysctlOnce.Do(mustReadSysctl); return kernelOverflowgid } -func LastCap() uintptr { sysctlOnce.Do(mustReadSysctl); return uintptr(kernelCapLastCap) } |
