[PATCH RFC 1/9] Add seccomp-filter syscall flag

Paul Chaignon paul.chaignon at gmail.com
Fri Aug 23 09:42:28 UTC 2019


This commit adds a new syscall flag for syscall that are traced by default
under seccomp-filter.

The syscallent changes can be reproduced with the following script:

  git grep -l 'SEN(\(execv\|ipc\|socketcall\|ipc\)' |
  xargs -r sed -i -e '/SEN(execv/ s/TP|/&TSD|/' \
  -e '/SEN(ipc)/ s/TI/&|TSD/' -e '/SEN(socketcall)/ s/TD/&|TSD/' \
  -e '/SEN(syscall)/ s/0,/TSD,/'

* sysent.h (TRACE_SECCOMP_DEFAULT): Define new flag.
* sysent_shorthand_defs.h (TSD): Define new flag shorthand.
* linux/32/syscallent.h: Add TSD flag.
* linux/64/syscallent.h: Likewise.
* linux/alpha/syscallent.h: Likewise.
* linux/arm/syscallent.h: Likewise.
* linux/avr32/syscallent.h: Likewise.
* linux/bfin/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-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.

Signed-off-by: Paul Chaignon <paul.chaignon at gmail.com>
---
 linux/32/syscallent.h         |  4 ++--
 linux/64/syscallent.h         |  4 ++--
 linux/alpha/syscallent.h      |  4 ++--
 linux/arm/syscallent.h        |  8 ++++----
 linux/avr32/syscallent.h      |  6 +++---
 linux/bfin/syscallent.h       |  8 ++++----
 linux/hppa/syscallent.h       |  4 ++--
 linux/i386/syscallent.h       |  8 ++++----
 linux/ia64/syscallent.h       |  4 ++--
 linux/m68k/syscallent.h       |  8 ++++----
 linux/microblaze/syscallent.h |  8 ++++----
 linux/mips/syscallent-n32.h   |  4 ++--
 linux/mips/syscallent-n64.h   |  4 ++--
 linux/mips/syscallent-o32.h   | 10 +++++-----
 linux/powerpc/syscallent.h    |  8 ++++----
 linux/powerpc64/syscallent.h  |  8 ++++----
 linux/s390/syscallent.h       |  8 ++++----
 linux/s390x/syscallent.h      |  8 ++++----
 linux/sh/syscallent.h         |  8 ++++----
 linux/sh64/syscallent.h       |  8 ++++----
 linux/sparc/syscallent.h      | 10 +++++-----
 linux/sparc64/syscallent.h    | 10 +++++-----
 linux/x32/syscallent.h        |  4 ++--
 linux/x86_64/syscallent.h     |  4 ++--
 linux/xtensa/syscallent.h     |  4 ++--
 sysent.h                      |  1 +
 sysent_shorthand_defs.h       |  2 ++
 27 files changed, 85 insertions(+), 82 deletions(-)

diff --git a/linux/32/syscallent.h b/linux/32/syscallent.h
index a08d5cc6..ce3f3e94 100644
--- a/linux/32/syscallent.h
+++ b/linux/32/syscallent.h
@@ -233,7 +233,7 @@
 [218] = { 4,	0,		SEN(request_key),		"request_key"		},
 [219] = { 5,	0,		SEN(keyctl),			"keyctl"		},
 [220] = { 5,	TP,		SEN(clone),			"clone"			},
-[221] = { 3,	TF|TP|SE|SI,	SEN(execve),			"execve"		},
+[221] = { 3,	TF|TP|TSD|SE|SI,	SEN(execve),			"execve"		},
 [222] = { 6,	TD|TM|SI,	SEN(ARCH_mmap),			"mmap2"			},
 [223] = { 6,	TD,		SEN(fadvise64_64),		"fadvise64_64"		},
 [224] = { 2,	TF,		SEN(swapon),			"swapon"		},
@@ -278,7 +278,7 @@
 [278] = { 3,	0,		SEN(getrandom),			"getrandom"		},
 [279] = { 2,	TD,		SEN(memfd_create),		"memfd_create"		},
 [280] = { 3,	TD,		SEN(bpf),			"bpf"			},
-[281] = { 5,	TD|TF|TP|SE|SI,	SEN(execveat),			"execveat"		},
+[281] = { 5,	TD|TF|TP|TSD|SE|SI,	SEN(execveat),			"execveat"		},
 [282] = { 1,	TD,		SEN(userfaultfd),		"userfaultfd"		},
 [283] = { 2,	0,		SEN(membarrier),		"membarrier"		},
 [284] = { 3,	TM,		SEN(mlock2),			"mlock2"		},
diff --git a/linux/64/syscallent.h b/linux/64/syscallent.h
index 9a531ada..5e5fea45 100644
--- a/linux/64/syscallent.h
+++ b/linux/64/syscallent.h
@@ -226,7 +226,7 @@
 [218] = { 4,	0,		SEN(request_key),		"request_key"		},
 [219] = { 5,	0,		SEN(keyctl),			"keyctl"		},
 [220] = { 5,	TP,		SEN(clone),			"clone"			},
-[221] = { 3,	TF|TP|SE|SI,	SEN(execve),			"execve"		},
+[221] = { 3,	TF|TP|TSD|SE|SI,	SEN(execve),			"execve"		},
 [222] = { 6,	TD|TM|SI,	SEN(mmap),			"mmap"			},
 [223] = { 4,	TD,		SEN(fadvise64),			"fadvise64"		},
 [224] = { 2,	TF,		SEN(swapon),			"swapon"		},
@@ -271,7 +271,7 @@
 [278] = { 3,	0,		SEN(getrandom),			"getrandom"		},
 [279] = { 2,	TD,		SEN(memfd_create),		"memfd_create"		},
 [280] = { 3,	TD,		SEN(bpf),			"bpf"			},
-[281] = { 5,	TD|TF|TP|SE|SI,	SEN(execveat),			"execveat"		},
+[281] = { 5,	TD|TF|TP|TSD|SE|SI,	SEN(execveat),			"execveat"		},
 [282] = { 1,	TD,		SEN(userfaultfd),		"userfaultfd"		},
 [283] = { 2,	0,		SEN(membarrier),		"membarrier"		},
 [284] = { 3,	TM,		SEN(mlock2),			"mlock2"		},
diff --git a/linux/alpha/syscallent.h b/linux/alpha/syscallent.h
index f38d5243..b4026cc1 100644
--- a/linux/alpha/syscallent.h
+++ b/linux/alpha/syscallent.h
@@ -66,7 +66,7 @@
 [ 56] = { 5,	0,		SEN(printargs),			"osf_revoke"		}, /* not implemented */
 [ 57] = { 2,	TF,		SEN(symlink),			"symlink"		},
 [ 58] = { 3,	TF,		SEN(readlink),			"readlink"		},
-[ 59] = { 3,	TF|TP|SE|SI,	SEN(execve),			"execve"		},
+[ 59] = { 3,	TF|TP|TSD|SE|SI,	SEN(execve),			"execve"		},
 [ 60] = { 1,	NF,		SEN(umask),			"umask"			},
 [ 61] = { 1,	TF,		SEN(chroot),			"chroot"		},
 [ 62] = { 5,	TD|TFST|TSTA,	SEN(printargs),			"osf_old_fstat"		}, /* not implemented */
@@ -456,7 +456,7 @@
 [510] = { 5,	TD|TF,		SEN(renameat2),			"renameat2"		},
 [511] = { 3,	0,		SEN(getrandom),			"getrandom"		},
 [512] = { 2,	TD,		SEN(memfd_create),		"memfd_create"		},
-[513] = { 5,	TD|TF|TP|SE|SI,	SEN(execveat),			"execveat"		},
+[513] = { 5,	TD|TF|TP|TSD|SE|SI,	SEN(execveat),			"execveat"		},
 [514] = { 3,	0,		SEN(seccomp),			"seccomp"		},
 [515] = { 3,	TD,		SEN(bpf),			"bpf"			},
 [516] = { 1,	TD,		SEN(userfaultfd),		"userfaultfd"		},
diff --git a/linux/arm/syscallent.h b/linux/arm/syscallent.h
index 9fe6b27b..5c5c1254 100644
--- a/linux/arm/syscallent.h
+++ b/linux/arm/syscallent.h
@@ -18,7 +18,7 @@
 [  8] = { 2,	TD|TF,		SEN(creat),			"creat"			},
 [  9] = { 2,	TF,		SEN(link),			"link"			},
 [ 10] = { 1,	TF,		SEN(unlink),			"unlink"		},
-[ 11] = { 3,	TF|TP|SE|SI,	SEN(execve),			"execve"		},
+[ 11] = { 3,	TF|TP|TSD|SE|SI,	SEN(execve),			"execve"		},
 [ 12] = { 1,	TF,		SEN(chdir),			"chdir"			},
 [ 13] = { 1,	0,		SEN(time),			"time"			},
 [ 14] = { 3,	TF,		SEN(mknod),			"mknod"			},
