[CRIU] [PATCH] unshare: Define UNSHARE_MOUNT_PROC constant

Pavel Emelyanov xemul at virtuozzo.com
Wed Mar 16 05:24:36 PDT 2016


Signed-off-by: Pavel Emelyanov <xemul at virtuozzo.com>
---
 criu/crtools.c               | 6 +++---
 criu/include/syscall-types.h | 2 ++
 criu/mount.c                 | 3 ++-
 3 files changed, 7 insertions(+), 4 deletions(-)

diff --git a/criu/crtools.c b/criu/crtools.c
index 800fa6d..5e51adb 100644
--- a/criu/crtools.c
+++ b/criu/crtools.c
@@ -43,7 +43,7 @@
 #include "fault-injection.h"
 #include "lsm.h"
 #include "proc_parse.h"
-
+#include "syscall-types.h"
 #include "setproctitle.h"
 
 struct cr_options opts;
@@ -121,7 +121,7 @@ static int parse_unshare_arg(char *opt)
 		else if (!strcmp(opt, "user"))
 			opts.unshare_flags |= CLONE_NEWUSER;
 		else if (!strcmp(opt, "proc"))
-			opts.unshare_flags |= 0x1; /* mount new proc */
+			opts.unshare_flags |= UNSHARE_MOUNT_PROC; /* mount new proc */
 		else {
 			pr_msg("Error: unknown unshare flag %s\n", opt);
 			return -1;
@@ -134,7 +134,7 @@ static int parse_unshare_arg(char *opt)
 	}
 
 	/* Only pid, mnt and user for now */
-	if (opts.unshare_flags & ~(CLONE_NEWNS | CLONE_NEWPID | 0x1)) {
+	if (opts.unshare_flags & ~(CLONE_NEWNS | CLONE_NEWPID | UNSHARE_MOUNT_PROC)) {
 		pr_err("Unsharing this namespace(s) is not supported yet\n");
 		return -1;
 	}
diff --git a/criu/include/syscall-types.h b/criu/include/syscall-types.h
index fdfed9a..ef472a8 100644
--- a/criu/include/syscall-types.h
+++ b/criu/include/syscall-types.h
@@ -71,6 +71,8 @@ struct itimerspec;
 
 #define CLONE_ALLNS	(CLONE_NEWPID | CLONE_NEWNET | CLONE_NEWIPC | CLONE_NEWUTS | CLONE_NEWNS | CLONE_NEWUSER | CLONE_NEWCGROUP)
 
+#define UNSHARE_MOUNT_PROC	0x1
+
 struct rlimit;
 struct rlimit64;
 
diff --git a/criu/mount.c b/criu/mount.c
index be905f4..9757799 100644
--- a/criu/mount.c
+++ b/criu/mount.c
@@ -28,6 +28,7 @@
 #include "kerndat.h"
 #include "fs-magic.h"
 #include "sysfs_parse.h"
+#include "syscall-types.h"
 
 #include "images/mnt.pb-c.h"
 #include "images/binfmt-misc.pb-c.h"
@@ -3194,7 +3195,7 @@ int prepare_mnt_ns(void)
 			return -1;
 		}
 
-		if (opts.unshare_flags & 0x1) {
+		if (opts.unshare_flags & UNSHARE_MOUNT_PROC) {
 			mount(NULL, "/proc", NULL, MS_PRIVATE, NULL);
 			if (mount("proc", "/proc", "proc",
 						MS_MGC_VAL | MS_NOSUID | MS_NOEXEC | MS_NODEV,
-- 
2.5.0


More information about the CRIU mailing list