diff --git a/cmd/updatehub/main.go b/cmd/updatehub/main.go index 158636a6..22bb1822 100644 --- a/cmd/updatehub/main.go +++ b/cmd/updatehub/main.go @@ -14,10 +14,8 @@ import ( "encoding/pem" "net/http" "os" - "os/exec" "path" "path/filepath" - "syscall" "github.com/pkg/errors" @@ -44,37 +42,6 @@ var ( ) func main() { - if !isReexeced() { - /* Reexec updatehub binary to enter in a new mount NS - for isolating changes to the mount table */ - if err := syscall.Unshare(syscall.CLONE_NEWNS); err != nil { - log.Fatalf("failed to enter private mount NS: %s", err) - os.Exit(1) - } - - cmd := exec.Command("/proc/self/exe", os.Args...) - cmd.SysProcAttr = &syscall.SysProcAttr{ - Setpgid: true, - Pdeathsig: syscall.SIGTERM, - Cloneflags: syscall.CLONE_NEWNS, - } - cmd.Env = append(os.Environ(), []string{"UPDATEHUB_REEXEC=true"}...) - cmd.Stdin = os.Stdin - cmd.Stderr = os.Stderr - cmd.Stdout = os.Stdout - - if err := cmd.Run(); err != nil { - if exitError, ok := err.(*exec.ExitError); ok { - ws := exitError.Sys().(syscall.WaitStatus) - os.Exit(ws.ExitStatus()) - } - - os.Exit(1) - } - - os.Exit(0) - } - log.SetLevel(logrus.InfoLevel) cmd := &cobra.Command{ @@ -221,7 +188,3 @@ func readPublicKey(fs afero.Fs, settings *updatehub.Settings) (*rsa.PublicKey, e return key.(*rsa.PublicKey), nil } - -func isReexeced() bool { - return os.Getenv("UPDATEHUB_REEXEC") == "true" -}