@@ -109,7 +109,7 @@
 [ 99] = { 2,	TF|TSF|TSFA,	SEN(statfs),			"statfs"		},
 [100] = { 2,	TD|TFSF|TSFA,	SEN(fstatfs),			"fstatfs"		},
 [101] = { 3,	0,		SEN(ioperm),			"ioperm"		},
-[102] = { 2,	TD,		SEN(socketcall),		"socketcall"		},
+[102] = { 2,	TD|TSD,		SEN(socketcall),		"socketcall"		},
 [103] = { 3,	0,		SEN(syslog),			"syslog"		},
 [104] = { 3,	0,		SEN(setitimer),			"setitimer"		},
 [105] = { 2,	0,		SEN(getitimer),			"getitimer"		},
@@ -124,7 +124,7 @@
 [114] = { 4,	TP,		SEN(wait4),			"wait4"			},
 [115] = { 1,	TF,		SEN(swapoff),			"swapoff"		},
 [116] = { 1,	0,		SEN(sysinfo),			"sysinfo"		},
-[117] = { 6,	TI,		SEN(ipc),			"ipc"			},
+[117] = { 6,	TI|TSD,		SEN(ipc),			"ipc"			},
 [118] = { 1,	TD,		SEN(fsync),			"fsync"			},
 [119] = { 0,	TS,		SEN(sigreturn),			"sigreturn"		},
 [120] = { 5,	TP,		SEN(clone),			"clone"			},
@@ -394,7 +394,7 @@
 [384] = { 3,	0,		SEN(getrandom),			"getrandom"		},
 [385] = { 2,	TD,		SEN(memfd_create),		"memfd_create"		},
 [386] = { 3,	TD,		SEN(bpf),			"bpf"			},
-[387] = { 5,	TD|TF|TP|SE|SI,	SEN(execveat),			"execveat"		},
+[387] = { 5,	TD|TF|TP|TSD|SE|SI,	SEN(execveat),			"execveat"		},
 [388] = { 1,	TD,		SEN(userfaultfd),		"userfaultfd"		},
 [389] = { 2,	0,		SEN(membarrier),		"membarrier"		},
 [390] = { 3,	TM,		SEN(mlock2),			"mlock2"		},
diff --git a/linux/avr32/syscallent.h b/linux/avr32/syscallent.h
index 81d18d6b..eb764b20 100644
--- a/linux/avr32/syscallent.h
+++ b/linux/avr32/syscallent.h
@@ -17,7 +17,7 @@
 [  8] = { 2,	TD|TF,		SEN(creat),			"creat"			},
 [  9] = { 2,	TF,		SEN(link),			"link"			},
 [ 10] = { 1,	TF,		SEN(unlink),			"unlink"		},
-[ 11] = { 3,	TF|TP|SE|SI,	SEN(execve),			"execve"		},
+[ 11] = { 3,	TF|TP|TSD|SE|SI,	SEN(execve),			"execve"		},
 [ 12] = { 1,	TF,		SEN(chdir),			"chdir"			},
 [ 13] = { 1,	0,		SEN(time),			"time"			},
 [ 14] = { 3,	TF,		SEN(mknod),			"mknod"			},
@@ -114,7 +114,7 @@
 [105] = { 2,	0,		SEN(getitimer),			"getitimer"		},
 [106] = { 1,	TF,		SEN(swapoff),			"swapoff"		},
 [107] = { 1,	0,		SEN(sysinfo),			"sysinfo"		},
-[108] = { 6,	TI,		SEN(ipc),			"ipc"			},
+[108] = { 6,	TI|TSD,		SEN(ipc),			"ipc"			},
 [109] = { 4,	TD|TN,		SEN(sendfile),			"sendfile"		},
 [110] = { 2,	0,		SEN(setdomainname),		"setdomainname"		},
 [111] = { 1,	0,		SEN(uname),			"uname"			},
@@ -326,7 +326,7 @@
 [317] = { 3,	0,		SEN(getrandom),			"getrandom"		},
 [318] = { 2,	TD,		SEN(memfd_create),		"memfd_create"		},
 [319] = { 3,	TD,		SEN(bpf),			"bpf"			},
-[320] = { 5,	TD|TF|TP|SE|SI,	SEN(execveat),			"execveat"		},
+[320] = { 5,	TD|TF|TP|TSD|SE|SI,	SEN(execveat),			"execveat"		},
 [321] = { 4,	TN,		SEN(accept4),			"accept4"		},
 [322] = { 1,	TD,		SEN(userfaultfd),		"userfaultfd"		},
 [323] = { 2,	0,		SEN(membarrier),		"membarrier"		},
diff --git a/linux/bfin/syscallent.h b/linux/bfin/syscallent.h
index 8a3209d1..aabdb974 100644
--- a/linux/bfin/syscallent.h
+++ b/linux/bfin/syscallent.h
@@ -18,7 +18,7 @@
 [  8] = { 2,	TD|TF,		SEN(creat),			"creat"			},
 [  9] = { 2,	TF,		SEN(link),			"link"			},
 [ 10] = { 1,	TF,		SEN(unlink),			"unlink"		},
-[ 11] = { 3,	TF|TP|SE|SI,	SEN(execve),			"execve"		},
+[ 11] = { 3,	TF|TP|TSD|SE|SI,	SEN(execve),			"execve"		},
 [ 12] = { 1,	TF,		SEN(chdir),			"chdir"			},
 [ 13] = { 1,	0,		SEN(time),			"time"			},
 [ 14] = { 3,	TF,		SEN(mknod),			"mknod"			},
@@ -109,7 +109,7 @@
 [ 99] = { 2,	TF|TSF|TSFA,	SEN(statfs),			"statfs"		},
 [100] = { 2,	TD|TFSF|TSFA,	SEN(fstatfs),			"fstatfs"		},
 [101] = { 3,	0,		SEN(ioperm),			"ioperm"		},
-[102] = { 2,	TD,		SEN(socketcall),		"socketcall"		},
+[102] = { 2,	TD|TSD,		SEN(socketcall),		"socketcall"		},
 [103] = { 3,	0,		SEN(syslog),			"syslog"		},
 [104] = { 3,	0,		SEN(setitimer),			"setitimer"		},
 [105] = { 2,	0,		SEN(getitimer),			"getitimer"		},
@@ -124,7 +124,7 @@
 [114] = { 4,	TP,		SEN(wait4),			"wait4"			},
 [115] = { 1,	TF,		SEN(swapoff),			"swapoff"		},
 [116] = { 1,	0,		SEN(sysinfo),			"sysinfo"		},
-[117] = { 6,	TI,		SEN(ipc),			"ipc"			},
+[117] = { 6,	TI|TSD,		SEN(ipc),			"ipc"			},
 [118] = { 1,	TD,		SEN(fsync),			"fsync"			},
 [119] = { 0,	TS,		SEN(sigreturn),			"sigreturn"		},
 [120] = { 5,	TP,		SEN(clone),			"clone"			},
@@ -398,4 +398,4 @@
 [389] = { 3,	0,		SEN(getrandom),			"getrandom"		},
 [390] = { 2,	TD,		SEN(memfd_create),		"memfd_create"		},
 [391] = { 3,	TD,		SEN(bpf),			"bpf"			},
-[392] = { 5,	TD|TF|TP|SE|SI,	SEN(execveat),			"execveat"		},
+[392] = { 5,	TD|TF|TP|TSD|SE|SI,	SEN(execveat),			"execveat"		},
diff --git a/linux/hppa/syscallent.h b/linux/hppa/syscallent.h
index 4cbde965..7227acfd 100644
--- a/linux/hppa/syscallent.h
+++ b/linux/hppa/syscallent.h
@@ -14,7 +14,7 @@
 [  8] = { 2,	TD|TF,		SEN(creat),			"creat"			},
 [  9] = { 2,	TF,		SEN(link),			"link"			},
 [ 10] = { 1,	TF,		SEN(unlink),			"unlink"		},
-[ 11] = { 3,	TF|TP|SE|SI,	SEN(execve),			"execve"		},
+[ 11] = { 3,	TF|TP|TSD|SE|SI,	SEN(execve),			"execve"		},
 [ 12] = { 1,	TF,		SEN(chdir),			"chdir"			},
 [ 13] = { 1,	0,		SEN(time),			"time"			},
 [ 14] = { 3,	TF,		SEN(mknod),			"mknod"			},
@@ -345,7 +345,7 @@
 [339] = { 3,	0,		SEN(getrandom),			"getrandom"		},
 [340] = { 2,	TD,		SEN(memfd_create),		"memfd_create"		},
 [341] = { 3,	TD,		SEN(bpf),			"bpf"			},
