From 8800da2b77bf008fe490c161bf176cdf37f8ec7a Mon Sep 17 00:00:00 2001 From: Andrei Vagin Date: Tue, 1 Jan 2019 23:06:39 -0800 Subject: [PATCH] files: don't use PROC_SELF during restoring file descriptors open_proc_pid(PROC_SELF) returns a non-service file descriptor, but it can take a place of a target file descriptor. Signed-off-by: Andrei Vagin --- criu/files-reg.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/criu/files-reg.c b/criu/files-reg.c index 3d895d2bc..265efe071 100644 --- a/criu/files-reg.c +++ b/criu/files-reg.c @@ -1593,7 +1593,11 @@ int open_path(struct file_desc *d, tmp = inherit_fd_lookup_id(rfi->rfe->name); if (tmp >= 0) { inh_fd = tmp; - mntns_root = open_pid_proc(PROC_SELF); + /* + * PROC_SELF isn't used, because only service + * descriptors can be used here. + */ + mntns_root = open_pid_proc(getpid()); snprintf(path, sizeof(path), "fd/%d", tmp); orig_path = rfi->path; rfi->path = path;