From 94ddc768c3575a2393130adf041ac28ebfdf8aa3 Mon Sep 17 00:00:00 2001 From: Ophestra Date: Mon, 24 Mar 2025 15:28:25 +0900 Subject: [PATCH] sandbox: resolve tty name Signed-off-by: Ophestra --- sandbox/init.go | 1 - sandbox/sequential.go | 10 ++++++---- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/sandbox/init.go b/sandbox/init.go index cf7fd1b..8c2918c 100644 --- a/sandbox/init.go +++ b/sandbox/init.go @@ -239,7 +239,6 @@ func Init(prepare func(prefix string), setVerbose func(verbose bool)) { cmd := exec.Command(params.Path) cmd.Stdin, cmd.Stdout, cmd.Stderr = os.Stdin, os.Stdout, os.Stderr - cmd.SysProcAttr = &syscall.SysProcAttr{Setpgid: true} cmd.Args = params.Args cmd.Env = params.Env cmd.ExtraFiles = extraFiles diff --git a/sandbox/sequential.go b/sandbox/sequential.go index f37567d..d696703 100644 --- a/sandbox/sequential.go +++ b/sandbox/sequential.go @@ -156,7 +156,7 @@ func (d MountDev) apply(params *Params) error { if err := hostProc.bindMount( toHost("/dev/"+name), targetPath, - syscall.MS_RDONLY, + 0, true, ); err != nil { return err @@ -204,10 +204,12 @@ func (d MountDev) apply(params *Params) error { if err := ensureFile(consolePath, 0444, 0755); err != nil { return err } - if err := hostProc.bindMount( - hostProc.stdout(), + if name, err := os.Readlink(hostProc.stdout()); err != nil { + return msg.WrapErr(err, err.Error()) + } else if err = hostProc.bindMount( + toHost(name), consolePath, - syscall.MS_RDONLY, + 0, false, ); err != nil { return err