From: Dmitry V. Levin Date: Sun, 22 Nov 2015 19:28:17 +0000 (+0000) Subject: Implement lookup_dcookie syscall decoding X-Git-Tag: v4.11~122 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=60d752409019d5e2db990757d036244850196219;p=strace Implement lookup_dcookie syscall decoding * lookup_dcookie.c: New file. * Makefile.am (strace_SOURCES): Add it. * linux/dummy.h (sys_lookup_dcookie): Remove stub alias. --- diff --git a/Makefile.am b/Makefile.am index 92dbc10b..56f49421 100644 --- a/Makefile.am +++ b/Makefile.am @@ -87,6 +87,7 @@ strace_SOURCES = \ keyctl.c \ ldt.c \ link.c \ + lookup_dcookie.c \ loop.c \ lseek.c \ mem.c \ diff --git a/linux/dummy.h b/linux/dummy.h index 238d72c0..3914948a 100644 --- a/linux/dummy.h +++ b/linux/dummy.h @@ -32,7 +32,6 @@ #endif /* still unfinished */ -#define sys_lookup_dcookie printargs #define sys_name_to_handle_at printargs #define sys_open_by_handle_at printargs #define sys_sysfs printargs diff --git a/lookup_dcookie.c b/lookup_dcookie.c new file mode 100644 index 00000000..c6482b33 --- /dev/null +++ b/lookup_dcookie.c @@ -0,0 +1,22 @@ +#include "defs.h" + +SYS_FUNC(lookup_dcookie) +{ + if (entering(tcp)) + return 0; + + /* cookie */ + int argn = printllval(tcp, "%llu", 0); + tprints(", "); + + /* buffer */ + if (syserror(tcp)) + printaddr(tcp->u_arg[argn]); + else + printstr(tcp, tcp->u_arg[argn], tcp->u_rval); + + /* len */ + tprintf(", %lu", tcp->u_arg[argn + 1]); + + return 0; +}