From: Masatake YAMATO Date: Tue, 13 May 2014 16:46:04 +0000 (+0900) Subject: Enhance setns syscall decoding X-Git-Tag: v4.9~80 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=b2ede14797b729659b0397431b28f34e57b5c4e7;p=strace 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 Signed-off-by: Dmitry V. Levin --- diff --git a/linux/dummy.h b/linux/dummy.h index 23716737..4f3e9202 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 cfa9086d..19432976 100644 --- a/linux/syscall.h +++ b/linux/syscall.h @@ -241,6 +241,7 @@ int sys_setgroups(); 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 13253191..4347a872 100644 --- a/process.c +++ b/process.c @@ -584,6 +584,17 @@ sys_clone(struct tcb *tcp) return 0; } +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) {