-[342] = { 5,	TD|TF|TP|SE|SI,	SEN(execveat),			"execveat"		},
+[342] = { 5,	TD|TF|TP|TSD|SE|SI,	SEN(execveat),			"execveat"		},
 [343] = { 2,	0,		SEN(membarrier),		"membarrier"		},
 [344] = { 1,	TD,		SEN(userfaultfd),		"userfaultfd"		},
 [345] = { 3,	TM,		SEN(mlock2),			"mlock2"		},
diff --git a/linux/i386/syscallent.h b/linux/i386/syscallent.h
index e2233ec9..e2a62985 100644
--- a/linux/i386/syscallent.h
+++ b/linux/i386/syscallent.h
@@ -18,7 +18,7 @@
 [  8] = { 2,	TD|TF,		SEN(creat),			"creat"			},
 [  9] = { 2,	TF,		SEN(link),			"link"			},
 [ 10] = { 1,	TF,		SEN(unlink),			"unlink"		},
-[ 11] = { 3,	TF|TP|SE|SI,	SEN(execve),			"execve"		},
+[ 11] = { 3,	TF|TP|TSD|SE|SI,	SEN(execve),			"execve"		},
 [ 12] = { 1,	TF,		SEN(chdir),			"chdir"			},
 [ 13] = { 1,	0,		SEN(time),			"time"			},
 [ 14] = { 3,	TF,		SEN(mknod),			"mknod"			},
@@ -109,7 +109,7 @@
 [ 99] = { 2,	TF|TSF|TSFA,	SEN(statfs),			"statfs"		},
 [100] = { 2,	TD|TFSF|TSFA,	SEN(fstatfs),			"fstatfs"		},
 [101] = { 3,	0,		SEN(ioperm),			"ioperm"		},
-[102] = { 2,	TD,		SEN(socketcall),		"socketcall"		},
+[102] = { 2,	TD|TSD,		SEN(socketcall),		"socketcall"		},
 [103] = { 3,	0,		SEN(syslog),			"syslog"		},
 [104] = { 3,	0,		SEN(setitimer),			"setitimer"		},
 [105] = { 2,	0,		SEN(getitimer),			"getitimer"		},
@@ -124,7 +124,7 @@
 [114] = { 4,	TP,		SEN(wait4),			"wait4"			},
 [115] = { 1,	TF,		SEN(swapoff),			"swapoff"		},
 [116] = { 1,	0,		SEN(sysinfo),			"sysinfo"		},
-[117] = { 6,	TI,		SEN(ipc),			"ipc"			},
+[117] = { 6,	TI|TSD,		SEN(ipc),			"ipc"			},
 [118] = { 1,	TD,		SEN(fsync),			"fsync"			},
 [119] = { 0,	TS,		SEN(sigreturn),			"sigreturn"		},
 [120] = { 5,	TP,		SEN(clone),			"clone"			},
@@ -364,7 +364,7 @@
 [355] = { 3,	0,		SEN(getrandom),			"getrandom"		},
 [356] = { 2,	TD,		SEN(memfd_create),		"memfd_create"		},
 [357] = { 3,	TD,		SEN(bpf),			"bpf"			},
-[358] = { 5,	TD|TF|TP|SE|SI,	SEN(execveat),			"execveat"		},
+[358] = { 5,	TD|TF|TP|TSD|SE|SI,	SEN(execveat),			"execveat"		},
 [359] = { 3,	TN,		SEN(socket),			"socket"		},
 [360] = { 4,	TN,		SEN(socketpair),		"socketpair"		},
 [361] = { 3,	TN,		SEN(bind),			"bind"			},
diff --git a/linux/ia64/syscallent.h b/linux/ia64/syscallent.h
index 8a138860..eb1d7d89 100644
--- a/linux/ia64/syscallent.h
+++ b/linux/ia64/syscallent.h
@@ -29,7 +29,7 @@
 [BASE_NR +   6] = { 2,	TD|TF,		SEN(creat),			"creat"			},
 [BASE_NR +   7] = { 2,	TF,		SEN(link),			"link"			},
 [BASE_NR +   8] = { 1,	TF,		SEN(unlink),			"unlink"		},
-[BASE_NR +   9] = { 3,	TF|TP|SE|SI,	SEN(execve),			"execve"		},
+[BASE_NR +   9] = { 3,	TF|TP|TSD|SE|SI,	SEN(execve),			"execve"		},
 [BASE_NR +  10] = { 1,	TF,		SEN(chdir),			"chdir"			},
 [BASE_NR +  11] = { 1,	TD,		SEN(fchdir),			"fchdir"		},
 [BASE_NR +  12] = { 2,	TF,		SEN(utimes),			"utimes"		},
@@ -338,7 +338,7 @@
 [BASE_NR + 315] = { 3,	0,		SEN(getrandom),			"getrandom"		},
 [BASE_NR + 316] = { 2,	TD,		SEN(memfd_create),		"memfd_create"		},
 [BASE_NR + 317] = { 3,	TD,		SEN(bpf),			"bpf"			},
-[BASE_NR + 318] = { 5,	TD|TF|TP|SE|SI,	SEN(execveat),			"execveat"		},
+[BASE_NR + 318] = { 5,	TD|TF|TP|TSD|SE|SI,	SEN(execveat),			"execveat"		},
 [BASE_NR + 319] = { 1,	TD,		SEN(userfaultfd),		"userfaultfd"		},
 [BASE_NR + 320] = { 2,	0,		SEN(membarrier),		"membarrier"		},
 [BASE_NR + 321] = { 5,	0,		SEN(kcmp),			"kcmp"			},
diff --git a/linux/m68k/syscallent.h b/linux/m68k/syscallent.h
index 708e89c9..72c56c0b 100644
--- a/linux/m68k/syscallent.h
+++ b/linux/m68k/syscallent.h
@@ -18,7 +18,7 @@
 [  8] = { 2,	TD|TF,		SEN(creat),			"creat"			},
 [  9] = { 2,	TF,		SEN(link),			"link"			},
 [ 10] = { 1,	TF,		SEN(unlink),			"unlink"		},
-[ 11] = { 3,	TF|TP|SE|SI,	SEN(execve),			"execve"		},
+[ 11] = { 3,	TF|TP|TSD|SE|SI,	SEN(execve),			"execve"		},
 [ 12] = { 1,	TF,		SEN(chdir),			"chdir"			},
 [ 13] = { 1,	0,		SEN(time),			"time"			},
 [ 14] = { 3,	TF,		SEN(mknod),			"mknod"			},
@@ -109,7 +109,7 @@
 [ 99] = { 2,	TF|TSF|TSFA,	SEN(statfs),			"statfs"		},
 [100] = { 2,	TD|TFSF|TSFA,	SEN(fstatfs),			"fstatfs"		},
 [101] = { 3,	0,		SEN(ioperm),			"ioperm"		},
-[102] = { 2,	TD,		SEN(socketcall),		"socketcall"		},
+[102] = { 2,	TD|TSD,		SEN(socketcall),		"socketcall"		},
 [103] = { 3,	0,		SEN(syslog),			"syslog"		},
 [104] = { 3,	0,		SEN(setitimer),			"setitimer"		},
 [105] = { 2,	0,		SEN(getitimer),			"getitimer"		},
@@ -124,7 +124,7 @@
 [114] = { 4,	TP,		SEN(wait4),			"wait4"			},
 [115] = { 1,	TF,		SEN(swapoff),			"swapoff"		},
 [116] = { 1,	0,		SEN(sysinfo),			"sysinfo"		},
-[117] = { 6,	TI,		SEN(ipc),			"ipc"			},
+[117] = { 6,	TI|TSD,		SEN(ipc),			"ipc"			},
 [118] = { 1,	TD,		SEN(fsync),			"fsync"			},
 [119] = { 0,	TS,		SEN(sigreturn),			"sigreturn"		},
 [120] = { 5,	TP,		SEN(clone),			"clone"			},
@@ -361,7 +361,7 @@
 [352] = { 3,	0,		SEN(getrandom),			"getrandom"		},
 [353] = { 2,	TD,		SEN(memfd_create),		"memfd_create"		},
 [354] = { 3,	TD,		SEN(bpf),			"bpf"			},
-[355] = { 5,	TD|TF|TP|SE|SI,	SEN(execveat),			"execveat"		},
+[355] = { 5,	TD|TF|TP|TSD|SE|SI,	SEN(execveat),			"execveat"		},
 [356] = { 3,	TN,		SEN(socket),			"socket"		},
 [357] = { 4,	TN,		SEN(socketpair),		"socketpair"		},
 [358] = { 3,	TN,		SEN(bind),			"bind"			},
diff --git a/linux/microblaze/syscallent.h b/linux/microblaze/syscallent.h
index dcb00305..40c19ce9 100644
--- a/linux/microblaze/syscallent.h
+++ b/linux/microblaze/syscallent.h
@@ -18,7 +18,7 @@
 [  8] = { 2,	TD|TF,		SEN(creat),			"creat"			},
 [  9] = { 2,	TF,		SEN(link),			"link"			},
 [ 10] = { 1,	TF,		SEN(unlink),			"unlink"		},
