summaryrefslogtreecommitdiffhomepage
path: root/pkg/abi/linux
diff options
context:
space:
mode:
authorFabricio Voznika <fvoznika@google.com>2018-10-20 11:12:26 -0700
committerShentubot <shentubot@google.com>2018-10-20 11:14:23 -0700
commitb2068cf5a5d43f3898cf389ab2d6151cf61908ac (patch)
tree71ec95233e3c3cfa32757ecb4b01aa73ee9adb1b /pkg/abi/linux
parent8fce67af24945f82378b4c2731cca1788936d074 (diff)
Add more unimplemented syscall events
Added events for *ctl syscalls that may have multiple different commands. For runsc, each syscall event is only logged once. For *ctl syscalls, use the cmd as identifier, not only the syscall number. PiperOrigin-RevId: 218015941 Change-Id: Ie3c19131ae36124861e9b492a7dbe1765d9e5e59
Diffstat (limited to 'pkg/abi/linux')
-rw-r--r--pkg/abi/linux/ioctl.go75
-rw-r--r--pkg/abi/linux/prctl.go99
2 files changed, 144 insertions, 30 deletions
diff --git a/pkg/abi/linux/ioctl.go b/pkg/abi/linux/ioctl.go
index 9afc3d1ef..191b26e4d 100644
--- a/pkg/abi/linux/ioctl.go
+++ b/pkg/abi/linux/ioctl.go
@@ -18,28 +18,59 @@ package linux
//
// These are ordered by request number (low byte).
const (
- TCGETS = 0x00005401
- TCSETS = 0x00005402
- TCSETSW = 0x00005403
- TCSETSF = 0x00005404
- TIOCSCTTY = 0x0000540e
- TIOCGPGRP = 0x0000540f
- TIOCSPGRP = 0x00005410
- TIOCOUTQ = 0x00005411
- TIOCGWINSZ = 0x00005413
- TIOCSWINSZ = 0x00005414
- TIOCINQ = 0x0000541b
- FIONREAD = TIOCINQ
- FIONBIO = 0x00005421
- TIOCGPTN = 0x80045430
- TIOCSPTLCK = 0x40045431
- FIONCLEX = 0x00005450
- FIOCLEX = 0x00005451
- FIOASYNC = 0x00005452
- FIOSETOWN = 0x00008901
- SIOCSPGRP = 0x00008902
- FIOGETOWN = 0x00008903
- SIOCGPGRP = 0x00008904
+ TCGETS = 0x00005401
+ TCSETS = 0x00005402
+ TCSETSW = 0x00005403
+ TCSETSF = 0x00005404
+ TCSBRK = 0x00005409
+ TIOCEXCL = 0x0000540c
+ TIOCNXCL = 0x0000540d
+ TIOCSCTTY = 0x0000540e
+ TIOCGPGRP = 0x0000540f
+ TIOCSPGRP = 0x00005410
+ TIOCOUTQ = 0x00005411
+ TIOCSTI = 0x00005412
+ TIOCGWINSZ = 0x00005413
+ TIOCSWINSZ = 0x00005414
+ TIOCMGET = 0x00005415
+ TIOCMBIS = 0x00005416
+ TIOCMBIC = 0x00005417
+ TIOCMSET = 0x00005418
+ TIOCINQ = 0x0000541b
+ FIONREAD = TIOCINQ
+ FIONBIO = 0x00005421
+ TIOCSETD = 0x00005423
+ TIOCNOTTY = 0x00005422
+ TIOCGETD = 0x00005424
+ TCSBRKP = 0x00005425
+ TIOCSBRK = 0x00005427
+ TIOCCBRK = 0x00005428
+ TIOCGSID = 0x00005429
+ TIOCGPTN = 0x80045430
+ TIOCSPTLCK = 0x40045431
+ TIOCGDEV = 0x80045432
+ TIOCVHANGUP = 0x00005437
+ TCFLSH = 0x0000540b
+ TIOCCONS = 0x0000541d
+ TIOCSSERIAL = 0x0000541f
+ TIOCGEXCL = 0x80045440
+ TIOCGPTPEER = 0x80045441
+ TIOCGICOUNT = 0x0000545d
+ FIONCLEX = 0x00005450
+ FIOCLEX = 0x00005451
+ FIOASYNC = 0x00005452
+ FIOSETOWN = 0x00008901
+ SIOCSPGRP = 0x00008902
+ FIOGETOWN = 0x00008903
+ SIOCGPGRP = 0x00008904
+)
+
+// ioctl(2) requests provided by uapi/linux/sockios.h
+const (
+ SIOCGIFMEM = 0x891f
+ SIOCGIFPFLAGS = 0x8935
+ SIOCGMIIPHY = 0x8947
+ SIOCGMIIREG = 0x8948
)
// ioctl(2) requests provided by uapi/linux/android/binder.h
diff --git a/pkg/abi/linux/prctl.go b/pkg/abi/linux/prctl.go
index e152c4c27..db3206f36 100644
--- a/pkg/abi/linux/prctl.go
+++ b/pkg/abi/linux/prctl.go
@@ -22,26 +22,102 @@ const (
// PR_GET_PDEATHSIG will get the process' death signal.
PR_GET_PDEATHSIG = 2
+ // PR_GET_DUMPABLE will get the process's dumpable flag.
+ PR_GET_DUMPABLE = 3
+
+ // PR_SET_DUMPABLE will set the process's dumpable flag.
+ PR_SET_DUMPABLE = 4
+
// PR_GET_KEEPCAPS will get the value of the keep capabilities flag.
PR_GET_KEEPCAPS = 7
// PR_SET_KEEPCAPS will set the value of the keep capabilities flag.
PR_SET_KEEPCAPS = 8
+ // PR_GET_TIMING will get the process's timing method.
+ PR_GET_TIMING = 13
+
+ // PR_SET_TIMING will set the process's timing method.
+ PR_SET_TIMING = 14
+
// PR_SET_NAME will set the process' name.
PR_SET_NAME = 15
// PR_GET_NAME will get the process' name.
PR_GET_NAME = 16
+ // PR_GET_SECCOMP will get a process' seccomp mode.
+ PR_GET_SECCOMP = 21
+
+ // PR_SET_SECCOMP will set a process' seccomp mode.
+ PR_SET_SECCOMP = 22
+
+ // PR_CAPBSET_READ will get the capability bounding set.
+ PR_CAPBSET_READ = 23
+
+ // PR_CAPBSET_DROP will set the capability bounding set.
+ PR_CAPBSET_DROP = 24
+
+ // PR_GET_TSC will get the the value of the flag determining whether the
+ // timestamp counter can be read.
+ PR_GET_TSC = 25
+
+ // PR_SET_TSC will set the the value of the flag determining whether the
+ // timestamp counter can be read.
+ PR_SET_TSC = 26
+
+ // PR_SET_TIMERSLACK set the process's time slack.
+ PR_SET_TIMERSLACK = 29
+
+ // PR_GET_TIMERSLACK get the process's time slack.
+ PR_GET_TIMERSLACK = 30
+
+ // PR_TASK_PERF_EVENTS_DISABLE disable all performance counters attached to
+ // the calling process.
+ PR_TASK_PERF_EVENTS_DISABLE = 31
+
+ // PR_TASK_PERF_EVENTS_ENABLE enable all performance counters attached to
+ // the calling process.
+ PR_TASK_PERF_EVENTS_ENABLE = 32
+
+ // PR_MCE_KILL set the machine check memory corruption kill policy for the
+ // calling thread.
+ PR_MCE_KILL = 33
+
+ // PR_MCE_KILL_GET get the machine check memory corruption kill policy for the
+ // calling thread.
+ PR_MCE_KILL_GET = 34
+
// PR_SET_MM will modify certain kernel memory map descriptor fields of the
// calling process. See prctl(2) for more information.
PR_SET_MM = 35
+ PR_SET_MM_START_CODE = 1
+ PR_SET_MM_END_CODE = 2
+ PR_SET_MM_START_DATA = 3
+ PR_SET_MM_END_DATA = 4
+ PR_SET_MM_START_STACK = 5
+ PR_SET_MM_START_BRK = 6
+ PR_SET_MM_BRK = 7
+ PR_SET_MM_ARG_START = 8
+ PR_SET_MM_ARG_END = 9
+ PR_SET_MM_ENV_START = 10
+ PR_SET_MM_ENV_END = 11
+ PR_SET_MM_AUXV = 12
// PR_SET_MM_EXE_FILE will supersede the /proc/pid/exe symbolic link with a
// new one pointing to a new executable file identified by the file descriptor
// provided in arg3 argument. See prctl(2) for more information.
PR_SET_MM_EXE_FILE = 13
+ PR_SET_MM_MAP = 14
+ PR_SET_MM_MAP_SIZE = 15
+
+ // PR_SET_CHILD_SUBREAPER set the "child subreaper" attribute of the calling
+ // process.
+ PR_SET_CHILD_SUBREAPER = 36
+
+ // PR_GET_CHILD_SUBREAPER get the "child subreaper" attribute of the calling
+ // process.
+ PR_GET_CHILD_SUBREAPER = 37
// PR_SET_NO_NEW_PRIVS will set the calling thread's no_new_privs bit.
PR_SET_NO_NEW_PRIVS = 38
@@ -49,17 +125,24 @@ const (
// PR_GET_NO_NEW_PRIVS will get the calling thread's no_new_privs bit.
PR_GET_NO_NEW_PRIVS = 39
- // PR_SET_SECCOMP will set a process' seccomp mode.
- PR_SET_SECCOMP = 22
+ // PR_GET_TID_ADDRESS retrieve the clear_child_tid address.
+ PR_GET_TID_ADDRESS = 40
- // PR_GET_SECCOMP will get a process' seccomp mode.
- PR_GET_SECCOMP = 21
+ // PR_SET_THP_DISABLE set the state of the "THP disable" flag for the calling
+ // thread.
+ PR_SET_THP_DISABLE = 41
- // PR_CAPBSET_READ will get the capability bounding set.
- PR_CAPBSET_READ = 23
+ // PR_GET_THP_DISABLE get the state of the "THP disable" flag for the calling
+ // thread.
+ PR_GET_THP_DISABLE = 42
- // PR_CAPBSET_DROP will set the capability bounding set.
- PR_CAPBSET_DROP = 24
+ // PR_MPX_ENABLE_MANAGEMENT enable kernel management of Memory Protection
+ // eXtensions (MPX) bounds tables.
+ PR_MPX_ENABLE_MANAGEMENT = 43
+
+ // PR_MPX_DISABLE_MANAGEMENTdisable kernel management of Memory Protection
+ // eXtensions (MPX) bounds tables.
+ PR_MPX_DISABLE_MANAGEMENT = 44
)
// From <asm/prctl.h>