diff options
author | Paul E. Murphy <murp@ibm.com> | 2022-12-12 09:31:59 -0600 |
---|---|---|
committer | Gopher Robot <gobot@golang.org> | 2022-12-12 23:10:52 +0000 |
commit | b16e94d13d0f9b84ed92563a12984190f91ead66 (patch) | |
tree | b0450ed27d7ad143d9e663f6fc2eae25e5e9b25d | |
parent | 27301e8247580e456e712a07d68890dc1e857000 (diff) | |
download | go-b16e94d13d0f9b84ed92563a12984190f91ead66.tar.gz go-b16e94d13d0f9b84ed92563a12984190f91ead66.zip |
syscall: skip TestUseCgroupFD if cgroupfs mounted RO
The skipping logic should also trigger if /sys/fs/cgroup is
mounted read-only too. This is how it is mounted on the
ppc64le/p10 containers today.
Fixes #57262
Change-Id: Idc0ab050052ebf5777ac09f9519215b437b0ee7c
Reviewed-on: https://go-review.googlesource.com/c/go/+/456835
Reviewed-by: Ian Lance Taylor <iant@google.com>
TryBot-Result: Gopher Robot <gobot@golang.org>
Reviewed-by: Bryan Mills <bcmills@google.com>
Auto-Submit: Bryan Mills <bcmills@google.com>
Run-TryBot: Paul Murphy <murp@ibm.com>
-rw-r--r-- | src/syscall/exec_linux_test.go | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/syscall/exec_linux_test.go b/src/syscall/exec_linux_test.go index a035d415ed..1e21fffaef 100644 --- a/src/syscall/exec_linux_test.go +++ b/src/syscall/exec_linux_test.go @@ -8,6 +8,7 @@ package syscall_test import ( "bytes" + "errors" "flag" "fmt" "internal/testenv" @@ -504,7 +505,8 @@ func prepareCgroupFD(t *testing.T) (int, string) { // Need an ability to create a sub-cgroup. subCgroup, err := os.MkdirTemp(prefix+string(bytes.TrimSpace(cg)), "subcg-") if err != nil { - if os.IsPermission(err) { + // Running in an unprivileged container, this may also return EROFS #57262. + if os.IsPermission(err) || errors.Is(err, syscall.EROFS) { t.Skip(err) } t.Fatal(err) |