mirror of
				https://github.com/optim-enterprises-bv/kubernetes.git
				synced 2025-11-03 19:58:17 +00:00 
			
		
		
		
	The commands used were (roughly): hack/pin-dependency.sh github.com/opencontainers/runc v1.0.1 hack/lint-dependencies.sh # Follow its recommendations. hack/pin-dependency.sh github.com/cilium/ebpf v0.6.2 hack/pin-dependency.sh github.com/opencontainers/selinux v1.8.2 hack/pin-dependency.sh github.com/sirupsen/logrus v1.8.1 # Recheck. hack/lint-dependencies.sh GO111MODULE=on go mod edit -dropreplace github.com/willf/bitset hack/update-vendor.sh # Recheck. hack/lint-dependencies.sh hack/update-internal-modules.sh # Recheck. hack/lint-dependencies.sh Signed-off-by: Kir Kolyshkin <kolyshkin@gmail.com>
		
			
				
	
	
		
			42 lines
		
	
	
		
			922 B
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			42 lines
		
	
	
		
			922 B
		
	
	
	
		
			Go
		
	
	
	
	
	
package libcontainer
 | 
						|
 | 
						|
import (
 | 
						|
	"os"
 | 
						|
 | 
						|
	"golang.org/x/sys/unix"
 | 
						|
)
 | 
						|
 | 
						|
// mount initializes the console inside the rootfs mounting with the specified mount label
 | 
						|
// and applying the correct ownership of the console.
 | 
						|
func mountConsole(slavePath string) error {
 | 
						|
	oldMask := unix.Umask(0o000)
 | 
						|
	defer unix.Umask(oldMask)
 | 
						|
	f, err := os.Create("/dev/console")
 | 
						|
	if err != nil && !os.IsExist(err) {
 | 
						|
		return err
 | 
						|
	}
 | 
						|
	if f != nil {
 | 
						|
		f.Close()
 | 
						|
	}
 | 
						|
	return unix.Mount(slavePath, "/dev/console", "bind", unix.MS_BIND, "")
 | 
						|
}
 | 
						|
 | 
						|
// dupStdio opens the slavePath for the console and dups the fds to the current
 | 
						|
// processes stdio, fd 0,1,2.
 | 
						|
func dupStdio(slavePath string) error {
 | 
						|
	fd, err := unix.Open(slavePath, unix.O_RDWR, 0)
 | 
						|
	if err != nil {
 | 
						|
		return &os.PathError{
 | 
						|
			Op:   "open",
 | 
						|
			Path: slavePath,
 | 
						|
			Err:  err,
 | 
						|
		}
 | 
						|
	}
 | 
						|
	for _, i := range []int{0, 1, 2} {
 | 
						|
		if err := unix.Dup3(fd, i, 0); err != nil {
 | 
						|
			return err
 | 
						|
		}
 | 
						|
	}
 | 
						|
	return nil
 | 
						|
}
 |