From 6355a1f8677857f613a8b3bbd209506d1634c73f Mon Sep 17 00:00:00 2001 From: "Dmitry V. Levin" Date: Mon, 1 Dec 2014 18:24:55 +0000 Subject: [PATCH] Alias sys_mkdir and sys_mkdirat to sys_chmod and sys_fchmodat Special parsers for mkdir and mkdirat are redundant because sys_chmod and sys_fchmodat implement the same decoding. * file.c (decode_mkdir, sys_mkdir, sys_mkdirat): Remove. * linux/dummy.h (sys_mkdir): Alias to sys_chmod. (sys_mkdirat): Alias to sys_fchmodat. * linux/syscall.h (sys_mkdir, sys_mkdirat): Remove. * pathtrace.c (pathtrace_match): Do not check for sys_mkdirat. --- file.c | 24 ------------------------ linux/dummy.h | 2 ++ linux/syscall.h | 2 -- pathtrace.c | 1 - 4 files changed, 2 insertions(+), 27 deletions(-) diff --git a/file.c b/file.c index 522b541f..e4dd33b6 100644 --- a/file.c +++ b/file.c @@ -1347,30 +1347,6 @@ sys_chdir(struct tcb *tcp) return 0; } -static int -decode_mkdir(struct tcb *tcp, int offset) -{ - if (entering(tcp)) { - printpath(tcp, tcp->u_arg[offset]); - tprintf(", %#lo", tcp->u_arg[offset + 1]); - } - return 0; -} - -int -sys_mkdir(struct tcb *tcp) -{ - return decode_mkdir(tcp, 0); -} - -int -sys_mkdirat(struct tcb *tcp) -{ - if (entering(tcp)) - print_dirfd(tcp, tcp->u_arg[0]); - return decode_mkdir(tcp, 1); -} - int sys_link(struct tcb *tcp) { diff --git a/linux/dummy.h b/linux/dummy.h index 31be7b74..7a8b17ca 100644 --- a/linux/dummy.h +++ b/linux/dummy.h @@ -68,6 +68,8 @@ #define sys_getresgid sys_getresuid #define sys_lstat sys_stat #define sys_lstat64 sys_stat64 +#define sys_mkdir sys_chmod +#define sys_mkdirat sys_fchmodat #define sys_mlock sys_munmap #define sys_mq_unlink sys_chdir #define sys_munlock sys_munmap diff --git a/linux/syscall.h b/linux/syscall.h index 0e695989..47c7a508 100644 --- a/linux/syscall.h +++ b/linux/syscall.h @@ -140,8 +140,6 @@ int sys_madvise(); int sys_mbind(); int sys_migrate_pages(); int sys_mincore(); -int sys_mkdir(); -int sys_mkdirat(); int sys_mknod(); int sys_mknodat(); int sys_mlockall(); diff --git a/pathtrace.c b/pathtrace.c index ccfb3c27..28fc7c9a 100644 --- a/pathtrace.c +++ b/pathtrace.c @@ -181,7 +181,6 @@ pathtrace_match(struct tcb *tcp) s->sys_func == sys_faccessat || s->sys_func == sys_fchmodat || s->sys_func == sys_futimesat || - s->sys_func == sys_mkdirat || s->sys_func == sys_unlinkat || s->sys_func == sys_newfstatat || s->sys_func == sys_mknodat || -- 2.40.0