-[ 11] = { 3,	TF|TP|SE|SI,	SEN(execve),			"execve"		},
+[ 11] = { 3,	TF|TP|TSD|SE|SI,	SEN(execve),			"execve"		},
 [ 12] = { 1,	TF,		SEN(chdir),			"chdir"			},
 [ 13] = { 1,	0,		SEN(time),			"time"			},
 [ 14] = { 3,	TF,		SEN(mknod),			"mknod"			},
@@ -109,7 +109,7 @@
 [ 99] = { 2,	TF|TSF|TSFA,	SEN(statfs),			"statfs"		},
 [100] = { 2,	TD|TFSF|TSFA,	SEN(fstatfs),			"fstatfs"		},
 [101] = { 3,	0,		SEN(ioperm),			"ioperm"		},
-[102] = { 2,	TD,		SEN(socketcall),		"socketcall"		},
+[102] = { 2,	TD|TSD,		SEN(socketcall),		"socketcall"		},
 [103] = { 3,	0,		SEN(syslog),			"syslog"		},
 [104] = { 3,	0,		SEN(setitimer),			"setitimer"		},
 [105] = { 2,	0,		SEN(getitimer),			"getitimer"		},
@@ -124,7 +124,7 @@
 [114] = { 4,	TP,		SEN(wait4),			"wait4"			},
 [115] = { 1,	TF,		SEN(swapoff),			"swapoff"		},
 [116] = { 1,	0,		SEN(sysinfo),			"sysinfo"		},
-[117] = { 6,	TI,		SEN(ipc),			"ipc"			},
+[117] = { 6,	TI|TSD,		SEN(ipc),			"ipc"			},
 [118] = { 1,	TD,		SEN(fsync),			"fsync"			},
 [119] = { 0,	TS,		SEN(sigreturn),			"sigreturn"		},
 [120] = { 6,	TP,		SEN(clone),			"clone"			},
@@ -394,7 +394,7 @@
 [385] = { 3,	0,		SEN(getrandom),			"getrandom"		},
 [386] = { 2,	TD,		SEN(memfd_create),		"memfd_create"		},
 [387] = { 3,	TD,		SEN(bpf),			"bpf"			},
-[388] = { 5,	TD|TF|TP|SE|SI,	SEN(execveat),			"execveat"		},
+[388] = { 5,	TD|TF|TP|TSD|SE|SI,	SEN(execveat),			"execveat"		},
 [389] = { 1,	TD,		SEN(userfaultfd),		"userfaultfd"		},
 [390] = { 2,	0,		SEN(membarrier),		"membarrier"		},
 [391] = { 3,	TM,		SEN(mlock2),			"mlock2"		},
diff --git a/linux/mips/syscallent-n32.h b/linux/mips/syscallent-n32.h
index 143f8110..38fcfbc2 100644
--- a/linux/mips/syscallent-n32.h
+++ b/linux/mips/syscallent-n32.h
@@ -65,7 +65,7 @@
 [BASE_NR +  54] = { 5,	TN,		SEN(getsockopt),		"getsockopt"		},
 [BASE_NR +  55] = { 5,	TP,		SEN(clone),			"clone"			},
 [BASE_NR +  56] = { 0,	TP,		SEN(fork),			"fork"			},
-[BASE_NR +  57] = { 3,	TF|TP|SE|SI,	SEN(execve),			"execve"		},
+[BASE_NR +  57] = { 3,	TF|TP|TSD|SE|SI,	SEN(execve),			"execve"		},
 [BASE_NR +  58] = { 1,	TP|SE,		SEN(exit),			"exit"			},
 [BASE_NR +  59] = { 4,	TP,		SEN(wait4),			"wait4"			},
 [BASE_NR +  60] = { 2,	TS,		SEN(kill),			"kill"			},
@@ -328,7 +328,7 @@
 [BASE_NR + 317] = { 3,	0,		SEN(getrandom),			"getrandom"		},
 [BASE_NR + 318] = { 2,	TD,		SEN(memfd_create),		"memfd_create"		},
 [BASE_NR + 319] = { 3,	TD,		SEN(bpf),			"bpf"			},
-[BASE_NR + 320] = { 5,	TD|TF|TP|SE|SI,	SEN(execveat),			"execveat"		},
+[BASE_NR + 320] = { 5,	TD|TF|TP|TSD|SE|SI,	SEN(execveat),			"execveat"		},
 [BASE_NR + 321] = { 1,	TD,		SEN(userfaultfd),		"userfaultfd"		},
 [BASE_NR + 322] = { 2,	0,		SEN(membarrier),		"membarrier"		},
 [BASE_NR + 323] = { 3,	TM,		SEN(mlock2),			"mlock2"		},
diff --git a/linux/mips/syscallent-n64.h b/linux/mips/syscallent-n64.h
index 74076823..d8abb2b0 100644
--- a/linux/mips/syscallent-n64.h
+++ b/linux/mips/syscallent-n64.h
@@ -65,7 +65,7 @@
 [BASE_NR +  54] = { 5,	TN,		SEN(getsockopt),		"getsockopt"		},
 [BASE_NR +  55] = { 5,	TP,		SEN(clone),			"clone"			},
 [BASE_NR +  56] = { 0,	TP,		SEN(fork),			"fork"			},
-[BASE_NR +  57] = { 3,	TF|TP|SE|SI,	SEN(execve),			"execve"		},
+[BASE_NR +  57] = { 3,	TF|TP|TSD|SE|SI,	SEN(execve),			"execve"		},
 [BASE_NR +  58] = { 1,	TP|SE,		SEN(exit),			"exit"			},
 [BASE_NR +  59] = { 4,	TP,		SEN(wait4),			"wait4"			},
 [BASE_NR +  60] = { 2,	TS,		SEN(kill),			"kill"			},
@@ -324,7 +324,7 @@
 [BASE_NR + 313] = { 3,	0,		SEN(getrandom),			"getrandom"		},
 [BASE_NR + 314] = { 2,	TD,		SEN(memfd_create),		"memfd_create"		},
 [BASE_NR + 315] = { 3,	TD,		SEN(bpf),			"bpf"			},
-[BASE_NR + 316] = { 5,	TD|TF|TP|SE|SI,	SEN(execveat),			"execveat"		},
+[BASE_NR + 316] = { 5,	TD|TF|TP|TSD|SE|SI,	SEN(execveat),			"execveat"		},
 [BASE_NR + 317] = { 1,	TD,		SEN(userfaultfd),		"userfaultfd"		},
 [BASE_NR + 318] = { 2,	0,		SEN(membarrier),		"membarrier"		},
 [BASE_NR + 319] = { 3,	TM,		SEN(mlock2),			"mlock2"		},
diff --git a/linux/mips/syscallent-o32.h b/linux/mips/syscallent-o32.h
index 5a356fb8..650179d2 100644
--- a/linux/mips/syscallent-o32.h
+++ b/linux/mips/syscallent-o32.h
@@ -9,7 +9,7 @@
 #if defined LINUX_MIPSO32
 /* For an O32 strace, decode the o32 syscalls.  */
 # define SYS_syscall_subcall	4000
-[BASE_NR +   0] = { MA,	0,		SEN(syscall),			"syscall"		}, /* start of Linux o32 */
+[BASE_NR +   0] = { MA,	TSD,		SEN(syscall),			"syscall"		}, /* start of Linux o32 */
 [BASE_NR +   1] = { 1,	TP|SE,		SEN(exit),			"exit"			},
 [BASE_NR +   2] = { 0,	TP,		SEN(fork),			"fork"			},
 [BASE_NR +   3] = { 3,	TD,		SEN(read),			"read"			},
@@ -20,7 +20,7 @@
 [BASE_NR +   8] = { 2,	TD|TF,		SEN(creat),			"creat"			},
 [BASE_NR +   9] = { 2,	TF,		SEN(link),			"link"			},
 [BASE_NR +  10] = { 1,	TF,		SEN(unlink),			"unlink"		},
-[BASE_NR +  11] = { 3,	TF|TP|SE|SI,	SEN(execve),			"execve"		},
+[BASE_NR +  11] = { 3,	TF|TP|TSD|SE|SI,	SEN(execve),			"execve"		},
 [BASE_NR +  12] = { 1,	TF,		SEN(chdir),			"chdir"			},
 [BASE_NR +  13] = { 1,	0,		SEN(time),			"time"			},
 [BASE_NR +  14] = { 3,	TF,		SEN(mknod),			"mknod"			},
@@ -111,7 +111,7 @@
 [BASE_NR +  99] = { 2,	TF|TSF|TSFA,	SEN(statfs),			"statfs"		},
 [BASE_NR + 100] = { 2,	TD|TFSF|TSFA,	SEN(fstatfs),			"fstatfs"		},
 [BASE_NR + 101] = { 3,	0,		SEN(ioperm),			"ioperm"		},
