aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul E. Murphy <murp@ibm.com>2022-12-12 09:31:59 -0600
committerGopher Robot <gobot@golang.org>2022-12-12 23:10:52 +0000
commitb16e94d13d0f9b84ed92563a12984190f91ead66 (patch)
treeb0450ed27d7ad143d9e663f6fc2eae25e5e9b25d
parent27301e8247580e456e712a07d68890dc1e857000 (diff)
downloadgo-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.go4
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)