[CRIU] [PATCH] ns: Move all CLONE_FOO into namespaces.h

Pavel Emelyanov xemul at virtuozzo.com
Wed Apr 27 04:29:38 PDT 2016


This removes double declaration of CLONE_NEWCGROUP. Also -- removes
re-declaration of the CLONE_ALLNS in pstree.c.

Tycho, the two CLONE_ALLNS-s we had differ from each other :) The one
in pstree.c doesn't have CLONE_NEWCGROUP. I believe this was just a
misprint :) tests seem to pass.

Signed-off-by: Pavel Emelyanov <xemul at virtuozzo.com>

---
 criu/include/namespaces.h    | 32 ++++++++++++++++++++++++++++++--
 criu/include/syscall-types.h | 32 --------------------------------
 criu/pstree.c                |  2 --
 3 files changed, 30 insertions(+), 36 deletions(-)

diff --git a/criu/include/namespaces.h b/criu/include/namespaces.h
index 5879b7a..e2b529c 100644
--- a/criu/include/namespaces.h
+++ b/criu/include/namespaces.h
@@ -5,14 +5,42 @@
 #include "files.h"
 #include "list.h"
 
-/* including syscall-types.h gives another weird error; do we really need to
- * define this twice? */
+#ifndef CLONE_NEWNS
+#define CLONE_NEWNS	0x00020000
+#endif
+
+#ifndef CLONE_NEWPID
+#define CLONE_NEWPID	0x20000000
+#endif
+
+#ifndef CLONE_NEWUTS
+#define CLONE_NEWUTS	0x04000000
+#endif
+
+#ifndef CLONE_NEWIPC
+#define CLONE_NEWIPC	0x08000000
+#endif
+
+#ifndef CLONE_NEWNET
+#define CLONE_NEWNET	0x40000000
+#endif
+
+#ifndef CLONE_NEWUSER
+#define CLONE_NEWUSER	0x10000000
+#endif
+
 #ifndef CLONE_NEWCGROUP
 #define CLONE_NEWCGROUP	0x02000000
 #endif
 
+#define CLONE_ALLNS	(CLONE_NEWPID | CLONE_NEWNET | CLONE_NEWIPC | CLONE_NEWUTS | CLONE_NEWNS | CLONE_NEWUSER | CLONE_NEWCGROUP)
+
 /* Nested namespaces are supported only for these types */
 #define CLONE_SUBNS	(CLONE_NEWNS)
+
+/* Special flag for additional --unshare feature */
+#define UNSHARE_MOUNT_PROC	0x1
+
 #define EXTRA_SIZE	20
 
 struct ns_desc {
diff --git a/criu/include/syscall-types.h b/criu/include/syscall-types.h
index c5fad75..49798fa 100644
--- a/criu/include/syscall-types.h
+++ b/criu/include/syscall-types.h
@@ -42,38 +42,6 @@ struct itimerspec;
 #define F_GETFD 1
 #endif
 
-#ifndef CLONE_NEWNS
-#define CLONE_NEWNS	0x00020000
-#endif
-
-#ifndef CLONE_NEWPID
-#define CLONE_NEWPID	0x20000000
-#endif
-
-#ifndef CLONE_NEWUTS
-#define CLONE_NEWUTS	0x04000000
-#endif
-
-#ifndef CLONE_NEWIPC
-#define CLONE_NEWIPC	0x08000000
-#endif
-
-#ifndef CLONE_NEWNET
-#define CLONE_NEWNET	0x40000000
-#endif
-
-#ifndef CLONE_NEWUSER
-#define CLONE_NEWUSER	0x10000000
-#endif
-
-#ifndef CLONE_NEWCGROUP
-#define CLONE_NEWCGROUP	0x02000000
-#endif
-
-#define CLONE_ALLNS	(CLONE_NEWPID | CLONE_NEWNET | CLONE_NEWIPC | CLONE_NEWUTS | CLONE_NEWNS | CLONE_NEWUSER | CLONE_NEWCGROUP)
-
-#define UNSHARE_MOUNT_PROC	0x1
-
 struct krlimit {
 	unsigned long rlim_cur;
 	unsigned long rlim_max;
diff --git a/criu/pstree.c b/criu/pstree.c
index b49c9a0..408ce2b 100644
--- a/criu/pstree.c
+++ b/criu/pstree.c
@@ -22,8 +22,6 @@
 struct pstree_item *root_item;
 static struct rb_root pid_root_rb;
 
-#define CLONE_ALLNS     (CLONE_NEWPID | CLONE_NEWNET | CLONE_NEWIPC | CLONE_NEWUTS | CLONE_NEWNS | CLONE_NEWUSER)
-
 void core_entry_free(CoreEntry *core)
 {
 	if (core->tc && core->tc->timers)
-- 
2.1.4


More information about the CRIU mailing list