[CRIU] [PATCH v4 04/19] mnt: Remove useless closes in __mntns_get_root_fd()
Kirill Tkhai
ktkhai at virtuozzo.com
Wed Jan 10 17:00:57 MSK 2018
1)Further mntns_set_root_fd() calls install_service_fd(),
which silently closes already open fd. So, kill close_service_fd()
and make __mntns_get_root_fd() atomical in ROOT_FD_OFF modifications.
2)close_pid_proc() is not need here, as it's about root_item's
/proc directory and __mntns_get_root_fd() actions don't act on it.
v4: New
Signed-off-by: Kirill Tkhai <ktkhai at virtuozzo.com>
---
criu/mount.c | 3 ---
1 file changed, 3 deletions(-)
diff --git a/criu/mount.c b/criu/mount.c
index a6e6f180b..aac5c0033 100644
--- a/criu/mount.c
+++ b/criu/mount.c
@@ -3314,8 +3314,6 @@ int __mntns_get_root_fd(pid_t pid)
if (mntns_root_pid == pid) /* The required root is already opened */
return get_service_fd(ROOT_FD_OFF);
- close_service_fd(ROOT_FD_OFF);
-
if (!(root_ns_mask & CLONE_NEWNS)) {
/*
* If criu and tasks we dump live in the same mount
@@ -3354,7 +3352,6 @@ int __mntns_get_root_fd(pid_t pid)
}
fd = openat(pfd, "root", O_RDONLY | O_DIRECTORY, 0);
- close_pid_proc();
if (fd < 0) {
pr_perror("Can't open the task root");
return -1;
More information about the CRIU
mailing list