Enhance setns syscall decoding
* process.c (sys_setns): New function.
Decode the 2nd syscall argument using clone_flags.
* linux/syscall.h (sys_setns): New prototype.
* linux/dummy.h (sys_setns): Remove.
Signed-off-by: Masatake YAMATO <yamato@redhat.com>
Signed-off-by: Dmitry V. Levin <ldv@altlinux.org>
diff --git a/linux/dummy.h b/linux/dummy.h
index 2371673..4f3e920 100644
--- a/linux/dummy.h
+++ b/linux/dummy.h
@@ -79,7 +79,6 @@
#define sys_set_robust_list sys_munmap
#define sys_setfsgid sys_setfsuid
#define sys_setgid sys_setuid
-#define sys_setns sys_inotify_rm_watch
#define sys_setregid sys_setreuid
#define sys_setresgid sys_setresuid
#define sys_swapoff sys_chdir
diff --git a/linux/syscall.h b/linux/syscall.h
index cfa9086..1943297 100644
--- a/linux/syscall.h
+++ b/linux/syscall.h
@@ -241,6 +241,7 @@
int sys_setgroups32();
int sys_sethostname();
int sys_setitimer();
+int sys_setns();
int sys_setpriority();
int sys_setresuid();
int sys_setreuid();
diff --git a/process.c b/process.c
index 1325319..4347a87 100644
--- a/process.c
+++ b/process.c
@@ -585,6 +585,17 @@
}
int
+sys_setns(struct tcb *tcp)
+{
+ if (entering(tcp)) {
+ printfd(tcp, tcp->u_arg[0]);
+ tprints(", ");
+ printflags(clone_flags, tcp->u_arg[1], "CLONE_???");
+ }
+ return 0;
+}
+
+int
sys_unshare(struct tcb *tcp)
{
if (entering(tcp))