diff --git a/tracefile/tracefile b/tracefile/tracefile index 1366b80..e79c9d1 100755 --- a/tracefile/tracefile +++ b/tracefile/tracefile @@ -247,7 +247,7 @@ B(1) use Getopt::Long; sub version(); $Global::progname = "tracefile"; -$Global::version = 20201211; +$Global::version = 20220701; Getopt::Long::Configure("bundling","require_order"); get_options_from_array(\@ARGV) || die_usage(); @@ -285,12 +285,14 @@ while() { my $addinfo = $4; if($function eq "openat" or - $function eq "faccessat") { + $function eq "faccessat" + or + $function eq "faccessat2") { # openat(AT_FDCWD, "/sys/devices/system/cpu", O_RDONLY|O_CLOEXEC) = 4 # openat(4, "kernel_max", O_RDONLY|O_CLOEXEC) = 5 # faccessat(4, "cpu0/cache/index4", F_OK) = -1 ENOENT # openat can open a file descriptor - # openat/faccessat can open relative to a file descriptor + # openat/faccessat(2) can open relative to a file descriptor if($addinfo =~ /= (-?\d+)(\s[^=]*)?$/) { my $fd = $1; if($first_arg eq "AT_FDCWD") { @@ -358,22 +360,24 @@ while() { # rw = read+write # n = neither (false match) # ? = TODO figure out what they do - %funcs = - qw(access r acct ? chdir r chmod w chown w chown16 w - chroot r creat w execv r execve r execveat r faccessat - r fanotify_mark ? fchmodat w fchownat w fstat r fstat64 - r fstatat64 r fstatfs r fstatfs64 r futimesat r getcwd - r getxattr r inotify_add_watch r link w linkat w - listxattr r lstat r lstat64 r mkdir w mkdirat w mknod w - mknodat w mount r name_to_handle_at ? newfstatat r - oldfstat r oldlstat r oldstat r open rw openat rw - osf_fstatfs r osf_statfs r osf_utimes r perror n pivotroot r - printargs ? printf n quotactl ? readlink r readlinkat r - removexattr w rename w renameat w renameat2 w rmdir w - setxattr w stat r stat64 r statfs r statfs64 r statx r - swapoff w swapon w symlink w symlinkat w truncate w - truncate64 w umount r umount2 r unlink w unlinkat w - uselib r utime w utimensat w utimes w); + + %funcs = qw(access r acct ? chdir r chmod w chown w chown16 w + chroot r creat w execv r execve r execveat r + faccessat r faccessat2 r fanotify_mark ? fchmodat + w fchownat w fstat r fstat64 r fstatat64 r fstatfs + r fstatfs64 r futimesat r getcwd r getxattr r + inotify_add_watch r link w linkat w listxattr r + lstat r lstat64 r mkdir w mkdirat w mknod w + mknodat w mount r name_to_handle_at ? newfstatat + r oldfstat r oldlstat r oldstat r open rw openat + rw osf_fstatfs r osf_statfs r osf_utimes r perror + n pivotroot r printargs ? printf n quotactl ? + readlink r readlinkat r removexattr w rename w + renameat w renameat2 w rmdir w setxattr w stat r + stat64 r statfs r statfs64 r statx r swapoff w + swapon w symlink w symlinkat w truncate w + truncate64 w umount r umount2 r unlink w unlinkat + w uselib r utime w utimensat w utimes w); } sub readfunc {