-[BASE_NR + 102] = { 2,	TD,		SEN(socketcall),		"socketcall"		},
+[BASE_NR + 102] = { 2,	TD|TSD,		SEN(socketcall),		"socketcall"		},
 [BASE_NR + 103] = { 3,	0,		SEN(syslog),			"syslog"		},
 [BASE_NR + 104] = { 3,	0,		SEN(setitimer),			"setitimer"		},
 [BASE_NR + 105] = { 2,	0,		SEN(getitimer),			"getitimer"		},
@@ -126,7 +126,7 @@
 [BASE_NR + 114] = { 4,	TP,		SEN(wait4),			"wait4"			},
 [BASE_NR + 115] = { 1,	TF,		SEN(swapoff),			"swapoff"		},
 [BASE_NR + 116] = { 1,	0,		SEN(sysinfo),			"sysinfo"		},
-[BASE_NR + 117] = { 6,	TI,		SEN(ipc),			"ipc"			},
+[BASE_NR + 117] = { 6,	TI|TSD,		SEN(ipc),			"ipc"			},
 [BASE_NR + 118] = { 1,	TD,		SEN(fsync),			"fsync"			},
 [BASE_NR + 119] = { 0,	TS,		SEN(sigreturn),			"sigreturn"		},
 [BASE_NR + 120] = { 5,	TP,		SEN(clone),			"clone"			},
@@ -365,7 +365,7 @@
 [BASE_NR + 353] = { 3,	0,		SEN(getrandom),			"getrandom"		},
 [BASE_NR + 354] = { 2,	TD,		SEN(memfd_create),		"memfd_create"		},
 [BASE_NR + 355] = { 3,	TD,		SEN(bpf),			"bpf"			},
-[BASE_NR + 356] = { 5,	TD|TF|TP|SE|SI,	SEN(execveat),			"execveat"		},
+[BASE_NR + 356] = { 5,	TD|TF|TP|TSD|SE|SI,	SEN(execveat),			"execveat"		},
 [BASE_NR + 357] = { 1,	TD,		SEN(userfaultfd),		"userfaultfd"		},
 [BASE_NR + 358] = { 2,	0,		SEN(membarrier),		"membarrier"		},
 [BASE_NR + 359] = { 3,	TM,		SEN(mlock2),			"mlock2"		},
diff --git a/linux/powerpc/syscallent.h b/linux/powerpc/syscallent.h
index f4e11861..104a6e23 100644
--- a/linux/powerpc/syscallent.h
+++ b/linux/powerpc/syscallent.h
@@ -18,7 +18,7 @@
 [  8] = { 2,	TD|TF,		SEN(creat),			"creat"			},
 [  9] = { 2,	TF,		SEN(link),			"link"			},
 [ 10] = { 1,	TF,		SEN(unlink),			"unlink"		},
-[ 11] = { 3,	TF|TP|SE|SI,	SEN(execve),			"execve"		},
+[ 11] = { 3,	TF|TP|TSD|SE|SI,	SEN(execve),			"execve"		},
 [ 12] = { 1,	TF,		SEN(chdir),			"chdir"			},
 [ 13] = { 1,	0,		SEN(time),			"time"			},
 [ 14] = { 3,	TF,		SEN(mknod),			"mknod"			},
@@ -109,7 +109,7 @@
 [ 99] = { 2,	TF|TSF|TSFA,	SEN(statfs),			"statfs"		},
 [100] = { 2,	TD|TFSF|TSFA,	SEN(fstatfs),			"fstatfs"		},
 [101] = { 3,	0,		SEN(ioperm),			"ioperm"		},
-[102] = { 2,	TD,		SEN(socketcall),		"socketcall"		},
+[102] = { 2,	TD|TSD,		SEN(socketcall),		"socketcall"		},
 [103] = { 3,	0,		SEN(syslog),			"syslog"		},
 [104] = { 3,	0,		SEN(setitimer),			"setitimer"		},
 [105] = { 2,	0,		SEN(getitimer),			"getitimer"		},
@@ -124,7 +124,7 @@
 [114] = { 4,	TP,		SEN(wait4),			"wait4"			},
 [115] = { 1,	TF,		SEN(swapoff),			"swapoff"		},
 [116] = { 1,	0,		SEN(sysinfo),			"sysinfo"		},
-[117] = { 6,	TI,		SEN(ipc),			"ipc"			},
+[117] = { 6,	TI|TSD,		SEN(ipc),			"ipc"			},
 [118] = { 1,	TD,		SEN(fsync),			"fsync"			},
 [119] = { 0,	TS,		SEN(sigreturn),			"sigreturn"		},
 [120] = { 5,	TP,		SEN(clone),			"clone"			},
@@ -369,7 +369,7 @@
 [359] = { 3,	0,		SEN(getrandom),			"getrandom"		},
 [360] = { 2,	TD,		SEN(memfd_create),		"memfd_create"		},
 [361] = { 3,	TD,		SEN(bpf),			"bpf"			},
-[362] = { 5,	TD|TF|TP|SE|SI,	SEN(execveat),			"execveat"		},
+[362] = { 5,	TD|TF|TP|TSD|SE|SI,	SEN(execveat),			"execveat"		},
 [363] = { 0,	0,		SEN(printargs),			"switch_endian"		},
 [364] = { 1,	TD,		SEN(userfaultfd),		"userfaultfd"		},
 [365] = { 2,	0,		SEN(membarrier),		"membarrier"		},
diff --git a/linux/powerpc64/syscallent.h b/linux/powerpc64/syscallent.h
index edf56388..06c223a5 100644
--- a/linux/powerpc64/syscallent.h
+++ b/linux/powerpc64/syscallent.h
@@ -18,7 +18,7 @@
 [  8] = { 2,	TD|TF,		SEN(creat),			"creat"			},
 [  9] = { 2,	TF,		SEN(link),			"link"			},
 [ 10] = { 1,	TF,		SEN(unlink),			"unlink"		},
-[ 11] = { 3,	TF|TP|SE|SI,	SEN(execve),			"execve"		},
+[ 11] = { 3,	TF|TP|TSD|SE|SI,	SEN(execve),			"execve"		},
 [ 12] = { 1,	TF,		SEN(chdir),			"chdir"			},
 [ 13] = { 1,	0,		SEN(time),			"time"			},
 [ 14] = { 3,	TF,		SEN(mknod),			"mknod"			},
@@ -109,7 +109,7 @@
 [ 99] = { 2,	TF|TSF|TSFA,	SEN(statfs),			"statfs"		},
 [100] = { 2,	TD|TFSF|TSFA,	SEN(fstatfs),			"fstatfs"		},
 [101] = { 3,	0,		SEN(ioperm),			"ioperm"		},
-[102] = { 2,	TD,		SEN(socketcall),		"socketcall"		},
+[102] = { 2,	TD|TSD,		SEN(socketcall),		"socketcall"		},
 [103] = { 3,	0,		SEN(syslog),			"syslog"		},
 [104] = { 3,	0,		SEN(setitimer),			"setitimer"		},
 [105] = { 2,	0,		SEN(getitimer),			"getitimer"		},
@@ -124,7 +124,7 @@
 [114] = { 4,	TP,		SEN(wait4),			"wait4"			},
 [115] = { 1,	TF,		SEN(swapoff),			"swapoff"		},
 [116] = { 1,	0,		SEN(sysinfo),			"sysinfo"		},
-[117] = { 6,	TI,		SEN(ipc),			"ipc"			},
+[117] = { 6,	TI|TSD,		SEN(ipc),			"ipc"			},
 [118] = { 1,	TD,		SEN(fsync),			"fsync"			},
 [119] = { 0,	TS,		SEN(sigreturn),			"sigreturn"		},
 [120] = { 5,	TP,		SEN(clone),			"clone"			},
@@ -364,7 +364,7 @@
 [359] = { 3,	0,		SEN(getrandom),			"getrandom"		},
 [360] = { 2,	TD,		SEN(memfd_create),		"memfd_create"		},
 [361] = { 3,	TD,		SEN(bpf),			"bpf"			},
-[362] = { 5,	TD|TF|TP|SE|SI,	SEN(execveat),			"execveat"		},
+[362] = { 5,	TD|TF|TP|TSD|SE|SI,	SEN(execveat),			"execveat"		},
 [363] = { 0,	0,		SEN(printargs),			"switch_endian"		},
 [364] = { 1,	TD,		SEN(userfaultfd),		"userfaultfd"		},
 [365] = { 2,	0,		SEN(membarrier),		"membarrier"		},
diff --git a/linux/s390/syscallent.h b/linux/s390/syscallent.h
index e83dc863..826a3c62 100644
--- a/linux/s390/syscallent.h
+++ b/linux/s390/syscallent.h
@@ -20,7 +20,7 @@
 [  8] = { 2,	TD|TF,		SEN(creat),			"creat"			},
 [  9] = { 2,	TF,		SEN(link),			"link"			},
 [ 10] = { 1,	TF,		SEN(unlink),			"unlink"		},
