summaryrefslogtreecommitdiff
path: root/pkg/rootless/rootless_linux.c
diff options
context:
space:
mode:
authorOpenShift Merge Robot <openshift-merge-robot@users.noreply.github.com>2018-12-21 06:09:45 -0800
committerGitHub <noreply@github.com>2018-12-21 06:09:45 -0800
commitfaa7ff3568a6cdc52caa99dfa88b656818574fdc (patch)
tree7d1e1382bc74cf4bdbac3b5b60b3a70bd84fd68e /pkg/rootless/rootless_linux.c
parent28e30408b6f6088545421e0cfb8ca3e05d1cdc06 (diff)
parent0ed55f75abac1311b61a17079ae9314ec5459bfd (diff)
downloadpodman-faa7ff3568a6cdc52caa99dfa88b656818574fdc.tar.gz
podman-faa7ff3568a6cdc52caa99dfa88b656818574fdc.tar.bz2
podman-faa7ff3568a6cdc52caa99dfa88b656818574fdc.zip
Merge pull request #2028 from giuseppe/fix-rootless-export
rootless: fix export when using fuse-overlayfs
Diffstat (limited to 'pkg/rootless/rootless_linux.c')
-rw-r--r--pkg/rootless/rootless_linux.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/pkg/rootless/rootless_linux.c b/pkg/rootless/rootless_linux.c
index 9eb16c1a5..1d28ff68d 100644
--- a/pkg/rootless/rootless_linux.c
+++ b/pkg/rootless/rootless_linux.c
@@ -99,7 +99,7 @@ get_cmd_line_args (pid_t pid)
}
int
-reexec_userns_join (int userns)
+reexec_userns_join (int userns, int mountns)
{
pid_t ppid = getpid ();
char uid[16];
@@ -131,6 +131,13 @@ reexec_userns_join (int userns)
}
close (userns);
+ if (mountns >= 0 && setns (mountns, 0) < 0)
+ {
+ fprintf (stderr, "cannot setns: %s\n", strerror (errno));
+ _exit (EXIT_FAILURE);
+ }
+ close (userns);
+
if (syscall_setresgid (0, 0, 0) < 0)
{
fprintf (stderr, "cannot setresgid: %s\n", strerror (errno));