[CRIU] [PATCH v3 2/6] ns: Use CLONE_VM in create_user_ns_hierarhy_fn()
Kirill Tkhai
ktkhai at virtuozzo.com
Sat Apr 1 04:37:29 PDT 2017
This function may call functions like open_proc(),
so use CLONE_VM to reflect children open files in
parent memory.
v3: New
Signed-off-by: Kirill Tkhai <ktkhai at virtuozzo.com>
---
criu/namespaces.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/criu/namespaces.c b/criu/namespaces.c
index 6278267f..fc75e5fa 100644
--- a/criu/namespaces.c
+++ b/criu/namespaces.c
@@ -2227,7 +2227,7 @@ static int create_user_ns_hierarhy_fn(void *in_arg)
arg->me = child;
futex_init(futex);
- pid = clone(create_user_ns_hierarhy_fn, stack, CLONE_NEWUSER | CLONE_FILES | SIGCHLD, arg);
+ pid = clone(create_user_ns_hierarhy_fn, stack, CLONE_NEWUSER | CLONE_VM | CLONE_FILES | SIGCHLD, arg);
if (pid < 0) {
pr_perror("Can't clone");
goto out;
@@ -2244,8 +2244,10 @@ static int create_user_ns_hierarhy_fn(void *in_arg)
errno = 0;
if (wait(&status) < 0 || !WIFEXITED(status) || WEXITSTATUS(status)) {
pr_perror("Child process waiting: %d", status);
+ close_pid_proc();
goto out;
}
+ close_pid_proc();
}
ret = 0;
More information about the CRIU
mailing list