-[ 11] = { 3,	TF|TP|SE|SI,	SEN(execve),			"execve"		},
+[ 11] = { 3,	TF|TP|TSD|SE|SI,	SEN(execve),			"execve"		},
 [ 12] = { 1,	TF,		SEN(chdir),			"chdir"			},
 [ 13] = { 1,	0,		SEN(time),			"time"			},
 [ 14] = { 3,	TF,		SEN(mknod),			"mknod"			},
@@ -111,7 +111,7 @@
 [ 99] = { 2,	TF|TSF|TSFA,	SEN(statfs),			"statfs"		},
 [100] = { 2,	TD|TFSF|TSFA,	SEN(fstatfs),			"fstatfs"		},
 [101] = { 3,	0,		SEN(ioperm),			"ioperm"		},
-[102] = { 2,	TD,		SEN(socketcall),		"socketcall"		},
+[102] = { 2,	TD|TSD,		SEN(socketcall),		"socketcall"		},
 [103] = { 3,	0,		SEN(syslog),			"syslog"		},
 [104] = { 3,	0,		SEN(setitimer),			"setitimer"		},
 [105] = { 2,	0,		SEN(getitimer),			"getitimer"		},
@@ -126,7 +126,7 @@
 [114] = { 4,	TP,		SEN(wait4),			"wait4"			},
 [115] = { 1,	TF,		SEN(swapoff),			"swapoff"		},
 [116] = { 1,	0,		SEN(sysinfo),			"sysinfo"		},
-[117] = { 5,	TI,		SEN(ipc),			"ipc"			},
+[117] = { 5,	TI|TSD,		SEN(ipc),			"ipc"			},
 [118] = { 1,	TD,		SEN(fsync),			"fsync"			},
 [119] = { 0,	TS,		SEN(sigreturn),			"sigreturn"		},
 [120] = { 5,	TP,		SEN(clone),			"clone"			},
@@ -363,7 +363,7 @@
 [351] = { 3,	TD,		SEN(bpf),			"bpf"			},
 [352] = { 3,	0,		SEN(s390_pci_mmio_write),	"s390_pci_mmio_write"	},
 [353] = { 3,	0,		SEN(s390_pci_mmio_read),	"s390_pci_mmio_read"	},
-[354] = { 5,	TD|TF|TP|SE|SI,	SEN(execveat),			"execveat"		},
+[354] = { 5,	TD|TF|TP|TSD|SE|SI,	SEN(execveat),			"execveat"		},
 [355] = { 1,	TD,		SEN(userfaultfd),		"userfaultfd"		},
 [356] = { 2,	0,		SEN(membarrier),		"membarrier"		},
 [357] = { 5,	TN,		SEN(recvmmsg_time32),		"recvmmsg"		},
diff --git a/linux/s390x/syscallent.h b/linux/s390x/syscallent.h
index aed5f72a..7c35e7f9 100644
--- a/linux/s390x/syscallent.h
+++ b/linux/s390x/syscallent.h
@@ -19,7 +19,7 @@
 [  8] = { 2,	TD|TF,		SEN(creat),			"creat"			},
 [  9] = { 2,	TF,		SEN(link),			"link"			},
 [ 10] = { 1,	TF,		SEN(unlink),			"unlink"		},
-[ 11] = { 3,	TF|TP|SE|SI,	SEN(execve),			"execve"		},
+[ 11] = { 3,	TF|TP|TSD|SE|SI,	SEN(execve),			"execve"		},
 [ 12] = { 1,	TF,		SEN(chdir),			"chdir"			},
 [ 13] = { },
 [ 14] = { 3,	TF,		SEN(mknod),			"mknod"			},
@@ -105,7 +105,7 @@
 [ 99] = { 2,	TF|TSF|TSFA,	SEN(statfs),			"statfs"		},
 [100] = { 2,	TD|TFSF|TSFA,	SEN(fstatfs),			"fstatfs"		},
 [101] = { },
-[102] = { 2,	TD,		SEN(socketcall),		"socketcall"		},
+[102] = { 2,	TD|TSD,		SEN(socketcall),		"socketcall"		},
 [103] = { 3,	0,		SEN(syslog),			"syslog"		},
 [104] = { 3,	0,		SEN(setitimer),			"setitimer"		},
 [105] = { 2,	0,		SEN(getitimer),			"getitimer"		},
@@ -120,7 +120,7 @@
 [114] = { 4,	TP,		SEN(wait4),			"wait4"			},
 [115] = { 1,	TF,		SEN(swapoff),			"swapoff"		},
 [116] = { 1,	0,		SEN(sysinfo),			"sysinfo"		},
-[117] = { 5,	TI,		SEN(ipc),			"ipc"			},
+[117] = { 5,	TI|TSD,		SEN(ipc),			"ipc"			},
 [118] = { 1,	TD,		SEN(fsync),			"fsync"			},
 [119] = { 0,	TS,		SEN(sigreturn),			"sigreturn"		},
 [120] = { 5,	TP,		SEN(clone),			"clone"			},
@@ -347,7 +347,7 @@
 [351] = { 3,	TD,		SEN(bpf),			"bpf"			},
 [352] = { 3,	0,		SEN(s390_pci_mmio_write),	"s390_pci_mmio_write"	},
 [353] = { 3,	0,		SEN(s390_pci_mmio_read),	"s390_pci_mmio_read"	},
-[354] = { 5,	TD|TF|TP|SE|SI,	SEN(execveat),			"execveat"		},
+[354] = { 5,	TD|TF|TP|TSD|SE|SI,	SEN(execveat),			"execveat"		},
 [355] = { 1,	TD,		SEN(userfaultfd),		"userfaultfd"		},
 [356] = { 2,	0,		SEN(membarrier),		"membarrier"		},
 [357] = { 5,	TN,		SEN(recvmmsg_time64),		"recvmmsg"		},
diff --git a/linux/sh/syscallent.h b/linux/sh/syscallent.h
index 8a5edd3d..5ed56927 100644
--- a/linux/sh/syscallent.h
+++ b/linux/sh/syscallent.h
@@ -20,7 +20,7 @@
 [  8] = { 2,	TD|TF,		SEN(creat),			"creat"			},
 [  9] = { 2,	TF,		SEN(link),			"link"			},
 [ 10] = { 1,	TF,		SEN(unlink),			"unlink"		},
-[ 11] = { 3,	TF|TP|SE|SI,	SEN(execve),			"execve"		},
+[ 11] = { 3,	TF|TP|TSD|SE|SI,	SEN(execve),			"execve"		},
 [ 12] = { 1,	TF,		SEN(chdir),			"chdir"			},
 [ 13] = { 1,	0,		SEN(time),			"time"			},
 [ 14] = { 3,	TF,		SEN(mknod),			"mknod"			},
@@ -111,7 +111,7 @@
 [ 99] = { 2,	TF|TSF|TSFA,	SEN(statfs),			"statfs"		},
 [100] = { 2,	TD|TFSF|TSFA,	SEN(fstatfs),			"fstatfs"		},
 [101] = { 3,	0,		SEN(ioperm),			"ioperm"		},
-[102] = { 2,	TD,		SEN(socketcall),		"socketcall"		},
+[102] = { 2,	TD|TSD,		SEN(socketcall),		"socketcall"		},
 [103] = { 3,	0,		SEN(syslog),			"syslog"		},
 [104] = { 3,	0,		SEN(setitimer),			"setitimer"		},
 [105] = { 2,	0,		SEN(getitimer),			"getitimer"		},
@@ -126,7 +126,7 @@
 [114] = { 4,	TP,		SEN(wait4),			"wait4"			},
 [115] = { 1,	TF,		SEN(swapoff),			"swapoff"		},
 [116] = { 1,	0,		SEN(sysinfo),			"sysinfo"		},
-[117] = { 6,	TI,		SEN(ipc),			"ipc"			},
+[117] = { 6,	TI|TSD,		SEN(ipc),			"ipc"			},
 [118] = { 1,	TD,		SEN(fsync),			"fsync"			},
 [119] = { 0,	TS,		SEN(sigreturn),			"sigreturn"		},
 [120] = { 5,	TP,		SEN(clone),			"clone"			},
@@ -382,7 +382,7 @@
 [373] = { 3,	0,		SEN(getrandom),			"getrandom"		},
 [374] = { 2,	TD,		SEN(memfd_create),		"memfd_create"		},
 [375] = { 3,	TD,		SEN(bpf),			"bpf"			},
-[376] = { 5,	TD|TF|TP|SE|SI,	SEN(execveat),			"execveat"		},
+[376] = { 5,	TD|TF|TP|TSD|SE|SI,	SEN(execveat),			"execveat"		},
 [377] = { 1,	TD,		SEN(userfaultfd),		"userfaultfd"		},
 [378] = { 2,	0,		SEN(membarrier),		"membarrier"		},
 [379] = { 3,	TM,		SEN(mlock2),			"mlock2"		},
