]> granicus.if.org Git - strace/blobdiff - pathtrace.c
Fix decoding and dumping of readv syscall in case of short read
[strace] / pathtrace.c
index 4ca031cb449d45087442f574c8837d43fa1b120a..e72cdf7170914ee56792ceda315cc000691e0bc5 100644 (file)
 
 #include "defs.h"
 #include <sys/param.h>
-#if defined HAVE_POLL_H
-# include <poll.h>
-#elif defined HAVE_SYS_POLL_H
-# include <sys/poll.h>
-#endif
+#include <poll.h>
 
 #include "syscall.h"
 
@@ -167,6 +163,7 @@ pathtrace_match(struct tcb *tcp)
        switch (s->sen) {
        case SEN_dup2:
        case SEN_dup3:
+       case SEN_kexec_file_load:
        case SEN_sendfile:
        case SEN_sendfile64:
        case SEN_tee:
@@ -181,6 +178,7 @@ pathtrace_match(struct tcb *tcp)
        case SEN_inotify_add_watch:
        case SEN_mkdirat:
        case SEN_mknodat:
+       case SEN_name_to_handle_at:
        case SEN_newfstatat:
        case SEN_openat:
        case SEN_pipe2:
@@ -218,6 +216,7 @@ pathtrace_match(struct tcb *tcp)
        case SEN_mmap:
        case SEN_mmap_4koff:
        case SEN_mmap_pgoff:
+       case SEN_ARCH_mmap:
                /* x, x, x, x, fd */
                return fdmatch(tcp, tcp->u_arg[4]);
 
@@ -318,11 +317,14 @@ pathtrace_match(struct tcb *tcp)
                return 0;
        }
 
+       case SEN_bpf:
        case SEN_epoll_create:
+       case SEN_epoll_create1:
        case SEN_eventfd2:
        case SEN_eventfd:
        case SEN_fanotify_init:
        case SEN_inotify_init1:
+       case SEN_memfd_create:
        case SEN_perf_event_open:
        case SEN_pipe:
        case SEN_printargs:
@@ -331,6 +333,7 @@ pathtrace_match(struct tcb *tcp)
        case SEN_timerfd_create:
        case SEN_timerfd_gettime:
        case SEN_timerfd_settime:
+       case SEN_userfaultfd:
                /*
                 * These have TRACE_FILE or TRACE_DESCRIPTOR or TRACE_NETWORK set,
                 * but they don't have any file descriptor or path args to test.