summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGiuseppe Scrivano <gscrivan@redhat.com>2021-07-01 16:41:23 +0200
committerGiuseppe Scrivano <gscrivan@redhat.com>2021-07-01 17:01:54 +0200
commit493786fbae808f01bdf97d13b2ede2c527405899 (patch)
treef8b4865fe124a02dd0398e5f2b5bda6d7658b919
parentfd1715568b7c14451dcf2581c385c8d3e307d30e (diff)
downloadpodman-493786fbae808f01bdf97d13b2ede2c527405899.tar.gz
podman-493786fbae808f01bdf97d13b2ede2c527405899.tar.bz2
podman-493786fbae808f01bdf97d13b2ede2c527405899.zip
podman: ignore ESRCH from kill
Closes: https://github.com/containers/podman/issues/10826 [NO TESTS NEEDED] Fixes a race condition Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
-rw-r--r--pkg/rootless/rootless_linux.go8
1 files changed, 6 insertions, 2 deletions
diff --git a/pkg/rootless/rootless_linux.go b/pkg/rootless/rootless_linux.go
index 6eff25eb9..f76eab0e3 100644
--- a/pkg/rootless/rootless_linux.go
+++ b/pkg/rootless/rootless_linux.go
@@ -268,7 +268,9 @@ func becomeRootInUserNS(pausePid, fileToRead string, fileOutput *os.File) (_ boo
}
if retErr != nil && pid > 0 {
if err := unix.Kill(pid, unix.SIGKILL); err != nil {
- logrus.Errorf("failed to kill %d", pid)
+ if err != unix.ESRCH {
+ logrus.Errorf("failed to cleanup process %d: %v", pid, err)
+ }
}
C.reexec_in_user_namespace_wait(C.int(pid), 0)
}
@@ -394,7 +396,9 @@ func becomeRootInUserNS(pausePid, fileToRead string, fileOutput *os.File) (_ boo
}
if err := unix.Kill(int(pidC), s.(unix.Signal)); err != nil {
- logrus.Errorf("failed to kill %d", int(pidC))
+ if err != unix.ESRCH {
+ logrus.Errorf("failed to propagate signal to child process %d: %v", int(pidC), err)
+ }
}
}
}()