From c4d43f47732557a32357a36d6c4276707e5994b1 Mon Sep 17 00:00:00 2001 From: Dmitry Vyukov Date: Thu, 16 Nov 2017 12:42:30 +0100 Subject: pkg/osutil: don't leace runaway processes When manager is stopped there are sometimes runaway qemu processes still running. Set PDEATHSIG for all subprocesses. We never need child processes outliving parents. --- pkg/kernel/kernel.go | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) (limited to 'pkg/kernel/kernel.go') diff --git a/pkg/kernel/kernel.go b/pkg/kernel/kernel.go index 5b93ebaa9..2ec573540 100644 --- a/pkg/kernel/kernel.go +++ b/pkg/kernel/kernel.go @@ -61,12 +61,14 @@ func CreateImage(kernelDir, userspaceDir, cmdlineFile, sysctlFile, image, sshkey return fmt.Errorf("failed to write script file: %v", err) } bzImage := filepath.Join(kernelDir, filepath.FromSlash("arch/x86/boot/bzImage")) - env := []string{ - "SYZ_CMDLINE_FILE=" + osutil.Abs(cmdlineFile), - "SYZ_SYSCTL_FILE=" + osutil.Abs(sysctlFile), - } - _, err = osutil.RunCmdEnv(time.Hour, env, tempDir, scriptFile, userspaceDir, bzImage) - if err != nil { + cmd := osutil.Command(scriptFile, userspaceDir, bzImage) + cmd.Dir = tempDir + cmd.Env = append([]string{}, os.Environ()...) + cmd.Env = append(cmd.Env, + "SYZ_CMDLINE_FILE="+osutil.Abs(cmdlineFile), + "SYZ_SYSCTL_FILE="+osutil.Abs(sysctlFile), + ) + if _, err = osutil.Run(time.Hour, cmd); err != nil { return fmt.Errorf("image build failed: %v", err) } if err := osutil.CopyFile(filepath.Join(tempDir, "disk.raw"), image); err != nil { -- cgit mrf-deployment