diff --git a/Makefile.am b/Makefile.am index 664475e7..e4b78521 100644 --- a/Makefile.am +++ b/Makefile.am @@ -23,6 +23,7 @@ strace_SOURCES = \ cacheflush.c \ capability.c \ chmod.c \ + chown.c \ count.c \ desc.c \ dirent.c \ diff --git a/chown.c b/chown.c new file mode 100644 index 00000000..6914a48b --- /dev/null +++ b/chown.c @@ -0,0 +1,37 @@ +#include "defs.h" + +int +sys_chown(struct tcb *tcp) +{ + if (entering(tcp)) { + printpath(tcp, tcp->u_arg[0]); + printuid(", ", tcp->u_arg[1]); + printuid(", ", tcp->u_arg[2]); + } + return 0; +} + +int +sys_fchownat(struct tcb *tcp) +{ + if (entering(tcp)) { + print_dirfd(tcp, tcp->u_arg[0]); + printpath(tcp, tcp->u_arg[1]); + printuid(", ", tcp->u_arg[2]); + printuid(", ", tcp->u_arg[3]); + tprints(", "); + printflags(at_flags, tcp->u_arg[4], "AT_???"); + } + return 0; +} + +int +sys_fchown(struct tcb *tcp) +{ + if (entering(tcp)) { + printfd(tcp, tcp->u_arg[0]); + printuid(", ", tcp->u_arg[1]); + printuid(", ", tcp->u_arg[2]); + } + return 0; +} diff --git a/file.c b/file.c index dabd7298..e66fdfc0 100644 --- a/file.c +++ b/file.c @@ -1388,39 +1388,3 @@ sys_renameat2(struct tcb *tcp) } return 0; } - -int -sys_chown(struct tcb *tcp) -{ - if (entering(tcp)) { - printpath(tcp, tcp->u_arg[0]); - printuid(", ", tcp->u_arg[1]); - printuid(", ", tcp->u_arg[2]); - } - return 0; -} - -int -sys_fchownat(struct tcb *tcp) -{ - if (entering(tcp)) { - print_dirfd(tcp, tcp->u_arg[0]); - printpath(tcp, tcp->u_arg[1]); - printuid(", ", tcp->u_arg[2]); - printuid(", ", tcp->u_arg[3]); - tprints(", "); - printflags(at_flags, tcp->u_arg[4], "AT_???"); - } - return 0; -} - -int -sys_fchown(struct tcb *tcp) -{ - if (entering(tcp)) { - printfd(tcp, tcp->u_arg[0]); - printuid(", ", tcp->u_arg[1]); - printuid(", ", tcp->u_arg[2]); - } - return 0; -}