diff --git a/linux/sh64/syscallent.h b/linux/sh64/syscallent.h
index 9f2d6e37..12b8ffc0 100644
--- a/linux/sh64/syscallent.h
+++ b/linux/sh64/syscallent.h
@@ -18,7 +18,7 @@
 [  8] = { 2,	TD|TF,		SEN(creat),			"creat"			},
 [  9] = { 2,	TF,		SEN(link),			"link"			},
 [ 10] = { 1,	TF,		SEN(unlink),			"unlink"		},
-[ 11] = { 3,	TF|TP|SE|SI,	SEN(execve),			"execve"		},
+[ 11] = { 3,	TF|TP|TSD|SE|SI,	SEN(execve),			"execve"		},
 [ 12] = { 1,	TF,		SEN(chdir),			"chdir"			},
 [ 13] = { 1,	0,		SEN(time),			"time"			},
 [ 14] = { 3,	TF,		SEN(mknod),			"mknod"			},
@@ -109,7 +109,7 @@
 [ 99] = { 2,	TF|TSF|TSFA,	SEN(statfs),			"statfs"		},
 [100] = { 2,	TD|TFSF|TSFA,	SEN(fstatfs),			"fstatfs"		},
 [101] = { 3,	0,		SEN(ioperm),			"ioperm"		},
-[102] = { 2,	TD,		SEN(socketcall),		"socketcall"		},
+[102] = { 2,	TD|TSD,		SEN(socketcall),		"socketcall"		},
 [103] = { 3,	0,		SEN(syslog),			"syslog"		},
 [104] = { 3,	0,		SEN(setitimer),			"setitimer"		},
 [105] = { 2,	0,		SEN(getitimer),			"getitimer"		},
@@ -124,7 +124,7 @@
 [114] = { 4,	TP,		SEN(wait4),			"wait4"			},
 [115] = { 1,	TF,		SEN(swapoff),			"swapoff"		},
 [116] = { 1,	0,		SEN(sysinfo),			"sysinfo"		},
-[117] = { 6,	TI,		SEN(ipc),			"ipc"			},
+[117] = { 6,	TI|TSD,		SEN(ipc),			"ipc"			},
 [118] = { 1,	TD,		SEN(fsync),			"fsync"			},
 [119] = { 0,	TS,		SEN(sigreturn),			"sigreturn"		},
 [120] = { 5,	TP,		SEN(clone),			"clone"			},
@@ -391,7 +391,7 @@
 [384] = { 3,	0,		SEN(getrandom),			"getrandom"		},
 [385] = { 2,	TD,		SEN(memfd_create),		"memfd_create"		},
 [386] = { 3,	TD,		SEN(bpf),			"bpf"			},
-[387] = { 5,	TD|TF|TP|SE|SI,	SEN(execveat),			"execveat"		},
+[387] = { 5,	TD|TF|TP|TSD|SE|SI,	SEN(execveat),			"execveat"		},
 [388] = { 1,	TD,		SEN(userfaultfd),		"userfaultfd"		},
 [389] = { 2,	0,		SEN(membarrier),		"membarrier"		},
 [390] = { 3,	TM,		SEN(mlock2),			"mlock2"		},
diff --git a/linux/sparc/syscallent.h b/linux/sparc/syscallent.h
index 8a49b686..a10fbc03 100644
--- a/linux/sparc/syscallent.h
+++ b/linux/sparc/syscallent.h
@@ -16,7 +16,7 @@
 [  8] = { 2,	TD|TF,		SEN(creat),			"creat"			},
 [  9] = { 2,	TF,		SEN(link),			"link"			},
 [ 10] = { 1,	TF,		SEN(unlink),			"unlink"		},
-[ 11] = { 2,	TF|TP|SE|SI,	SEN(execv),			"execv"			},
+[ 11] = { 2,	TF|TP|TSD|SE|SI,	SEN(execv),			"execv"			},
 [ 12] = { 1,	TF,		SEN(chdir),			"chdir"			},
 [ 13] = { 3,	TF,		SEN(chown16),			"chown"			},
 [ 14] = { 3,	TF,		SEN(mknod),			"mknod"			},
@@ -64,7 +64,7 @@
 [ 56] = { 6,	TD|TM|SI,	SEN(mmap_4koff),		"mmap2"			},
 [ 57] = { 2,	TF,		SEN(symlink),			"symlink"		},
 [ 58] = { 3,	TF,		SEN(readlink),			"readlink"		},
-[ 59] = { 3,	TF|TP|SE|SI,	SEN(execve),			"execve"		},
+[ 59] = { 3,	TF|TP|TSD|SE|SI,	SEN(execve),			"execve"		},
 [ 60] = { 1,	NF,		SEN(umask),			"umask"			},
 [ 61] = { 1,	TF,		SEN(chroot),			"chroot"		},
 [ 62] = { 2,	TD|TFST|TSTA,	SEN(fstat),			"fstat"			},
@@ -211,7 +211,7 @@
 [203] = { 1,	TF,		SEN(uselib),			"uselib"		},
 [204] = { 3,	TD,		SEN(readdir),			"readdir"		},
 [205] = { 4,	TD,		SEN(readahead),			"readahead"		},
-[206] = { 2,	TD,		SEN(socketcall),		"socketcall"		},
+[206] = { 2,	TD|TSD,		SEN(socketcall),		"socketcall"		},
 [207] = { 3,	0,		SEN(syslog),			"syslog"		},
 [208] = { 4,	0,		SEN(lookup_dcookie),		"lookup_dcookie"	},
 [209] = { 5,	TD,		SEN(fadvise64),			"fadvise64"		},
@@ -220,7 +220,7 @@
 [212] = { 3,	TP,		SEN(waitpid),			"waitpid"		},
 [213] = { 1,	TF,		SEN(swapoff),			"swapoff"		},
 [214] = { 1,	0,		SEN(sysinfo),			"sysinfo"		},
-[215] = { 6,	TI,		SEN(ipc),			"ipc"			},
+[215] = { 6,	TI|TSD,		SEN(ipc),			"ipc"			},
 [216] = { 0,	TS,		SEN(sigreturn),			"sigreturn"		},
 [217] = { 5,	TP,		SEN(clone),			"clone"			},
 [218] = { 2,	0,		SEN(ioprio_get),		"ioprio_get"		},
@@ -355,7 +355,7 @@
 [347] = { 3,	0,		SEN(getrandom),			"getrandom"		},
 [348] = { 2,	TD,		SEN(memfd_create),		"memfd_create"		},
 [349] = { 3,	TD,		SEN(bpf),			"bpf"			},
-[350] = { 5,	TD|TF|TP|SE|SI,	SEN(execveat),			"execveat"		},
+[350] = { 5,	TD|TF|TP|TSD|SE|SI,	SEN(execveat),			"execveat"		},
 [351] = { 2,	0,		SEN(membarrier),		"membarrier"		},
 [352] = { 1,	TD,		SEN(userfaultfd),		"userfaultfd"		},
 [353] = { 3,	TN,		SEN(bind),			"bind"			},
diff --git a/linux/sparc64/syscallent.h b/linux/sparc64/syscallent.h
index fe8e75e9..41046df9 100644
--- a/linux/sparc64/syscallent.h
+++ b/linux/sparc64/syscallent.h
@@ -16,7 +16,7 @@
 [  8] = { 2,	TD|TF,		SEN(creat),			"creat"			},
 [  9] = { 2,	TF,		SEN(link),			"link"			},
 [ 10] = { 1,	TF,		SEN(unlink),			"unlink"		},
-[ 11] = { 2,	TF|TP|SE|SI,	SEN(execv),			"execv"			},
+[ 11] = { 2,	TF|TP|TSD|SE|SI,	SEN(execv),			"execv"			},
 [ 12] = { 1,	TF,		SEN(chdir),			"chdir"			},
 [ 13] = { 3,	TF,		SEN(chown),			"chown"			},
 [ 14] = { 3,	TF,		SEN(mknod),			"mknod"			},
@@ -63,7 +63,7 @@
 [ 56] = { },
 [ 57] = { 2,	TF,		SEN(symlink),			"symlink"		},
 [ 58] = { 3,	TF,		SEN(readlink),			"readlink"		},
-[ 59] = { 3,	TF|TP|SE|SI,	SEN(execve),			"execve"		},
+[ 59] = { 3,	TF|TP|TSD|SE|SI,	SEN(execve),			"execve"		},
 [ 60] = { 1,	NF,		SEN(umask),			"umask"			},
 [ 61] = { 1,	TF,		SEN(chroot),			"chroot"		},
 [ 62] = { 2,	TD|TFST|TSTA,	SEN(fstat),			"fstat"			},
