From 69b412ec82f82558a9d70876c2fbfba4772da21f Mon Sep 17 00:00:00 2001 From: Kirill Tkhai Date: Thu, 23 Feb 2017 18:16:25 +0300 Subject: [PATCH] ns: Set target user_ns after net_ns is set Restore task's user_ns, and keep in mind we born in parent's user_ns Signed-off-by: Kirill Tkhai Signed-off-by: Andrei Vagin --- criu/cr-restore.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/criu/cr-restore.c b/criu/cr-restore.c index c58169f4e..26c2c1136 100644 --- a/criu/cr-restore.c +++ b/criu/cr-restore.c @@ -873,6 +873,9 @@ static int restore_one_alive_task(int pid, CoreEntry *core) if (restore_task_net_ns(current)) return -1; + if (current->ids && set_user_ns(current->ids->user_ns_id) < 0) + return -1; + if (setup_uffd(pid, ta)) return -1; @@ -1180,6 +1183,11 @@ static inline int fork_with_pid(struct pstree_item *item) int ret = -1; pid_t pid = vpid(item); + if (item != root_item) + item->user_ns = current->user_ns; + else + item->user_ns = root_user_ns; + if (item->pid->state != TASK_HELPER) { if (open_core(pid, &ca.core)) return -1;