Browse code

bump containerd/console to 2748ece16665b45a47f884001d5831ec79703880

Fix runc exec on big-endian, causing:

container_linux.go:265: starting container process caused "open /dev/pts/4294967296: no such file or directory"

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>

Sebastiaan van Stijn authored on 2018/03/01 05:43:20
Showing 2 changed files
... ...
@@ -114,7 +114,7 @@ github.com/containerd/containerd 3fa104f843ec92328912e042b767d26825f202aa
114 114
 github.com/containerd/fifo fbfb6a11ec671efbe94ad1c12c2e98773f19e1e6
115 115
 github.com/containerd/continuity d8fb8589b0e8e85b8c8bbaa8840226d0dfeb7371
116 116
 github.com/containerd/cgroups c0710c92e8b3a44681d1321dcfd1360fc5c6c089
117
-github.com/containerd/console 84eeaae905fa414d03e07bcd6c8d3f19e7cf180e
117
+github.com/containerd/console 2748ece16665b45a47f884001d5831ec79703880
118 118
 github.com/containerd/go-runc 4f6e87ae043f859a38255247b49c9abc262d002f
119 119
 github.com/containerd/typeurl f6943554a7e7e88b3c14aad190bf05932da84788
120 120
 github.com/dmcgowan/go-tar go1.10
... ...
@@ -13,25 +13,21 @@ const (
13 13
 	cmdTcSet = unix.TCSETS
14 14
 )
15 15
 
16
-func ioctl(fd, flag, data uintptr) error {
17
-	if _, _, err := unix.Syscall(unix.SYS_IOCTL, fd, flag, data); err != 0 {
18
-		return err
19
-	}
20
-	return nil
21
-}
22
-
23 16
 // unlockpt unlocks the slave pseudoterminal device corresponding to the master pseudoterminal referred to by f.
24 17
 // unlockpt should be called before opening the slave side of a pty.
25 18
 func unlockpt(f *os.File) error {
26 19
 	var u int32
27
-	return ioctl(f.Fd(), unix.TIOCSPTLCK, uintptr(unsafe.Pointer(&u)))
20
+	if _, _, err := unix.Syscall(unix.SYS_IOCTL, f.Fd(), unix.TIOCSPTLCK, uintptr(unsafe.Pointer(&u))); err != 0 {
21
+		return err
22
+	}
23
+	return nil
28 24
 }
29 25
 
30 26
 // ptsname retrieves the name of the first available pts for the given master.
31 27
 func ptsname(f *os.File) (string, error) {
32
-	n, err := unix.IoctlGetInt(int(f.Fd()), unix.TIOCGPTN)
33
-	if err != nil {
28
+	var u uint32
29
+	if _, _, err := unix.Syscall(unix.SYS_IOCTL, f.Fd(), unix.TIOCGPTN, uintptr(unsafe.Pointer(&u))); err != 0 {
34 30
 		return "", err
35 31
 	}
36
-	return fmt.Sprintf("/dev/pts/%d", n), nil
32
+	return fmt.Sprintf("/dev/pts/%d", u), nil
37 33
 }