summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rwxr-xr-xpkg/sentry/kernel/seqatomic_taskgoroutineschedinfo.go5
-rwxr-xr-xpkg/sentry/platform/ring0/defs_impl.go2
-rwxr-xr-xpkg/sentry/time/seqatomic_parameters.go5
-rw-r--r--runsc/cmd/exec.go16
-rw-r--r--runsc/console/ctty_1_12.go24
-rw-r--r--runsc/console/ctty_1_13.go24
-rw-r--r--runsc/sandbox/sandbox.go13
7 files changed, 14 insertions, 75 deletions
diff --git a/pkg/sentry/kernel/seqatomic_taskgoroutineschedinfo.go b/pkg/sentry/kernel/seqatomic_taskgoroutineschedinfo.go
index c284a1b11..be6b07629 100755
--- a/pkg/sentry/kernel/seqatomic_taskgoroutineschedinfo.go
+++ b/pkg/sentry/kernel/seqatomic_taskgoroutineschedinfo.go
@@ -1,12 +1,11 @@
package kernel
import (
+ "fmt"
+ "gvisor.dev/gvisor/third_party/gvsync"
"reflect"
"strings"
"unsafe"
-
- "fmt"
- "gvisor.dev/gvisor/third_party/gvsync"
)
// SeqAtomicLoad returns a copy of *ptr, ensuring that the read does not race
diff --git a/pkg/sentry/platform/ring0/defs_impl.go b/pkg/sentry/platform/ring0/defs_impl.go
index ea3f514cd..d4bfc5a4a 100755
--- a/pkg/sentry/platform/ring0/defs_impl.go
+++ b/pkg/sentry/platform/ring0/defs_impl.go
@@ -1,10 +1,10 @@
package ring0
import (
- "gvisor.dev/gvisor/pkg/cpuid"
"syscall"
"fmt"
+ "gvisor.dev/gvisor/pkg/cpuid"
"gvisor.dev/gvisor/pkg/sentry/platform/ring0/pagetables"
"gvisor.dev/gvisor/pkg/sentry/usermem"
"io"
diff --git a/pkg/sentry/time/seqatomic_parameters.go b/pkg/sentry/time/seqatomic_parameters.go
index 1ec221edd..b4fb0a7f0 100755
--- a/pkg/sentry/time/seqatomic_parameters.go
+++ b/pkg/sentry/time/seqatomic_parameters.go
@@ -1,12 +1,11 @@
package time
import (
+ "fmt"
+ "gvisor.dev/gvisor/third_party/gvsync"
"reflect"
"strings"
"unsafe"
-
- "fmt"
- "gvisor.dev/gvisor/third_party/gvsync"
)
// SeqAtomicLoad returns a copy of *ptr, ensuring that the read does not race
diff --git a/runsc/cmd/exec.go b/runsc/cmd/exec.go
index 5a823e89a..e817eff77 100644
--- a/runsc/cmd/exec.go
+++ b/runsc/cmd/exec.go
@@ -235,18 +235,12 @@ func (ex *Exec) execChildAndWait(waitStatus *syscall.WaitStatus) subcommands.Exi
cmd.SysProcAttr = &syscall.SysProcAttr{
Setsid: true,
Setctty: true,
- Ctty: int(tty.Fd()),
+ // The Ctty FD must be the FD in the child process's FD
+ // table. Since we set cmd.Stdin/Stdout/Stderr to the
+ // tty FD, we can use any of 0, 1, or 2 here.
+ // See https://github.com/golang/go/issues/29458.
+ Ctty: 0,
}
- // TODO(b/133868570): Delete this check once Go 1.12 is no
- // longer supported.
- if console.CttyFdIsPostShuffle {
- // In go1.12 and before, the Ctty FD must be the FD in
- // the child process's FD table. Since we set
- // cmd.Stdin/Stdout/Stderr to the tty FD, we can use
- // any of 0, 1, or 2 here.
- cmd.SysProcAttr.Ctty = 0
- }
-
}
if err := cmd.Start(); err != nil {
diff --git a/runsc/console/ctty_1_12.go b/runsc/console/ctty_1_12.go
deleted file mode 100644
index 6e7a314a3..000000000
--- a/runsc/console/ctty_1_12.go
+++ /dev/null
@@ -1,24 +0,0 @@
-// Copyright 2019 The gVisor Authors.
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-// +build go1.12
-// +build !go1.13
-
-// TODO(b/133868570): Delete once Go 1.12 is no longer supported.
-
-package console
-
-// CttyFdIsPostShuffle indicates that in go1.12 and earlier, the
-// SysProcAttr.Ctty FD is determined "pre-shuffle" (not "post-shuffle").
-var CttyFdIsPostShuffle = false
diff --git a/runsc/console/ctty_1_13.go b/runsc/console/ctty_1_13.go
deleted file mode 100644
index 785d720e1..000000000
--- a/runsc/console/ctty_1_13.go
+++ /dev/null
@@ -1,24 +0,0 @@
-// Copyright 2019 The gVisor Authors.
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-// +build go1.13
-// +build !go1.14
-
-// TODO(b/133868570): Delete once Go 1.12 is no longer supported.
-
-package console
-
-// CttyFdIsPostShuffle indicates that in go1.13 and later, the SysProcAttr.Ctty
-// FD is determined "post-shuffle".
-var CttyFdIsPostShuffle = true
diff --git a/runsc/sandbox/sandbox.go b/runsc/sandbox/sandbox.go
index 1591052cd..6bebf0737 100644
--- a/runsc/sandbox/sandbox.go
+++ b/runsc/sandbox/sandbox.go
@@ -438,15 +438,10 @@ func (s *Sandbox) createSandboxProcess(conf *boot.Config, args *Args, startSyncF
// Set the TTY as a controlling TTY on the sandbox process.
cmd.SysProcAttr.Setctty = true
- cmd.SysProcAttr.Ctty = int(tty.Fd())
- // TODO(b/133868570): Delete this check once Go 1.12 is no
- // longer supported.
- if console.CttyFdIsPostShuffle {
- // In go1.12 and before, the Ctty FD must be the FD in
- // the child process's FD table, which will be "nextFD"
- // in this case.
- cmd.SysProcAttr.Ctty = nextFD
- }
+ // The Ctty FD must be the FD in the child process's FD table,
+ // which will be nextFD in this case.
+ // See https://github.com/golang/go/issues/29458.
+ cmd.SysProcAttr.Ctty = nextFD
// Pass the tty as all stdio fds to sandbox.
for i := 0; i < 3; i++ {