@@ -209,7 +209,7 @@
 [203] = { 1,	TF,		SEN(uselib),			"uselib"		},
 [204] = { 3,	TD,		SEN(readdir),			"readdir"		},
 [205] = { 3,	TD,		SEN(readahead),			"readahead"		},
-[206] = { 2,	TD,		SEN(socketcall),		"socketcall"		},
+[206] = { 2,	TD|TSD,		SEN(socketcall),		"socketcall"		},
 [207] = { 3,	0,		SEN(syslog),			"syslog"		},
 [208] = { 3,	0,		SEN(lookup_dcookie),		"lookup_dcookie"	},
 [209] = { 4,	TD,		SEN(fadvise64),			"fadvise64"		},
@@ -218,7 +218,7 @@
 [212] = { 3,	TP,		SEN(waitpid),			"waitpid"		},
 [213] = { 1,	TF,		SEN(swapoff),			"swapoff"		},
 [214] = { 1,	0,		SEN(sysinfo),			"sysinfo"		},
-[215] = { 6,	TI,		SEN(ipc),			"ipc"			},
+[215] = { 6,	TI|TSD,		SEN(ipc),			"ipc"			},
 [216] = { 0,	TS,		SEN(sigreturn),			"sigreturn"		},
 [217] = { 5,	TP,		SEN(clone),			"clone"			},
 [218] = { 2,	0,		SEN(ioprio_get),		"ioprio_get"		},
@@ -353,7 +353,7 @@
 [347] = { 3,	0,		SEN(getrandom),			"getrandom"		},
 [348] = { 2,	TD,		SEN(memfd_create),		"memfd_create"		},
 [349] = { 3,	TD,		SEN(bpf),			"bpf"			},
-[350] = { 5,	TD|TF|TP|SE|SI,	SEN(execveat),			"execveat"		},
+[350] = { 5,	TD|TF|TP|TSD|SE|SI,	SEN(execveat),			"execveat"		},
 [351] = { 2,	0,		SEN(membarrier),		"membarrier"		},
 [352] = { 1,	TD,		SEN(userfaultfd),		"userfaultfd"		},
 [353] = { 3,	TN,		SEN(bind),			"bind"			},
diff --git a/linux/x32/syscallent.h b/linux/x32/syscallent.h
index 530e7e93..07058f98 100644
--- a/linux/x32/syscallent.h
+++ b/linux/x32/syscallent.h
@@ -354,7 +354,7 @@
 [517] = { 6,	CST|TN,		SEN(recvfrom),			"recvfrom"		},
 [518] = { 3,	CST|TN,		SEN(sendmsg),			"sendmsg"		},
 [519] = { 3,	CST|TN,		SEN(recvmsg),			"recvmsg"		},
-[520] = { 3,	CST|TF|TP|SE|SI,SEN(execve),			"execve"		},
+[520] = { 3,	CST|TF|TP|TSD|SE|SI,SEN(execve),			"execve"		},
 [521] = { 4,	CST,		SEN(ptrace),			"ptrace"		},
 [522] = { 2,	CST|TS,		SEN(rt_sigpending),		"rt_sigpending"		},
 [523] = { 4,	CST|TS,		SEN(rt_sigtimedwait_time64),	"rt_sigtimedwait"	},
@@ -379,6 +379,6 @@
 [542] = { 5,	CST|TN,		SEN(getsockopt),		"getsockopt"		},
 [543] = { 2,	CST|TM,		SEN(io_setup),			"io_setup"		},
 [544] = { 3,	CST,		SEN(io_submit),			"io_submit"		},
-[545] = { 5,	CST|TD|TF|TP|SE|SI,	SEN(execveat),		"execveat"		},
+[545] = { 5,	CST|TD|TF|TP|TSD|SE|SI,	SEN(execveat),		"execveat"		},
 [546] = { 5,	TD,		SEN(preadv2),			"preadv2"		},
 [547] = { 5,	TD,		SEN(pwritev2),			"pwritev2"		},
diff --git a/linux/x86_64/syscallent.h b/linux/x86_64/syscallent.h
index 40becd82..ae9fc5eb 100644
--- a/linux/x86_64/syscallent.h
+++ b/linux/x86_64/syscallent.h
@@ -64,7 +64,7 @@
 [ 56] = { 5,	TP,		SEN(clone),			"clone"			},
 [ 57] = { 0,	TP,		SEN(fork),			"fork"			},
 [ 58] = { 0,	TP,		SEN(vfork),			"vfork"			},
-[ 59] = { 3,	TF|TP|SE|SI,	SEN(execve),			"execve"		},
+[ 59] = { 3,	TF|TP|TSD|SE|SI,	SEN(execve),			"execve"		},
 [ 60] = { 1,	TP|SE,		SEN(exit),			"exit"			},
 [ 61] = { 4,	TP,		SEN(wait4),			"wait4"			},
 [ 62] = { 2,	TS,		SEN(kill),			"kill"			},
@@ -327,7 +327,7 @@
 [319] = { 2,	TD,		SEN(memfd_create),		"memfd_create"		},
 [320] = { 5,	TD,		SEN(kexec_file_load),		"kexec_file_load"	},
 [321] = { 3,	TD,		SEN(bpf),			"bpf"			},
-[322] = { 5,	TD|TF|TP|SE|SI,	SEN(execveat),			"execveat"		},
+[322] = { 5,	TD|TF|TP|TSD|SE|SI,	SEN(execveat),			"execveat"		},
 [323] = { 1,	TD,		SEN(userfaultfd),		"userfaultfd"		},
 [324] = { 2,	0,		SEN(membarrier),		"membarrier"		},
 [325] = { 3,	TM,		SEN(mlock2),			"mlock2"		},
diff --git a/linux/xtensa/syscallent.h b/linux/xtensa/syscallent.h
index dd2795d3..3e1a4ac1 100644
--- a/linux/xtensa/syscallent.h
+++ b/linux/xtensa/syscallent.h
@@ -117,7 +117,7 @@
 [114] = { 4,	TD|TN,		SEN(sendfile64),		"sendfile64"		},
 [115] = { 4,	TN,		SEN(sendmmsg),			"sendmmsg"		},
 [116] = { 5,	TP,		SEN(clone),			"clone"			},
-[117] = { 3,	TF|TP|SE|SI,	SEN(execve),			"execve"		},
+[117] = { 3,	TF|TP|TSD|SE|SI,	SEN(execve),			"execve"		},
 [118] = { 1,	TP|SE,		SEN(exit),			"exit"			},
 [119] = { 1,	TP|SE,		SEN(exit),			"exit_group"		},
 [120] = { 0,	PU|NF,		SEN(getpid),			"getpid"		},
@@ -336,7 +336,7 @@
 [338] = { 3,	0,		SEN(getrandom),			"getrandom"		},
 [339] = { 2,	TD,		SEN(memfd_create),		"memfd_create"		},
 [340] = { 3,	TD,		SEN(bpf),			"bpf"			},
-[341] = { 5,	TD|TF|TP|SE|SI,	SEN(execveat),			"execveat"		},
+[341] = { 5,	TD|TF|TP|TSD|SE|SI,	SEN(execveat),			"execveat"		},
 [342] = { 1,	TD,		SEN(userfaultfd),		"userfaultfd"		},
 [343] = { 2,	0,		SEN(membarrier),		"membarrier"		},
 [344] = { 3,	TM,		SEN(mlock2),			"mlock2"		},
diff --git a/sysent.h b/sysent.h
index 336a30bf..60aeb03d 100644
--- a/sysent.h
+++ b/sysent.h
@@ -36,5 +36,6 @@ typedef struct sysent {
 # define TRACE_FSTAT			00400000	/* Trace *fstat{,at}{,64} syscalls. */
 # define TRACE_STAT_LIKE		01000000	/* Trace *{,l,f}stat{,x,at}{,64} syscalls. */
 # define TRACE_PURE			02000000	/* Trace getter syscalls with no arguments. */
+# define TRACE_SECCOMP_DEFAULT		04000000	/* Syscall is traced by seccomp-filter by default. */
 
 #endif /* !STRACE_SYSENT_H */
diff --git a/sysent_shorthand_defs.h b/sysent_shorthand_defs.h
index 009f9a4b..6ce74a48 100644
--- a/sysent_shorthand_defs.h
+++ b/sysent_shorthand_defs.h
@@ -27,6 +27,7 @@
 # define SI	0
 # define SE	0
 # define CST	0
+# define TSD	0
 # define SEN(a)	0, 0
 
 #else	/*	!STRACE_TESTS_H	*/
@@ -51,6 +52,7 @@
 # define SI	MEMORY_MAPPING_CHANGE
 # define SE	STACKTRACE_CAPTURE_ON_ENTER
 # define CST	COMPAT_SYSCALL_TYPES
+# define TSD	TRACE_SECCOMP_DEFAULT
 /* SEN(a) is defined elsewhere */
 
 #endif
-- 
2.17.1



More information about the Strace-devel mailing list