]> granicus.if.org Git - strace/commitdiff
clone: use separate flag list for unshare
authorEugene Syromyatnikov <evgsyr@gmail.com>
Wed, 19 Oct 2016 18:09:58 +0000 (21:09 +0300)
committerEugene Syromyatnikov <evgsyr@gmail.com>
Fri, 28 Oct 2016 23:54:01 +0000 (02:54 +0300)
Not all clone flags could be passed to unshare (see check_unshare_flags
function in kernel/fork.c).

* xlat/unshare_flags.in: New file.
* clone.c (SYS_FUNC(unshare)): Use unshare_flags for printing flags
parameter.

clone.c
xlat/unshare_flags.in [new file with mode: 0644]

diff --git a/clone.c b/clone.c
index 0dd4fc95c07311c7db82e30f02901b5287870199..c2832c1944f487edff4510a55c4cea4114a5728c 100644 (file)
--- a/clone.c
+++ b/clone.c
@@ -39,6 +39,7 @@
 
 #include "xlat/clone_flags.h"
 #include "xlat/setns_types.h"
+#include "xlat/unshare_flags.h"
 
 #if defined IA64
 # define ARG_FLAGS     0
@@ -152,7 +153,7 @@ SYS_FUNC(setns)
 
 SYS_FUNC(unshare)
 {
-       printflags_long(clone_flags, tcp->u_arg[0], "CLONE_???");
+       printflags_long(unshare_flags, tcp->u_arg[0], "CLONE_???");
        return RVAL_DECODED;
 }
 
diff --git a/xlat/unshare_flags.in b/xlat/unshare_flags.in
new file mode 100644 (file)
index 0000000..4b289a7
--- /dev/null
@@ -0,0 +1,13 @@
+CLONE_THREAD
+CLONE_FS
+CLONE_NEWNS
+CLONE_SIGHAND
+CLONE_VM
+CLONE_FILES
+CLONE_SYSVSEM
+CLONE_NEWUTS
+CLONE_NEWIPC
+CLONE_NEWNET
+CLONE_NEWUSER
+CLONE_NEWPID
+CLONE_NEWCGROUP