diff options
author | Paul Holzinger <pholzing@redhat.com> | 2021-12-01 18:55:08 +0100 |
---|---|---|
committer | Paul Holzinger <pholzing@redhat.com> | 2021-12-01 19:19:44 +0100 |
commit | 3ff47748dea946775b8f4ec8e1c644c2efb3950b (patch) | |
tree | b332a07a1495152c97b589ea17cff35b53d5dc81 /docs | |
parent | 295a6f7dd086731448a1168a349f62d3035258ca (diff) | |
download | podman-3ff47748dea946775b8f4ec8e1c644c2efb3950b.tar.gz podman-3ff47748dea946775b8f4ec8e1c644c2efb3950b.tar.bz2 podman-3ff47748dea946775b8f4ec8e1c644c2efb3950b.zip |
Fix possible rootless netns cleanup race
rootlessNetNS.Cleanup() has an issue with how it detects if cleanup
is needed, reading the container state is not good ebough because
containers are first stopped and than cleanup will be called. So at one
time two containers could wait for cleanup but the second one will fail
because the first one triggered already the cleanup thus making rootless
netns unavailable for the second container resulting in an teardown
error. Instead of checking the container state we need to check the
netns state.
Secondly, podman unshare --rootless-netns should not do the cleanup.
This causes more issues than it is worth fixing. Users also might want
to use this to setup the namespace in a special way. If unshare also
cleans this up right away we cannot do this.
[NO NEW TESTS NEEDED]
Fixes #12459
Signed-off-by: Paul Holzinger <pholzing@redhat.com>
Diffstat (limited to 'docs')
-rw-r--r-- | docs/source/markdown/podman-unshare.1.md | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/docs/source/markdown/podman-unshare.1.md b/docs/source/markdown/podman-unshare.1.md index 5676b1be7..01393a862 100644 --- a/docs/source/markdown/podman-unshare.1.md +++ b/docs/source/markdown/podman-unshare.1.md @@ -35,7 +35,6 @@ Print usage statement Join the rootless network namespace used for CNI and netavark networking. It can be used to connect to a rootless container via IP address (bridge networking). This is otherwise not possible from the host network namespace. -_Note: Using this option with more than one unshare session can have unexpected results._ ## Exit Codes @@ -57,13 +56,13 @@ the exit codes follow the `chroot` standard, see below: **127** Executing a _contained command_ and the _command_ cannot be found - $ podman run busybox foo; echo $? + $ podman unshare foo; echo $? Error: fork/exec /usr/bin/bogus: no such file or directory 127 **Exit code** _contained command_ exit code - $ podman run busybox /bin/sh -c 'exit 3'; echo $? + $ podman unshare /bin/sh -c 'exit 3'; echo $? 3 ## EXAMPLE |