On Thu, Mar 16, 2017 at 10:07:27PM +0530, Abhishek Tiwari wrote: > From 38ea98c7ba87bc485d8af34fc401f46b05b2c035 Mon Sep 17 00:00:00 2001 > From: Abhishek Tiwari <erabhishektiwar...@gmail.com> > Date: Thu, 16 Mar 2017 16:55:44 +0530 > Subject: [PATCH v4] Implement -e trace=%statfs option for tracing statfs like > syscalls. > > linux/*/syscallent.h part is modified automatically by: > > git grep -Fl 'statfs' linux/*/syscallent* | xargs sed -i > 's/TD\(,[[:space:]]*SEN(statfs\)/TD|SFS\1/' > git grep -Fl 'statfs' linux/*/syscallent* | xargs sed -i > 's/TF\(,[[:space:]]*SEN(statfs\)/TF|SFS\1/' > git grep -Fl 'statfs' linux/*/syscallent* | xargs sed -i > 's/0\(,[[:space:]]*SEN(osf_statfs\)/SFS\1/' > git grep -Fl 'statfs' linux/*/syscallent* | xargs sed -i > 's/0\(,[[:space:]]*SEN(.*_statfs\)/SFS\1/' > git grep -Fl 'ustat' linux/*/syscallent* | xargs sed -i > 's/0\(,[[:space:]]*SEN(.*_ustat\)/SFS\1/' > > * linux/32/syscallent.h: Add SFS flag for stat-like sycalls. "T" in these shorthand flags is for "trace", maybe it is a good idea to follow this convention. On the other side, if blindly follow this rule, size of shorthand would be gargantuan 4 chars.
Also, from my point of view, it's quite strange to include ustat and do not include fstatfs, since, well, they are equivalently similar to statfs. > * linux/64/syscallent.h: Likewise. > * linux/aarch64/syscallent.h: Likewise. > * linux/alpha/syscallent.h: Likewise. > * linux/arm/syscallent.h: Likewise. > * linux/avr32/syscallent.h: Likewise. > * linux/bfin/syscallent.h: Likewise. > * linux/crisv10/syscallent.h: Likewise. > * linux/hppa/syscallent.h: Likewise. > * linux/i386/syscallent.h: Likewise. > * linux/ia64/syscallent.h: Likewise. > * linux/m68k/syscallent.h: Likewise. > * linux/microblaze/syscallent.h: Likewise. > * linux/mips/syscallent-compat.h: Likewise. > * linux/mips/syscallent-n32.h: Likewise. > * linux/mips/syscallent-n64.h: Likewise. > * linux/mips/syscallent-o32.h: Likewise. > * linux/powerpc/syscallent.h: Likewise. > * linux/powerpc64/syscallent.h: Likewise. > * linux/s390/syscallent.h: Likewise. > * linux/s390x/syscallent.h: Likewise. > * linux/sh/syscallent.h: Likewise. > * linux/sh64/syscallent.h: Likewise. > * linux/sparc/syscallent.h: Likewise. > * linux/sparc64/syscallent.h: Likewise. > * linux/x32/syscallent.h: Likewise. > * linux/x86_64/syscallent.h: Likewise. > * linux/xtensa/syscallent.h: Likewise. > * qualify.c (lookup_class): Add SCHED_STAT for "%statfs". > * strace.1 (.SS Filtering): Add information about %statfs syscall class. > * syscall.c: Alias SFS to TRACE_STATFS around syscallent.h inclusion. > * sysent.h (TRACE_STATFS): New definition. > * tests/Makefile.am (DECODER_TESTS): Add trace_statfs.test. > * tests/ksysent.c: Define SFS to 0. > * tests/nsyscalls.c: Likewise. > * tests/trace_statfs.test: New test. > --- > linux/32/syscallent.h | 2 +- > linux/64/syscallent.h | 2 +- > linux/aarch64/syscallent.h | 4 +-- > linux/alpha/syscallent.h | 8 +++--- > linux/arm/syscallent.h | 6 ++--- > linux/avr32/syscallent.h | 6 ++--- > linux/bfin/syscallent.h | 6 ++--- > linux/crisv10/syscallent.h | 6 ++--- > linux/hppa/syscallent.h | 6 ++--- > linux/i386/syscallent.h | 6 ++--- > linux/ia64/syscallent.h | 6 ++--- > linux/m68k/syscallent.h | 6 ++--- > linux/microblaze/syscallent.h | 6 ++--- > linux/mips/syscallent-compat.h | 8 +++--- > linux/mips/syscallent-n32.h | 6 ++--- > linux/mips/syscallent-n64.h | 4 +-- > linux/mips/syscallent-o32.h | 6 ++--- > linux/powerpc/syscallent.h | 6 ++--- > linux/powerpc64/syscallent.h | 6 ++--- > linux/s390/syscallent.h | 6 ++--- > linux/s390x/syscallent.h | 6 ++--- > linux/sh/syscallent.h | 6 ++--- > linux/sh64/syscallent.h | 6 ++--- > linux/sparc/syscallent.h | 6 ++--- > linux/sparc64/syscallent.h | 6 ++--- > linux/x32/syscallent.h | 4 +-- > linux/x86_64/syscallent.h | 4 +-- > linux/xtensa/syscallent.h | 6 ++--- > qualify.c | 1 + > strace.1 | 3 +++ > syscall.c | 2 ++ > sysent.h | 1 + > tests/Makefile.am | 1 + > tests/ksysent.c | 1 + > tests/nsyscalls.c | 1 + > tests/trace_statfs.test | 55 > ++++++++++++++++++++++++++++++++++++++++++ > 36 files changed, 143 insertions(+), 78 deletions(-) > create mode 100755 tests/trace_statfs.test > > diff --git a/linux/32/syscallent.h b/linux/32/syscallent.h > index a8f9510..72a3ebe 100644 > --- a/linux/32/syscallent.h > +++ b/linux/32/syscallent.h > @@ -44,7 +44,7 @@ > [ 40] = { 5, TF, SEN(mount), "mount" > }, > [ 41] = { 2, TF, SEN(pivotroot), "pivot_root" > }, > [ 42] = { 3, 0, SEN(nfsservctl), "nfsservctl" > }, > -[ 43] = { 3, TF, SEN(statfs64), "statfs64" > }, > +[ 43] = { 3, TF|SFS, SEN(statfs64), "statfs64" > }, Spacing is ruined. > [ 44] = { 3, TD, SEN(fstatfs64), "fstatfs64" > }, > [ 45] = { 3, TF, SEN(truncate64), "truncate64" > }, > [ 46] = { 3, TD, SEN(ftruncate64), "ftruncate64" > }, > diff --git a/linux/64/syscallent.h b/linux/64/syscallent.h > index b5a09d4..413b91a 100644 > --- a/linux/64/syscallent.h > +++ b/linux/64/syscallent.h > @@ -41,7 +41,7 @@ > [ 40] = { 5, TF, SEN(mount), "mount" > }, > [ 41] = { 2, TF, SEN(pivotroot), "pivot_root" > }, > [ 42] = { 3, 0, SEN(nfsservctl), "nfsservctl" > }, > -[ 43] = { 2, TF, SEN(statfs), "statfs" > }, > +[ 43] = { 2, TF|SFS, SEN(statfs), "statfs" > }, > [ 44] = { 2, TD, SEN(fstatfs), "fstatfs" > }, > [ 45] = { 2, TF, SEN(truncate), "truncate" > }, > [ 46] = { 2, TD, SEN(ftruncate), "ftruncate" > }, > diff --git a/linux/aarch64/syscallent.h b/linux/aarch64/syscallent.h > index 6b23f8c..4bd981e 100644 > --- a/linux/aarch64/syscallent.h > +++ b/linux/aarch64/syscallent.h > @@ -45,7 +45,7 @@ > [1053] = { 4, TD, SEN(fadvise64), "fadvise64" > }, > [1054] = { 4, TD|TF, SEN(newfstatat), "newfstatat" > }, > [1055] = { 2, TD, SEN(fstatfs), "fstatfs" > }, > -[1056] = { 2, TF, SEN(statfs), "statfs" > }, > +[1056] = { 2, TF|SFS, SEN(statfs), "statfs" }, > [1057] = { 3, TD, SEN(lseek), "lseek" > }, > [1058] = { 6, TD|TM|SI, SEN(mmap), "mmap" > }, > [1059] = { 1, 0, SEN(alarm), "alarm" > }, > @@ -59,7 +59,7 @@ > [1067] = { 5, TD, SEN(select), "select" > }, > [1068] = { 3, TD, SEN(poll), "poll" > }, > [1069] = { 4, TD, SEN(epoll_wait), "epoll_wait" > }, > -[1070] = { 2, 0, SEN(ustat), "ustat" > }, > +[1070] = { 2, SFS, SEN(ustat), "ustat" }, > [1071] = { 0, TP, SEN(vfork), "vfork" > }, > [1072] = { 4, TP, SEN(wait4), "wait4" > }, > [1073] = { 4, TN, SEN(recv), "recv" > }, > diff --git a/linux/alpha/syscallent.h b/linux/alpha/syscallent.h > index 4449f22..7c1bc71 100644 > --- a/linux/alpha/syscallent.h > +++ b/linux/alpha/syscallent.h > @@ -185,7 +185,7 @@ > [157] = { 5, 0, SEN(printargs), > "osf_sigwaitprim" }, /*not implemented */ > [158] = { 5, 0, SEN(printargs), "osf_nfssvc" > }, /*not implemented */ > [159] = { 4, 0, SEN(printargs), > "osf_getdirentries" }, > -[160] = { 3, 0, SEN(osf_statfs), "osf_statfs" > }, > +[160] = { 3, SFS, SEN(osf_statfs), "osf_statfs" > }, > [161] = { 3, 0, SEN(osf_fstatfs), "osf_fstatfs" > }, > [162] = { }, > [163] = { 5, 0, SEN(printargs), > "osf_asynch_daemon" }, /*not implemented */ > @@ -230,7 +230,7 @@ > [224] = { 5, 0, SEN(printargs), "osf_stat" > }, /*not implemented */ > [225] = { 5, 0, SEN(printargs), "osf_lstat" > }, /*not implemented */ > [226] = { 5, 0, SEN(printargs), "osf_fstat" > }, /*not implemented */ > -[227] = { 3, 0, SEN(osf_statfs), "osf_statfs64" > }, /*not implemented */ > +[227] = { 3, SFS, SEN(osf_statfs), "osf_statfs64" > }, /*not implemented */ > [228] = { 3, 0, SEN(osf_fstatfs), "osf_fstatfs64" > }, /*not implemented */ > [229 ... 232] = { }, > [233] = { 1, 0, SEN(getpgid), "getpgid" > }, > @@ -290,8 +290,8 @@ > [324] = { 1, NF, SEN(personality), "personality" > }, > [325] = { 1, NF, SEN(setfsuid), "setfsuid" > }, > [326] = { 1, NF, SEN(setfsgid), "setfsgid" > }, > -[327] = { 2, 0, SEN(ustat), "ustat" > }, > -[328] = { 2, TF, SEN(statfs), "statfs" > }, > +[327] = { 2, SFS, SEN(ustat), "ustat" > }, > +[328] = { 2, TF|SFS, SEN(statfs), "statfs" > }, > [329] = { 2, TD, SEN(fstatfs), "fstatfs" > }, > [330] = { 2, TSC, SEN(sched_setparam), > "sched_setparam" }, > [331] = { 2, TSC, SEN(sched_getparam), > "sched_getparam" }, > diff --git a/linux/arm/syscallent.h b/linux/arm/syscallent.h > index ed9ec9a..006bb55 100644 > --- a/linux/arm/syscallent.h > +++ b/linux/arm/syscallent.h > @@ -88,7 +88,7 @@ > [ 59] = { 1, 0, SEN(oldolduname), "oldolduname" > }, > [ 60] = { 1, NF, SEN(umask), "umask" > }, > [ 61] = { 1, TF, SEN(chroot), "chroot" > }, > -[ 62] = { 2, 0, SEN(ustat), "ustat" > }, > +[ 62] = { 2, SFS, SEN(ustat), "ustat" > }, > [ 63] = { 2, TD, SEN(dup2), "dup2" > }, > [ 64] = { 0, NF, SEN(getppid), "getppid" > }, > [ 65] = { 0, 0, SEN(getpgrp), "getpgrp" > }, > @@ -125,7 +125,7 @@ > [ 96] = { 2, 0, SEN(getpriority), "getpriority" > }, > [ 97] = { 3, 0, SEN(setpriority), "setpriority" > }, > [ 98] = { 4, 0, SEN(profil), "profil" > }, > -[ 99] = { 2, TF, SEN(statfs), "statfs" > }, > +[ 99] = { 2, TF|SFS, SEN(statfs), "statfs" > }, > [100] = { 2, TD, SEN(fstatfs), "fstatfs" > }, > [101] = { 3, 0, SEN(ioperm), "ioperm" > }, > [102] = { 2, TD, SEN(socketcall), "socketcall" > }, > @@ -290,7 +290,7 @@ > [263] = { 2, 0, SEN(clock_gettime), "clock_gettime" > }, > [264] = { 2, 0, SEN(clock_getres), "clock_getres" > }, > [265] = { 4, 0, SEN(clock_nanosleep), > "clock_nanosleep" }, > -[266] = { 3, TF, SEN(statfs64), "statfs64" > }, > +[266] = { 3, TF|SFS, SEN(statfs64), "statfs64" > }, > [267] = { 3, TD, SEN(fstatfs64), "fstatfs64" > }, > [268] = { 3, TS, SEN(tgkill), "tgkill" > }, > [269] = { 2, TF, SEN(utimes), "utimes" > }, > diff --git a/linux/avr32/syscallent.h b/linux/avr32/syscallent.h > index 7f50934..3aac256 100644 > --- a/linux/avr32/syscallent.h > +++ b/linux/avr32/syscallent.h > @@ -87,7 +87,7 @@ > [ 59] = { 3, 0, SEN(getresuid), "getresuid" > }, > [ 60] = { 2, 0, SEN(setreuid), "setreuid" > }, > [ 61] = { 2, 0, SEN(setregid), "setregid" > }, > -[ 62] = { 2, 0, SEN(ustat), "ustat" > }, > +[ 62] = { 2, SFS, SEN(ustat), "ustat" > }, > [ 63] = { 2, TD, SEN(dup2), "dup2" > }, > [ 64] = { 0, NF, SEN(getppid), "getppid" > }, > [ 65] = { 0, 0, SEN(getpgrp), "getpgrp" > }, > @@ -124,7 +124,7 @@ > [ 96] = { 2, 0, SEN(getpriority), "getpriority" > }, > [ 97] = { 3, 0, SEN(setpriority), "setpriority" > }, > [ 98] = { 4, TP, SEN(wait4), "wait4" > }, > -[ 99] = { 2, TF, SEN(statfs), "statfs" > }, > +[ 99] = { 2, TF|SFS, SEN(statfs), "statfs" > }, > [100] = { 2, TD, SEN(fstatfs), "fstatfs" > }, > [101] = { 0, 0, SEN(vhangup), "vhangup" > }, > [102] = { 2, TS, SEN(sigaltstack), "sigaltstack" > }, > @@ -244,7 +244,7 @@ > [216] = { 2, 0, SEN(clock_gettime), "clock_gettime" > }, > [217] = { 2, 0, SEN(clock_getres), "clock_getres" > }, > [218] = { 4, 0, SEN(clock_nanosleep), > "clock_nanosleep" }, > -[219] = { 3, TF, SEN(statfs64), "statfs64" > }, > +[219] = { 3, TF|SFS, SEN(statfs64), "statfs64" > }, > [220] = { 3, TD, SEN(fstatfs64), "fstatfs64" > }, > [221] = { 3, TS, SEN(tgkill), "tgkill" > }, > [222] = { }, > diff --git a/linux/bfin/syscallent.h b/linux/bfin/syscallent.h > index 800b943..80b8951 100644 > --- a/linux/bfin/syscallent.h > +++ b/linux/bfin/syscallent.h > @@ -88,7 +88,7 @@ > [ 59] = { 1, 0, SEN(oldolduname), "oldolduname" > }, > [ 60] = { 1, NF, SEN(umask), "umask" > }, > [ 61] = { 1, TF, SEN(chroot), "chroot" > }, > -[ 62] = { 2, 0, SEN(ustat), "ustat" > }, > +[ 62] = { 2, SFS, SEN(ustat), "ustat" > }, > [ 63] = { 2, TD, SEN(dup2), "dup2" > }, > [ 64] = { 0, NF, SEN(getppid), "getppid" > }, > [ 65] = { 0, 0, SEN(getpgrp), "getpgrp" > }, > @@ -125,7 +125,7 @@ > [ 96] = { 2, 0, SEN(getpriority), "getpriority" > }, > [ 97] = { 3, 0, SEN(setpriority), "setpriority" > }, > [ 98] = { 4, 0, SEN(profil), "profil" > }, > -[ 99] = { 2, TF, SEN(statfs), "statfs" > }, > +[ 99] = { 2, TF|SFS, SEN(statfs), "statfs" > }, > [100] = { 2, TD, SEN(fstatfs), "fstatfs" > }, > [101] = { 3, 0, SEN(ioperm), "ioperm" > }, > [102] = { 2, TD, SEN(socketcall), "socketcall" > }, > @@ -294,7 +294,7 @@ > [266] = { 2, 0, SEN(clock_gettime), "clock_gettime" > }, > [267] = { 2, 0, SEN(clock_getres), "clock_getres" > }, > [268] = { 4, 0, SEN(clock_nanosleep), > "clock_nanosleep" }, > -[269] = { 3, TF, SEN(statfs64), "statfs64" > }, > +[269] = { 3, TF|SFS, SEN(statfs64), "statfs64" > }, > [270] = { 3, TD, SEN(fstatfs64), "fstatfs64" > }, > [271] = { 3, TS, SEN(tgkill), "tgkill" > }, > [272] = { 2, TF, SEN(utimes), "utimes" > }, > diff --git a/linux/crisv10/syscallent.h b/linux/crisv10/syscallent.h > index 96fb6bd..acf3917 100644 > --- a/linux/crisv10/syscallent.h > +++ b/linux/crisv10/syscallent.h > @@ -60,7 +60,7 @@ > [ 59] = { 1, 0, SEN(oldolduname), "oldolduname" > }, > [ 60] = { 1, NF, SEN(umask), "umask" > }, > [ 61] = { 1, TF, SEN(chroot), "chroot" > }, > -[ 62] = { 2, 0, SEN(ustat), "ustat" > }, > +[ 62] = { 2, SFS, SEN(ustat), "ustat" > }, > [ 63] = { 2, TD, SEN(dup2), "dup2" > }, > [ 64] = { 0, NF, SEN(getppid), "getppid" > }, > [ 65] = { 0, 0, SEN(getpgrp), "getpgrp" > }, > @@ -97,7 +97,7 @@ > [ 96] = { 2, 0, SEN(getpriority), "getpriority" > }, > [ 97] = { 3, 0, SEN(setpriority), "setpriority" > }, > [ 98] = { 4, 0, SEN(profil), "profil" > }, > -[ 99] = { 2, TF, SEN(statfs), "statfs" > }, > +[ 99] = { 2, TF|SFS, SEN(statfs), "statfs" > }, > [100] = { 2, TD, SEN(fstatfs), "fstatfs" > }, > [101] = { 3, 0, SEN(ioperm), "ioperm" > }, > [102] = { 2, TD, SEN(socketcall), "socketcall" > }, > @@ -262,7 +262,7 @@ > [265] = { 2, 0, SEN(clock_gettime), "clock_gettime" > }, > [266] = { 2, 0, SEN(clock_getres), "clock_getres" > }, > [267] = { 4, 0, SEN(clock_nanosleep), > "clock_nanosleep" }, > -[268] = { 3, TF, SEN(statfs64), "statfs64" > }, > +[268] = { 3, TF|SFS, SEN(statfs64), "statfs64" > }, > [269] = { 3, TD, SEN(fstatfs64), "fstatfs64" > }, > [270] = { 3, TS, SEN(tgkill), "tgkill" > }, > [271] = { 2, TF, SEN(utimes), "utimes" > }, > diff --git a/linux/hppa/syscallent.h b/linux/hppa/syscallent.h > index f59ea57..9fa9248 100644 > --- a/linux/hppa/syscallent.h > +++ b/linux/hppa/syscallent.h > @@ -64,7 +64,7 @@ > [ 59] = { 1, 0, SEN(uname), "uname" > }, > [ 60] = { 1, NF, SEN(umask), "umask" > }, > [ 61] = { 1, TF, SEN(chroot), "chroot" > }, > -[ 62] = { 2, 0, SEN(ustat), "ustat" > }, > +[ 62] = { 2, SFS, SEN(ustat), "ustat" > }, > [ 63] = { 2, TD, SEN(dup2), "dup2" > }, > [ 64] = { 0, NF, SEN(getppid), "getppid" > }, > [ 65] = { 0, 0, SEN(getpgrp), "getpgrp" > }, > @@ -101,7 +101,7 @@ > [ 96] = { 2, 0, SEN(getpriority), "getpriority" > }, > [ 97] = { 3, 0, SEN(setpriority), "setpriority" > }, > [ 98] = { 4, TN, SEN(recv), "recv" > }, > -[ 99] = { 2, TF, SEN(statfs), "statfs" > }, > +[ 99] = { 2, TF|SFS, SEN(statfs), "statfs" > }, > [100] = { 2, TD, SEN(fstatfs), "fstatfs" > }, > [101] = { 2, TF, SEN(stat64), "stat64" > }, > [102] = { }, > @@ -300,7 +300,7 @@ > [295] = { 6, TM, SEN(move_pages), "move_pages" > }, > [296] = { 3, 0, SEN(getcpu), "getcpu" > }, > [297] = { 6, TD, SEN(epoll_pwait), "epoll_pwait" > }, > -[298] = { 3, TF, SEN(statfs64), "statfs64" > }, > +[298] = { 3, TF|SFS, SEN(statfs64), "statfs64" > }, > [299] = { 3, TD, SEN(fstatfs64), "fstatfs64" > }, > [300] = { 4, 0, SEN(kexec_load), "kexec_load" > }, > [301] = { 4, TD|TF, SEN(utimensat), "utimensat" > }, > diff --git a/linux/i386/syscallent.h b/linux/i386/syscallent.h > index 8ef1b1c..eb07fc1 100644 > --- a/linux/i386/syscallent.h > +++ b/linux/i386/syscallent.h > @@ -88,7 +88,7 @@ > [ 59] = { 1, 0, SEN(oldolduname), "oldolduname" > }, > [ 60] = { 1, NF, SEN(umask), "umask" > }, > [ 61] = { 1, TF, SEN(chroot), "chroot" > }, > -[ 62] = { 2, 0, SEN(ustat), "ustat" > }, > +[ 62] = { 2, SFS, SEN(ustat), "ustat" > }, > [ 63] = { 2, TD, SEN(dup2), "dup2" > }, > [ 64] = { 0, NF, SEN(getppid), "getppid" > }, > [ 65] = { 0, 0, SEN(getpgrp), "getpgrp" > }, > @@ -125,7 +125,7 @@ > [ 96] = { 2, 0, SEN(getpriority), "getpriority" > }, > [ 97] = { 3, 0, SEN(setpriority), "setpriority" > }, > [ 98] = { 4, 0, SEN(profil), "profil" > }, > -[ 99] = { 2, TF, SEN(statfs), "statfs" > }, > +[ 99] = { 2, TF|SFS, SEN(statfs), "statfs" > }, > [100] = { 2, TD, SEN(fstatfs), "fstatfs" > }, > [101] = { 3, 0, SEN(ioperm), "ioperm" > }, > [102] = { 2, TD, SEN(socketcall), "socketcall" > }, > @@ -293,7 +293,7 @@ > [265] = { 2, 0, SEN(clock_gettime), "clock_gettime" > }, > [266] = { 2, 0, SEN(clock_getres), "clock_getres" > }, > [267] = { 4, 0, SEN(clock_nanosleep), > "clock_nanosleep" }, > -[268] = { 3, TF, SEN(statfs64), "statfs64" > }, > +[268] = { 3, TF|SFS, SEN(statfs64), "statfs64" > }, > [269] = { 3, TD, SEN(fstatfs64), "fstatfs64" > }, > [270] = { 3, TS, SEN(tgkill), "tgkill" > }, > [271] = { 2, TF, SEN(utimes), "utimes" > }, > diff --git a/linux/ia64/syscallent.h b/linux/ia64/syscallent.h > index 47b71d6..915c871 100644 > --- a/linux/ia64/syscallent.h > +++ b/linux/ia64/syscallent.h > @@ -86,7 +86,7 @@ > [1066] = { 3, TD, SEN(fcntl), "fcntl" > }, > [1067] = { 1, NF, SEN(umask), "umask" > }, > [1068] = { 1, TF, SEN(chroot), > "chroot" }, > -[1069] = { 2, 0, SEN(ustat), "ustat" > }, > +[1069] = { 2, SFS, SEN(ustat), "ustat" > }, > [1070] = { 2, TD, SEN(dup2), "dup2" > }, > [1071] = { 2, 0, SEN(setreuid), > "setreuid" }, > [1072] = { 2, 0, SEN(setregid), > "setregid" }, > @@ -120,7 +120,7 @@ > [1100] = { 3, TD, SEN(fchown), > "fchown" }, > [1101] = { 2, 0, SEN(getpriority), > "getpriority" }, > [1102] = { 3, 0, SEN(setpriority), > "setpriority" }, > -[1103] = { 2, TF, SEN(statfs), > "statfs" }, > +[1103] = { 2, TF|SFS, SEN(statfs), "statfs" > }, > [1104] = { 2, TD, SEN(fstatfs), > "fstatfs" }, > [1105] = { 0, NF, SEN(gettid), > "gettid" }, > [1106] = { 3, TI, SEN(semget), > "semget" }, > @@ -275,7 +275,7 @@ > [1255] = { 2, 0, SEN(clock_getres), > "clock_getres" }, > [1256] = { 4, 0, SEN(clock_nanosleep), > "clock_nanosleep" }, > [1257] = { 3, TD, SEN(fstatfs64), > "fstatfs64" }, > -[1258] = { 3, TF, SEN(statfs64), > "statfs64" }, > +[1258] = { 3, TF|SFS, SEN(statfs64), "statfs64" > }, > [1259] = { 6, TM, SEN(mbind), "mbind" > }, > [1260] = { 5, TM, SEN(get_mempolicy), > "get_mempolicy" }, > [1261] = { 3, TM, SEN(set_mempolicy), > "set_mempolicy" }, > diff --git a/linux/m68k/syscallent.h b/linux/m68k/syscallent.h > index 8e7dd97..149f06f 100644 > --- a/linux/m68k/syscallent.h > +++ b/linux/m68k/syscallent.h > @@ -88,7 +88,7 @@ > [ 59] = { 1, 0, SEN(oldolduname), "oldolduname" > }, > [ 60] = { 1, NF, SEN(umask), "umask" > }, > [ 61] = { 1, TF, SEN(chroot), "chroot" > }, > -[ 62] = { 2, 0, SEN(ustat), "ustat" > }, > +[ 62] = { 2, SFS, SEN(ustat), "ustat" > }, > [ 63] = { 2, TD, SEN(dup2), "dup2" > }, > [ 64] = { 0, NF, SEN(getppid), "getppid" > }, > [ 65] = { 0, 0, SEN(getpgrp), "getpgrp" > }, > @@ -125,7 +125,7 @@ > [ 96] = { 2, 0, SEN(getpriority), "getpriority" > }, > [ 97] = { 3, 0, SEN(setpriority), "setpriority" > }, > [ 98] = { 4, 0, SEN(profil), "profil" > }, > -[ 99] = { 2, TF, SEN(statfs), "statfs" > }, > +[ 99] = { 2, TF|SFS, SEN(statfs), "statfs" > }, > [100] = { 2, TD, SEN(fstatfs), "fstatfs" > }, > [101] = { 3, 0, SEN(ioperm), "ioperm" > }, > [102] = { 2, TD, SEN(socketcall), "socketcall" > }, > @@ -288,7 +288,7 @@ > [260] = { 2, 0, SEN(clock_gettime), "clock_gettime" > }, > [261] = { 2, 0, SEN(clock_getres), "clock_getres" > }, > [262] = { 4, 0, SEN(clock_nanosleep), > "clock_nanosleep" }, > -[263] = { 3, TF, SEN(statfs64), "statfs64" > }, > +[263] = { 3, TF|SFS, SEN(statfs64), "statfs64" > }, > [264] = { 3, TD, SEN(fstatfs64), "fstatfs64" > }, > [265] = { 3, TS, SEN(tgkill), "tgkill" > }, > [266] = { 2, TF, SEN(utimes), "utimes" > }, > diff --git a/linux/microblaze/syscallent.h b/linux/microblaze/syscallent.h > index 2a59eb3..f85de2f 100644 > --- a/linux/microblaze/syscallent.h > +++ b/linux/microblaze/syscallent.h > @@ -88,7 +88,7 @@ > [ 59] = { 1, 0, SEN(oldolduname), "oldolduname" > }, > [ 60] = { 1, NF, SEN(umask), "umask" > }, > [ 61] = { 1, TF, SEN(chroot), "chroot" > }, > -[ 62] = { 2, 0, SEN(ustat), "ustat" > }, > +[ 62] = { 2, SFS, SEN(ustat), "ustat" > }, > [ 63] = { 2, TD, SEN(dup2), "dup2" > }, > [ 64] = { 0, NF, SEN(getppid), "getppid" > }, > [ 65] = { 0, 0, SEN(getpgrp), "getpgrp" > }, > @@ -125,7 +125,7 @@ > [ 96] = { 2, 0, SEN(getpriority), "getpriority" > }, > [ 97] = { 3, 0, SEN(setpriority), "setpriority" > }, > [ 98] = { 4, 0, SEN(profil), "profil" > }, > -[ 99] = { 2, TF, SEN(statfs), "statfs" > }, > +[ 99] = { 2, TF|SFS, SEN(statfs), "statfs" > }, > [100] = { 2, TD, SEN(fstatfs), "fstatfs" > }, > [101] = { 3, 0, SEN(ioperm), "ioperm" > }, > [102] = { 2, TD, SEN(socketcall), "socketcall" > }, > @@ -293,7 +293,7 @@ > [265] = { 2, 0, SEN(clock_gettime), "clock_gettime" > }, > [266] = { 2, 0, SEN(clock_getres), "clock_getres" > }, > [267] = { 4, 0, SEN(clock_nanosleep), > "clock_nanosleep" }, > -[268] = { 3, TF, SEN(statfs64), "statfs64" > }, > +[268] = { 3, TF|SFS, SEN(statfs64), "statfs64" > }, > [269] = { 3, TD, SEN(fstatfs64), "fstatfs64" > }, > [270] = { 3, TS, SEN(tgkill), "tgkill" > }, > [271] = { 2, TF, SEN(utimes), "utimes" > }, > diff --git a/linux/mips/syscallent-compat.h b/linux/mips/syscallent-compat.h > index 82a373b..c5214b7 100644 > --- a/linux/mips/syscallent-compat.h > +++ b/linux/mips/syscallent-compat.h > @@ -33,7 +33,7 @@ > [ 32] = { 0, 0, SEN(printargs), "svr4_gtty" }, > [ 33] = { 0, 0, SEN(printargs), "svr4_access" }, > [ 34] = { 0, 0, SEN(printargs), "svr4_nice" }, > -[ 35] = { 0, 0, SEN(printargs), "svr4_statfs" }, > +[ 35] = { 0, SFS, SEN(printargs), "svr4_statfs" }, > [ 36] = { 0, 0, SEN(printargs), "svr4_sync" }, > [ 37] = { 0, 0, SEN(printargs), "svr4_kill" }, > [ 38] = { 0, 0, SEN(printargs), "svr4_fstatfs" }, > @@ -184,7 +184,7 @@ > [1032] = { 0, 0, SEN(printargs), "sysv_gtty" }, > [1033] = { 0, 0, SEN(printargs), "sysv_access" }, > [1034] = { 0, 0, SEN(printargs), "sysv_nice" }, > -[1035] = { 0, 0, SEN(printargs), "sysv_statfs" }, > +[1035] = { 0, SFS, SEN(printargs), "sysv_statfs" }, > [1036] = { 0, 0, SEN(printargs), "sysv_sync" }, > [1037] = { 0, 0, SEN(printargs), "sysv_kill" }, > [1038] = { 0, 0, SEN(printargs), "sysv_fstatfs" }, > @@ -494,7 +494,7 @@ > [2157] = { 0, 0, SEN(printargs), "bsd43_nfs_mount" > }, > [2158] = { 0, 0, SEN(printargs), "bsd43_nfs_svc" }, > [2159] = { 0, 0, SEN(printargs), "bsd43_getdirentries" > }, > -[2160] = { 0, 0, SEN(printargs), "bsd43_statfs" }, > +[2160] = { 0, SFS, SEN(printargs), "bsd43_statfs" }, > [2161] = { 0, 0, SEN(printargs), "bsd43_fstatfs" }, > [2162] = { 0, 0, SEN(printargs), "bsd43_unmount" }, > [2163] = { 0, 0, SEN(printargs), "bsd43_async_daemon" > }, > @@ -562,7 +562,7 @@ > [3032] = { 0, 0, SEN(printargs), "posix_gtty" }, > [3033] = { 0, 0, SEN(printargs), "posix_access" }, > [3034] = { 0, 0, SEN(printargs), "posix_nice" }, > -[3035] = { 0, 0, SEN(printargs), "posix_statfs" }, > +[3035] = { 0, SFS, SEN(printargs), "posix_statfs" }, > [3036] = { 0, 0, SEN(printargs), "posix_sync" }, > [3037] = { 0, 0, SEN(printargs), "posix_kill" }, > [3038] = { 0, 0, SEN(printargs), "posix_fstatfs" }, > diff --git a/linux/mips/syscallent-n32.h b/linux/mips/syscallent-n32.h > index 052af4f..dfa3b1e 100644 > --- a/linux/mips/syscallent-n32.h > +++ b/linux/mips/syscallent-n32.h > @@ -133,8 +133,8 @@ > [6130] = { 2, TF, SEN(utime), "utime" > }, > [6131] = { 3, TF, SEN(mknod), "mknod" > }, > [6132] = { 1, NF, SEN(personality), > "personality" }, > -[6133] = { 2, 0, SEN(ustat), "ustat" > }, > -[6134] = { 2, TF, SEN(statfs), > "statfs" }, > +[6133] = { 2, SFS, SEN(ustat), "ustat" > }, > +[6134] = { 2, TF|SFS, SEN(statfs), "statfs" > }, > [6135] = { 2, TD, SEN(fstatfs), > "fstatfs" }, > [6136] = { 3, 0, SEN(sysfs), "sysfs" > }, > [6137] = { 2, 0, SEN(getpriority), > "getpriority" }, > @@ -217,7 +217,7 @@ > [6214] = { 0, 0, SEN(restart_syscall), > "restart_syscall" }, > [6215] = { 4, TI, SEN(semtimedop), > "semtimedop" }, > [6216] = { 4, TD, SEN(fadvise64_64), > "fadvise64" }, > -[6217] = { 3, TF, SEN(statfs64), > "statfs64" }, > +[6217] = { 3, TF|SFS, SEN(statfs64), "statfs64" > }, > [6218] = { 3, TD, SEN(fstatfs64), > "fstatfs64" }, > [6219] = { 4, TD|TN, SEN(sendfile64), > "sendfile64" }, > [6220] = { 3, 0, SEN(timer_create), > "timer_create" }, > diff --git a/linux/mips/syscallent-n64.h b/linux/mips/syscallent-n64.h > index fdd778b..44c2acd 100644 > --- a/linux/mips/syscallent-n64.h > +++ b/linux/mips/syscallent-n64.h > @@ -133,8 +133,8 @@ > [5130] = { 2, TF, SEN(utime), "utime" > }, > [5131] = { 3, TF, SEN(mknod), "mknod" > }, > [5132] = { 1, NF, SEN(personality), > "personality" }, > -[5133] = { 2, 0, SEN(ustat), "ustat" > }, > -[5134] = { 2, TF, SEN(statfs), > "statfs" }, > +[5133] = { 2, SFS, SEN(ustat), "ustat" > }, > +[5134] = { 2, TF|SFS, SEN(statfs), "statfs" > }, > [5135] = { 2, TD, SEN(fstatfs), > "fstatfs" }, > [5136] = { 3, 0, SEN(sysfs), "sysfs" > }, > [5137] = { 2, 0, SEN(getpriority), > "getpriority" }, > diff --git a/linux/mips/syscallent-o32.h b/linux/mips/syscallent-o32.h > index 509a719..06219fa 100644 > --- a/linux/mips/syscallent-o32.h > +++ b/linux/mips/syscallent-o32.h > @@ -62,7 +62,7 @@ > [4059] = { 1, 0, SEN(oldolduname), > "oldolduname" }, > [4060] = { 1, NF, SEN(umask), "umask" > }, > [4061] = { 1, TF, SEN(chroot), > "chroot" }, > -[4062] = { 2, 0, SEN(ustat), "ustat" > }, > +[4062] = { 2, SFS, SEN(ustat), "ustat" > }, > [4063] = { 2, TD, SEN(dup2), "dup2" > }, > [4064] = { 0, NF, SEN(getppid), > "getppid" }, > [4065] = { 0, 0, SEN(getpgrp), > "getpgrp" }, > @@ -99,7 +99,7 @@ > [4096] = { 2, 0, SEN(getpriority), > "getpriority" }, > [4097] = { 3, 0, SEN(setpriority), > "setpriority" }, > [4098] = { 0, 0, SEN(profil), > "profil" }, > -[4099] = { 2, TF, SEN(statfs), > "statfs" }, > +[4099] = { 2, TF|SFS, SEN(statfs), "statfs" > }, > [4100] = { 2, TD, SEN(fstatfs), > "fstatfs" }, > [4101] = { 3, 0, SEN(ioperm), > "ioperm" }, > [4102] = { 2, TD, SEN(socketcall), > "socketcall" }, > @@ -255,7 +255,7 @@ > [4252] = { 1, 0, SEN(set_tid_address), > "set_tid_address" }, > [4253] = { 0, 0, SEN(restart_syscall), > "restart_syscall" }, > [4254] = { 7, TD, SEN(fadvise64_64), > "fadvise64" }, > -[4255] = { 3, TF, SEN(statfs64), > "statfs64" }, > +[4255] = { 3, TF|SFS, SEN(statfs64), "statfs64" > }, > [4256] = { 3, TD, SEN(fstatfs64), > "fstatfs64" }, > [4257] = { 3, 0, SEN(timer_create), > "timer_create" }, > [4258] = { 4, 0, SEN(timer_settime), > "timer_settime" }, > diff --git a/linux/powerpc/syscallent.h b/linux/powerpc/syscallent.h > index 1431f8a..618218c 100644 > --- a/linux/powerpc/syscallent.h > +++ b/linux/powerpc/syscallent.h > @@ -88,7 +88,7 @@ > [ 59] = { 1, 0, SEN(oldolduname), "oldolduname" > }, > [ 60] = { 1, NF, SEN(umask), "umask" > }, > [ 61] = { 1, TF, SEN(chroot), "chroot" > }, > -[ 62] = { 2, 0, SEN(ustat), "ustat" > }, > +[ 62] = { 2, SFS, SEN(ustat), "ustat" > }, > [ 63] = { 2, TD, SEN(dup2), "dup2" > }, > [ 64] = { 0, NF, SEN(getppid), "getppid" > }, > [ 65] = { 0, 0, SEN(getpgrp), "getpgrp" > }, > @@ -125,7 +125,7 @@ > [ 96] = { 2, 0, SEN(getpriority), "getpriority" > }, > [ 97] = { 3, 0, SEN(setpriority), "setpriority" > }, > [ 98] = { 4, 0, SEN(profil), "profil" > }, > -[ 99] = { 2, TF, SEN(statfs), "statfs" > }, > +[ 99] = { 2, TF|SFS, SEN(statfs), "statfs" > }, > [100] = { 2, TD, SEN(fstatfs), "fstatfs" > }, > [101] = { 3, 0, SEN(ioperm), "ioperm" > }, > [102] = { 2, TD, SEN(socketcall), "socketcall" > }, > @@ -278,7 +278,7 @@ > [249] = { 2, 0, SEN(printargs), "swapcontext" > }, > [250] = { 3, TS, SEN(tgkill), "tgkill" > }, > [251] = { 2, TF, SEN(utimes), "utimes" > }, > -[252] = { 3, TF, SEN(statfs64), "statfs64" > }, > +[252] = { 3, TF|SFS, SEN(statfs64), "statfs64" > }, > [253] = { 3, TD, SEN(fstatfs64), "fstatfs64" > }, > [254] = { 6, TD, SEN(fadvise64_64), "fadvise64_64" > }, > [255] = { 1, 0, SEN(printargs), "rtas" > }, > diff --git a/linux/powerpc64/syscallent.h b/linux/powerpc64/syscallent.h > index eae3b57..20f6e8e 100644 > --- a/linux/powerpc64/syscallent.h > +++ b/linux/powerpc64/syscallent.h > @@ -88,7 +88,7 @@ > [ 59] = { 1, 0, SEN(oldolduname), "oldolduname" > }, > [ 60] = { 1, NF, SEN(umask), "umask" > }, > [ 61] = { 1, TF, SEN(chroot), "chroot" > }, > -[ 62] = { 2, 0, SEN(ustat), "ustat" > }, > +[ 62] = { 2, SFS, SEN(ustat), "ustat" > }, > [ 63] = { 2, TD, SEN(dup2), "dup2" > }, > [ 64] = { 0, NF, SEN(getppid), "getppid" > }, > [ 65] = { 0, 0, SEN(getpgrp), "getpgrp" > }, > @@ -125,7 +125,7 @@ > [ 96] = { 2, 0, SEN(getpriority), "getpriority" > }, > [ 97] = { 3, 0, SEN(setpriority), "setpriority" > }, > [ 98] = { 4, 0, SEN(profil), "profil" > }, > -[ 99] = { 2, TF, SEN(statfs), "statfs" > }, > +[ 99] = { 2, TF|SFS, SEN(statfs), "statfs" > }, > [100] = { 2, TD, SEN(fstatfs), "fstatfs" > }, > [101] = { 3, 0, SEN(ioperm), "ioperm" > }, > [102] = { 2, TD, SEN(socketcall), "socketcall" > }, > @@ -273,7 +273,7 @@ > [249] = { 2, 0, SEN(printargs), "swapcontext" > }, > [250] = { 3, TS, SEN(tgkill), "tgkill" > }, > [251] = { 2, TF, SEN(utimes), "utimes" > }, > -[252] = { 3, TF, SEN(statfs64), "statfs64" > }, > +[252] = { 3, TF|SFS, SEN(statfs64), "statfs64" > }, > [253] = { 3, TD, SEN(fstatfs64), "fstatfs64" > }, > [254] = { }, > [255] = { 1, 0, SEN(printargs), "rtas" > }, > diff --git a/linux/s390/syscallent.h b/linux/s390/syscallent.h > index 105e511..d3ba5fe 100644 > --- a/linux/s390/syscallent.h > +++ b/linux/s390/syscallent.h > @@ -90,7 +90,7 @@ > [ 59] = { }, > [ 60] = { 1, NF, SEN(umask), "umask" > }, > [ 61] = { 1, TF, SEN(chroot), "chroot" > }, > -[ 62] = { 2, 0, SEN(ustat), "ustat" > }, > +[ 62] = { 2, SFS, SEN(ustat), "ustat" > }, > [ 63] = { 2, TD, SEN(dup2), "dup2" > }, > [ 64] = { 0, NF, SEN(getppid), "getppid" > }, > [ 65] = { 0, 0, SEN(getpgrp), "getpgrp" > }, > @@ -127,7 +127,7 @@ > [ 96] = { 2, 0, SEN(getpriority), "getpriority" > }, > [ 97] = { 3, 0, SEN(setpriority), "setpriority" > }, > [ 98] = { }, > -[ 99] = { 2, TF, SEN(statfs), "statfs" > }, > +[ 99] = { 2, TF|SFS, SEN(statfs), "statfs" > }, > [100] = { 2, TD, SEN(fstatfs), "fstatfs" > }, > [101] = { 3, 0, SEN(ioperm), "ioperm" > }, > [102] = { 2, TD, SEN(socketcall), "socketcall" > }, > @@ -293,7 +293,7 @@ > [262] = { 4, 0, SEN(clock_nanosleep), > "clock_nanosleep" }, > [263] = { 5, 0, SEN(vserver), "vserver" > }, > [264] = { 6, TD, SEN(fadvise64_64), "fadvise64_64" > }, > -[265] = { 3, TF, SEN(statfs64), "statfs64" > }, > +[265] = { 3, TF|SFS, SEN(statfs64), "statfs64" > }, > [266] = { 3, TD, SEN(fstatfs64), "fstatfs64" > }, > [267] = { 5, TM|SI, SEN(remap_file_pages), > "remap_file_pages" }, > [268] = { 6, TM, SEN(mbind), "mbind" > }, > diff --git a/linux/s390x/syscallent.h b/linux/s390x/syscallent.h > index d5b5459..80b68d7 100644 > --- a/linux/s390x/syscallent.h > +++ b/linux/s390x/syscallent.h > @@ -89,7 +89,7 @@ > [ 59] = { }, > [ 60] = { 1, NF, SEN(umask), "umask" > }, > [ 61] = { 1, TF, SEN(chroot), "chroot" > }, > -[ 62] = { 2, 0, SEN(ustat), "ustat" > }, > +[ 62] = { 2, SFS, SEN(ustat), "ustat" > }, > [ 63] = { 2, TD, SEN(dup2), "dup2" > }, > [ 64] = { 0, NF, SEN(getppid), "getppid" > }, > [ 65] = { 0, 0, SEN(getpgrp), "getpgrp" > }, > @@ -121,7 +121,7 @@ > [ 96] = { 2, 0, SEN(getpriority), "getpriority" > }, > [ 97] = { 3, 0, SEN(setpriority), "setpriority" > }, > [ 98] = { }, > -[ 99] = { 2, TF, SEN(statfs), "statfs" > }, > +[ 99] = { 2, TF|SFS, SEN(statfs), "statfs" > }, > [100] = { 2, TD, SEN(fstatfs), "fstatfs" > }, > [101] = { }, > [102] = { 2, TD, SEN(socketcall), "socketcall" > }, > @@ -277,7 +277,7 @@ > [262] = { 4, 0, SEN(clock_nanosleep), > "clock_nanosleep" }, > [263] = { 5, 0, SEN(vserver), "vserver" > }, > [264] = { }, > -[265] = { 3, TF, SEN(statfs64), "statfs64" > }, > +[265] = { 3, TF|SFS, SEN(statfs64), "statfs64" > }, > [266] = { 3, TD, SEN(fstatfs64), "fstatfs64" > }, > [267] = { 5, TM|SI, SEN(remap_file_pages), > "remap_file_pages" }, > [268] = { 6, TM, SEN(mbind), "mbind" > }, > diff --git a/linux/sh/syscallent.h b/linux/sh/syscallent.h > index 1388416..41de292 100644 > --- a/linux/sh/syscallent.h > +++ b/linux/sh/syscallent.h > @@ -90,7 +90,7 @@ > [ 59] = { 1, 0, SEN(oldolduname), "oldolduname" > }, > [ 60] = { 1, NF, SEN(umask), "umask" > }, > [ 61] = { 1, TF, SEN(chroot), "chroot" > }, > -[ 62] = { 2, 0, SEN(ustat), "ustat" > }, > +[ 62] = { 2, SFS, SEN(ustat), "ustat" > }, > [ 63] = { 2, TD, SEN(dup2), "dup2" > }, > [ 64] = { 0, NF, SEN(getppid), "getppid" > }, > [ 65] = { 0, 0, SEN(getpgrp), "getpgrp" > }, > @@ -127,7 +127,7 @@ > [ 96] = { 2, 0, SEN(getpriority), "getpriority" > }, > [ 97] = { 3, 0, SEN(setpriority), "setpriority" > }, > [ 98] = { 4, 0, SEN(profil), "profil" > }, > -[ 99] = { 2, TF, SEN(statfs), "statfs" > }, > +[ 99] = { 2, TF|SFS, SEN(statfs), "statfs" > }, > [100] = { 2, TD, SEN(fstatfs), "fstatfs" > }, > [101] = { 3, 0, SEN(ioperm), "ioperm" > }, > [102] = { 2, TD, SEN(socketcall), "socketcall" > }, > @@ -293,7 +293,7 @@ > [265] = { 2, 0, SEN(clock_gettime), "clock_gettime" > }, > [266] = { 2, 0, SEN(clock_getres), "clock_getres" > }, > [267] = { 4, 0, SEN(clock_nanosleep), > "clock_nanosleep" }, > -[268] = { 3, TF, SEN(statfs64), "statfs64" > }, > +[268] = { 3, TF|SFS, SEN(statfs64), "statfs64" > }, > [269] = { 3, TD, SEN(fstatfs64), "fstatfs64" > }, > [270] = { 3, TS, SEN(tgkill), "tgkill" > }, > [271] = { 2, TF, SEN(utimes), "utimes" > }, > diff --git a/linux/sh64/syscallent.h b/linux/sh64/syscallent.h > index e935104..c5de8e1 100644 > --- a/linux/sh64/syscallent.h > +++ b/linux/sh64/syscallent.h > @@ -88,7 +88,7 @@ > [ 59] = { 1, 0, SEN(oldolduname), "oldolduname" > }, > [ 60] = { 1, NF, SEN(umask), "umask" > }, > [ 61] = { 1, TF, SEN(chroot), "chroot" > }, > -[ 62] = { 2, 0, SEN(ustat), "ustat" > }, > +[ 62] = { 2, SFS, SEN(ustat), "ustat" > }, > [ 63] = { 2, TD, SEN(dup2), "dup2" > }, > [ 64] = { 0, NF, SEN(getppid), "getppid" > }, > [ 65] = { 0, 0, SEN(getpgrp), "getpgrp" > }, > @@ -125,7 +125,7 @@ > [ 96] = { 2, 0, SEN(getpriority), "getpriority" > }, > [ 97] = { 3, 0, SEN(setpriority), "setpriority" > }, > [ 98] = { 4, 0, SEN(profil), "profil" > }, > -[ 99] = { 2, TF, SEN(statfs), "statfs" > }, > +[ 99] = { 2, TF|SFS, SEN(statfs), "statfs" > }, > [100] = { 2, TD, SEN(fstatfs), "fstatfs" > }, > [101] = { 3, 0, SEN(ioperm), "ioperm" > }, > [102] = { 2, TD, SEN(socketcall), "socketcall" > }, > @@ -319,7 +319,7 @@ > [293] = { 2, 0, SEN(clock_gettime), "clock_gettime" > }, > [294] = { 2, 0, SEN(clock_getres), "clock_getres" > }, > [295] = { 4, 0, SEN(clock_nanosleep), > "clock_nanosleep" }, > -[296] = { 3, TF, SEN(statfs64), "statfs64" > }, > +[296] = { 3, TF|SFS, SEN(statfs64), "statfs64" > }, > [297] = { 3, TD, SEN(fstatfs64), "fstatfs64" > }, > [298] = { 3, TS, SEN(tgkill), "tgkill" > }, > [299] = { 2, TF, SEN(utimes), "utimes" > }, > diff --git a/linux/sparc/syscallent.h b/linux/sparc/syscallent.h > index 30d8819..3988688 100644 > --- a/linux/sparc/syscallent.h > +++ b/linux/sparc/syscallent.h > @@ -155,7 +155,7 @@ > [154] = { 3, TD, SEN(getdents64), "getdents64" > }, > [155] = { 3, TD, SEN(fcntl64), "fcntl64" > }, > [156] = { 2, TD, SEN(inotify_rm_watch), > "inotify_rm_watch" }, > -[157] = { 2, TF, SEN(statfs), "statfs" > }, > +[157] = { 2, TF|SFS, SEN(statfs), "statfs" > }, > [158] = { 2, TD, SEN(fstatfs), "fstatfs" > }, > [159] = { 1, TF, SEN(umount), "umount" > }, > [160] = { 3, TSC, SEN(sched_setaffinity), > "sched_set_affinity" }, > @@ -166,7 +166,7 @@ > [165] = { 4, TF, SEN(quotactl), "quotactl" > }, > [166] = { 1, 0, SEN(set_tid_address), > "set_tid_address" }, > [167] = { 5, TF, SEN(mount), "mount" > }, > -[168] = { 2, 0, SEN(ustat), "ustat" > }, > +[168] = { 2, SFS, SEN(ustat), "ustat" > }, > [169] = { 5, TF, SEN(setxattr), "setxattr" > }, > [170] = { 5, TF, SEN(setxattr), "lsetxattr" > }, > [171] = { 5, TD, SEN(fsetxattr), "fsetxattr" > }, > @@ -232,7 +232,7 @@ > [231] = { 1, 0, SEN(time), "time" > }, > [232] = { 6, TD, SEN(splice), "splice" > }, > [233] = { 1, 0, SEN(stime), "stime" > }, > -[234] = { 3, TF, SEN(statfs64), "statfs64" > }, > +[234] = { 3, TF|SFS, SEN(statfs64), "statfs64" > }, > [235] = { 3, TD, SEN(fstatfs64), "fstatfs64" > }, > [236] = { 5, TD, SEN(llseek), "_llseek" > }, > [237] = { 2, TM, SEN(mlock), "mlock" > }, > diff --git a/linux/sparc64/syscallent.h b/linux/sparc64/syscallent.h > index 1137a3e..530faab 100644 > --- a/linux/sparc64/syscallent.h > +++ b/linux/sparc64/syscallent.h > @@ -153,7 +153,7 @@ > [154] = { 3, TD, SEN(getdents64), "getdents64" > }, > [155] = { }, > [156] = { 2, TD, SEN(inotify_rm_watch), > "inotify_rm_watch" }, > -[157] = { 2, TF, SEN(statfs), "statfs" > }, > +[157] = { 2, TF|SFS, SEN(statfs), "statfs" > }, > [158] = { 2, TD, SEN(fstatfs), "fstatfs" > }, > [159] = { 1, TF, SEN(umount), "umount" > }, > [160] = { 3, TSC, SEN(sched_setaffinity), > "sched_set_affinity" }, > @@ -164,7 +164,7 @@ > [165] = { 4, TF, SEN(quotactl), "quotactl" > }, > [166] = { 1, 0, SEN(set_tid_address), > "set_tid_address" }, > [167] = { 5, TF, SEN(mount), "mount" > }, > -[168] = { 2, 0, SEN(ustat), "ustat" > }, > +[168] = { 2, SFS, SEN(ustat), "ustat" > }, > [169] = { 5, TF, SEN(setxattr), "setxattr" > }, > [170] = { 5, TF, SEN(setxattr), "lsetxattr" > }, > [171] = { 5, TD, SEN(fsetxattr), "fsetxattr" > }, > @@ -230,7 +230,7 @@ > [231] = { }, > [232] = { 6, TD, SEN(splice), "splice" > }, > [233] = { 1, 0, SEN(stime), "stime" > }, > -[234] = { 3, TF, SEN(statfs64), "statfs64" > }, > +[234] = { 3, TF|SFS, SEN(statfs64), "statfs64" > }, > [235] = { 3, TD, SEN(fstatfs64), "fstatfs64" > }, > [236] = { 5, TD, SEN(llseek), "_llseek" > }, > [237] = { 2, TM, SEN(mlock), "mlock" > }, > diff --git a/linux/x32/syscallent.h b/linux/x32/syscallent.h > index 30a684a..088161f 100644 > --- a/linux/x32/syscallent.h > +++ b/linux/x32/syscallent.h > @@ -134,8 +134,8 @@ > [133] = { 3, TF, SEN(mknod), "mknod" > }, > [134] = { 1, TF, SEN(printargs), "64:uselib" > }, > [135] = { 1, NF, SEN(personality), "personality" > }, > -[136] = { 2, 0, SEN(ustat), "ustat" > }, > -[137] = { 2, TF, SEN(statfs), "statfs" > }, > +[136] = { 2, SFS, SEN(ustat), "ustat" > }, > +[137] = { 2, TF|SFS, SEN(statfs), "statfs" > }, > [138] = { 2, TD, SEN(fstatfs), "fstatfs" > }, > [139] = { 3, 0, SEN(sysfs), "sysfs" > }, > [140] = { 2, 0, SEN(getpriority), "getpriority" > }, > diff --git a/linux/x86_64/syscallent.h b/linux/x86_64/syscallent.h > index 62960d2..03cd44a 100644 > --- a/linux/x86_64/syscallent.h > +++ b/linux/x86_64/syscallent.h > @@ -134,8 +134,8 @@ > [133] = { 3, TF, SEN(mknod), "mknod" > }, > [134] = { 1, TF, SEN(uselib), "uselib" > }, > [135] = { 1, NF, SEN(personality), "personality" > }, > -[136] = { 2, 0, SEN(ustat), "ustat" > }, > -[137] = { 2, TF, SEN(statfs), "statfs" > }, > +[136] = { 2, SFS, SEN(ustat), "ustat" > }, > +[137] = { 2, TF|SFS, SEN(statfs), "statfs" > }, > [138] = { 2, TD, SEN(fstatfs), "fstatfs" > }, > [139] = { 3, 0, SEN(sysfs), "sysfs" > }, > [140] = { 2, 0, SEN(getpriority), "getpriority" > }, > diff --git a/linux/xtensa/syscallent.h b/linux/xtensa/syscallent.h > index 63995bc..dc956b0 100644 > --- a/linux/xtensa/syscallent.h > +++ b/linux/xtensa/syscallent.h > @@ -175,10 +175,10 @@ > [180] = { 1, NF, SEN(setfsuid), "setfsuid" > }, > [181] = { 1, NF, SEN(setfsgid), "setfsgid" > }, > [182] = { 3, 0, SEN(sysfs), "sysfs" > }, > -[183] = { 2, 0, SEN(ustat), "ustat" > }, > -[184] = { 2, TF, SEN(statfs), "statfs" > }, > +[183] = { 2, SFS, SEN(ustat), "ustat" > }, > +[184] = { 2, TF|SFS, SEN(statfs), "statfs" > }, > [185] = { 2, TD, SEN(fstatfs), "fstatfs" > }, > -[186] = { 3, TF, SEN(statfs64), "statfs64" > }, > +[186] = { 3, TF|SFS, SEN(statfs64), "statfs64" > }, > [187] = { 3, TD, SEN(fstatfs64), "fstatfs64" > }, > [188] = { 2, 0, SEN(setrlimit), "setrlimit" > }, > [189] = { 2, 0, SEN(getrlimit), "getrlimit" > }, > diff --git a/qualify.c b/qualify.c > index b5023f2..692f7ec 100644 > --- a/qualify.c > +++ b/qualify.c > @@ -220,6 +220,7 @@ lookup_class(const char *s) > { "%ipc", TRACE_IPC }, > { "%network", TRACE_NETWORK }, > { "%sched", TRACE_SCHED }, > + { "%statfs", TRACE_STATFS }, > }; > > unsigned int i; > diff --git a/strace.1 b/strace.1 > index 9b69ec2..155d215 100644 > --- a/strace.1 > +++ b/strace.1 > @@ -429,6 +429,9 @@ Trace all memory mapping related system calls. > .BR "\-e\ trace" = %sched > Trace all scheduler-related (sched_*) system calls. > .TP > +.BR "\-e\ trace" = %statfs > +Trace all statfs-related (*statfs* or ustat) system calls. > +.TP > \fB\-e\ abbrev\fR=\,\fIset\fR > Abbreviate the output from printing each member of large structures. > The default is > diff --git a/syscall.c b/syscall.c > index 569055f..5925cb8 100644 > --- a/syscall.c > +++ b/syscall.c > @@ -77,6 +77,7 @@ > #define TS TRACE_SIGNAL > #define TM TRACE_MEMORY > #define TSC TRACE_SCHED > +#define SFS TRACE_STATFS > #define NF SYSCALL_NEVER_FAILS > #define MA MAX_ARGS > #define SI STACKTRACE_INVALIDATE_CACHE > @@ -113,6 +114,7 @@ static const struct_sysent sysent2[] = { > #undef TS > #undef TM > #undef TSC > +#undef SFS > #undef NF > #undef MA > #undef SI > diff --git a/sysent.h b/sysent.h > index f4eaa93..42cdbc5 100644 > --- a/sysent.h > +++ b/sysent.h > @@ -22,5 +22,6 @@ typedef struct sysent { > #define TRACE_INDIRECT_SUBCALL 02000 /* Syscall is an indirect > socket/ipc subcall. */ > #define COMPAT_SYSCALL_TYPES 04000 /* A compat syscall that uses compat > types. */ > #define TRACE_SCHED 010000 /* Trace scheduler-related syscalls. */ > +#define TRACE_STATFS 040000 /* Trace statfs-related syscalls. */ > > #endif /* !STRACE_SYSENT_H */ > diff --git a/tests/Makefile.am b/tests/Makefile.am > index c5c124c..a4f34057 100644 > --- a/tests/Makefile.am > +++ b/tests/Makefile.am > @@ -733,6 +733,7 @@ DECODER_TESTS = \ > rt_sigtimedwait.test \ > rt_tgsigqueueinfo.test \ > sched.test \ > + trace_statfs.test \ Please maintain sorting order here. > sched_get_priority_mxx.test \ > sched_rr_get_interval.test \ > sched_xetaffinity.test \ > diff --git a/tests/ksysent.c b/tests/ksysent.c > index 252feff..301d6e4 100644 > --- a/tests/ksysent.c > +++ b/tests/ksysent.c > @@ -41,6 +41,7 @@ > #define TS 0 > #define TM 0 > #define TSC 0 > +#define SFS 0 > #define NF 0 > #define MA 0 > #define SI 0 > diff --git a/tests/nsyscalls.c b/tests/nsyscalls.c > index c2bdb20..881fc86 100644 > --- a/tests/nsyscalls.c > +++ b/tests/nsyscalls.c > @@ -42,6 +42,7 @@ > #define TS 0 > #define TM 0 > #define TSC 0 > +#define SFS 0 > #define NF 0 > #define MA 0 > #define SI 0 > diff --git a/tests/trace_statfs.test b/tests/trace_statfs.test > new file mode 100755 > index 0000000..abf97b3 > --- /dev/null > +++ b/tests/trace_statfs.test > @@ -0,0 +1,55 @@ > +#!/bin/sh > + > +# Check how statfs-related syscalls are traced. > +# > +# Copyright (c) 2017 The strace developers. > +# All rights reserved. > +# > +# Redistribution and use in source and binary forms, with or without > +# modification, are permitted provided that the following conditions > +# are met: > +# 1. Redistributions of source code must retain the above copyright > +# notice, this list of conditions and the following disclaimer. > +# 2. Redistributions in binary form must reproduce the above copyright > +# notice, this list of conditions and the following disclaimer in the > +# documentation and/or other materials provided with the distribution. > +# 3. The name of the author may not be used to endorse or promote products > +# derived from this software without specific prior written permission. > +# > +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR > +# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES > +# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. > +# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, > +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT > +# NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, > +# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY > +# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT > +# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF > +# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. > + > +STATFS_TESTS='33 ustat > +17 statfs' > + > +NON_STATFS_TESTS='11 fchdir > +27 futex > +10 fsync' > + > +. "${srcdir=.}/init.sh" > + > +echo "$STATFS_TESTS" | while read w i > +do > + run_prog ./$i > /dev/null > + run_strace -a$w -e%statfs ./$i > "$EXP" > + match_diff "$LOG" "$EXP" > +done > + > +echo '+++ exited with 0 +++' > "$EXP" > + > +echo "$NON_STATFS_TESTS" | while read w i > +do > + run_prog ./$i > /dev/null > + run_strace -a$w -e%statfs ./$i > /dev/null > + match_diff "$LOG" "$EXP" > +done > + > +rm "$EXP" Please look at recent changes to sched.test (30c16384, b24254d3, and c465b2ee specifically), and try to update your test accordingly. > -- > 2.7.4 > > ------------------------------------------------------------------------------ > Check out the vibrant tech community on one of the world's most > engaging tech sites, Slashdot.org! http://sdm.link/slashdot > _______________________________________________ > Strace-devel mailing list > Strace-devel@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/strace-devel ------------------------------------------------------------------------------ Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot _______________________________________________ Strace-devel mailing list Strace-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/strace-devel