seccomp-tools 1.4.0 → 1.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/README.md +105 -17
- data/ext/ptrace/ptrace.c +56 -4
- data/lib/seccomp-tools/asm/asm.rb +8 -6
- data/lib/seccomp-tools/asm/compiler.rb +130 -224
- data/lib/seccomp-tools/asm/sasm.tab.rb +780 -0
- data/lib/seccomp-tools/asm/sasm.y +175 -0
- data/lib/seccomp-tools/asm/scalar.rb +129 -0
- data/lib/seccomp-tools/asm/scanner.rb +163 -0
- data/lib/seccomp-tools/asm/statement.rb +32 -0
- data/lib/seccomp-tools/asm/token.rb +29 -0
- data/lib/seccomp-tools/bpf.rb +31 -7
- data/lib/seccomp-tools/cli/asm.rb +3 -3
- data/lib/seccomp-tools/cli/base.rb +4 -4
- data/lib/seccomp-tools/cli/disasm.rb +27 -3
- data/lib/seccomp-tools/cli/dump.rb +4 -2
- data/lib/seccomp-tools/cli/emu.rb +1 -4
- data/lib/seccomp-tools/const.rb +37 -3
- data/lib/seccomp-tools/consts/sys_nr/aarch64.rb +284 -0
- data/lib/seccomp-tools/consts/sys_nr/amd64.rb +5 -1
- data/lib/seccomp-tools/consts/sys_nr/i386.rb +14 -14
- data/lib/seccomp-tools/consts/sys_nr/s390x.rb +365 -0
- data/lib/seccomp-tools/disasm/context.rb +2 -2
- data/lib/seccomp-tools/disasm/disasm.rb +16 -9
- data/lib/seccomp-tools/dumper.rb +12 -3
- data/lib/seccomp-tools/emulator.rb +5 -9
- data/lib/seccomp-tools/error.rb +31 -0
- data/lib/seccomp-tools/instruction/alu.rb +1 -1
- data/lib/seccomp-tools/instruction/base.rb +1 -1
- data/lib/seccomp-tools/instruction/jmp.rb +28 -10
- data/lib/seccomp-tools/instruction/ld.rb +5 -3
- data/lib/seccomp-tools/syscall.rb +23 -13
- data/lib/seccomp-tools/templates/asm.s390x.asm +26 -0
- data/lib/seccomp-tools/util.rb +3 -1
- data/lib/seccomp-tools/version.rb +1 -1
- metadata +38 -9
- data/lib/seccomp-tools/asm/tokenizer.rb +0 -169
@@ -10,7 +10,13 @@ module SeccompTools
|
|
10
10
|
# Summary of this command.
|
11
11
|
SUMMARY = 'Disassemble seccomp bpf.'
|
12
12
|
# Usage of this command.
|
13
|
-
USAGE =
|
13
|
+
USAGE = "disasm - #{SUMMARY}\n\nUsage: seccomp-tools disasm BPF_FILE [options]"
|
14
|
+
|
15
|
+
def initialize(*)
|
16
|
+
super
|
17
|
+
option[:bpf] = true
|
18
|
+
option[:arg_infer] = true
|
19
|
+
end
|
14
20
|
|
15
21
|
# Define option parser.
|
16
22
|
# @return [OptionParser]
|
@@ -20,8 +26,23 @@ module SeccompTools
|
|
20
26
|
opt.on('-o', '--output FILE', 'Output result into FILE instead of stdout.') do |o|
|
21
27
|
option[:ofile] = o
|
22
28
|
end
|
23
|
-
|
24
29
|
option_arch(opt)
|
30
|
+
opt.on('--[no-]bpf', 'Display BPF bytes (code, jt, etc.).',
|
31
|
+
'Default: true') do |f|
|
32
|
+
option[:bpf] = f
|
33
|
+
end
|
34
|
+
opt.on('--[no-]arg-infer', 'Display syscall arguments with parameter names when possible.',
|
35
|
+
'Default: true') do |f|
|
36
|
+
option[:arg_infer] = f
|
37
|
+
end
|
38
|
+
opt.on('--asm-able', 'Output with this flag is a valid input of "seccomp-tools asm".',
|
39
|
+
'By default, "seccomp-tools disasm" is in a human-readable format that easy for analysis.',
|
40
|
+
'Passing this flag can have the output be simplified to a valid input for "seccomp-tools asm".',
|
41
|
+
'This flag implies "--no-bpf --no-arg-infer".',
|
42
|
+
'Default: false') do |_f|
|
43
|
+
option[:bpf] = false
|
44
|
+
option[:arg_infer] = false
|
45
|
+
end
|
25
46
|
end
|
26
47
|
end
|
27
48
|
|
@@ -33,7 +54,10 @@ module SeccompTools
|
|
33
54
|
option[:ifile] = argv.shift
|
34
55
|
return CLI.show(parser.help) if option[:ifile].nil?
|
35
56
|
|
36
|
-
output
|
57
|
+
output do
|
58
|
+
SeccompTools::Disasm.disasm(input, arch: option[:arch], display_bpf: option[:bpf],
|
59
|
+
arg_infer: option[:arg_infer])
|
60
|
+
end
|
37
61
|
end
|
38
62
|
end
|
39
63
|
end
|
@@ -14,7 +14,8 @@ module SeccompTools
|
|
14
14
|
# Summary of this command.
|
15
15
|
SUMMARY = 'Automatically dump seccomp bpf from execution file(s).'
|
16
16
|
# Usage of this command.
|
17
|
-
USAGE =
|
17
|
+
USAGE = "dump - #{SUMMARY}\nNOTE : This function is only available on Linux." \
|
18
|
+
"\n\nUsage: seccomp-tools dump [exec] [options]"
|
18
19
|
|
19
20
|
def initialize(*)
|
20
21
|
super
|
@@ -64,11 +65,12 @@ module SeccompTools
|
|
64
65
|
# Handle options.
|
65
66
|
# @return [void]
|
66
67
|
def handle
|
68
|
+
return Logger.error('Dump is only available on Linux.') unless Dumper::SUPPORTED
|
67
69
|
return unless super
|
68
70
|
|
69
71
|
block = lambda do |bpf, arch|
|
70
72
|
case option[:format]
|
71
|
-
when :inspect then output {
|
73
|
+
when :inspect then output { "\"#{bpf.bytes.map { |b| format('\\x%02X', b) }.join}\"\n" }
|
72
74
|
when :raw then output { bpf }
|
73
75
|
when :disasm then output { SeccompTools::Disasm.disasm(bpf, arch: arch) }
|
74
76
|
end
|
@@ -15,10 +15,7 @@ module SeccompTools
|
|
15
15
|
# Summary of this command.
|
16
16
|
SUMMARY = 'Emulate seccomp rules.'
|
17
17
|
# Usage of this command.
|
18
|
-
USAGE =
|
19
|
-
SUMMARY +
|
20
|
-
"\n\n" \
|
21
|
-
'Usage: seccomp-tools emu [options] BPF_FILE [sys_nr [arg0 [arg1 ... arg5]]]').freeze
|
18
|
+
USAGE = "emu - #{SUMMARY}\n\nUsage: seccomp-tools emu [options] BPF_FILE [sys_nr [arg0 [arg1 ... arg5]]]"
|
22
19
|
|
23
20
|
def initialize(*)
|
24
21
|
super
|
data/lib/seccomp-tools/const.rb
CHANGED
@@ -59,6 +59,8 @@ module SeccompTools
|
|
59
59
|
KILL: 0x00000000, # alias of KILL_THREAD
|
60
60
|
TRAP: 0x00030000,
|
61
61
|
ERRNO: 0x00050000,
|
62
|
+
USER_NOTIF: 0x7fc00000,
|
63
|
+
LOG: 0x7ffc0000,
|
62
64
|
TRACE: 0x7ff00000,
|
63
65
|
ALLOW: 0x7fff0000
|
64
66
|
}.freeze
|
@@ -118,19 +120,51 @@ module SeccompTools
|
|
118
120
|
filename = File.join(__dir__, 'consts', 'sys_nr', "#{arch}.rb")
|
119
121
|
return unless File.exist?(filename)
|
120
122
|
|
121
|
-
const_set(cons, instance_eval(
|
123
|
+
const_set(cons, instance_eval(File.read(filename)))
|
124
|
+
end
|
125
|
+
|
126
|
+
# Helper for loading syscall prototypes from generated sys_arg.rb.
|
127
|
+
def load_args
|
128
|
+
hash = instance_eval(File.read(File.join(__dir__, 'consts', 'sys_arg.rb')))
|
129
|
+
Hash.new do |_h, k|
|
130
|
+
next hash[k] if hash[k]
|
131
|
+
next hash[k.to_s[4..].to_sym] if k.to_s.start_with?('x32_')
|
132
|
+
|
133
|
+
nil
|
134
|
+
end
|
122
135
|
end
|
123
136
|
end
|
124
137
|
|
125
138
|
# The argument names of all syscalls.
|
126
|
-
SYS_ARG =
|
139
|
+
SYS_ARG = Syscall.load_args.freeze
|
127
140
|
|
128
141
|
# Constants from https://github.com/torvalds/linux/blob/master/include/uapi/linux/audit.h.
|
129
142
|
module Audit
|
143
|
+
# Maps arch name to {ARCH}'s key.
|
144
|
+
ARCH_NAME = {
|
145
|
+
amd64: 'ARCH_X86_64',
|
146
|
+
i386: 'ARCH_I386',
|
147
|
+
aarch64: 'ARCH_AARCH64',
|
148
|
+
s390x: 'ARCH_S390X'
|
149
|
+
}.freeze
|
150
|
+
|
130
151
|
# AUDIT_ARCH_*
|
131
152
|
ARCH = {
|
132
153
|
'ARCH_X86_64' => 0xc000003e,
|
133
|
-
'ARCH_I386' => 0x40000003
|
154
|
+
'ARCH_I386' => 0x40000003,
|
155
|
+
'ARCH_AARCH64' => 0xc00000b7,
|
156
|
+
'ARCH_S390X' => 0x80000016
|
157
|
+
}.freeze
|
158
|
+
end
|
159
|
+
|
160
|
+
# Endianess constants.
|
161
|
+
module Endian
|
162
|
+
# Defining default endianess of architectures.
|
163
|
+
ENDIAN = {
|
164
|
+
i386: '<',
|
165
|
+
amd64: '<',
|
166
|
+
aarch64: '<',
|
167
|
+
s390x: '>'
|
134
168
|
}.freeze
|
135
169
|
end
|
136
170
|
end
|
@@ -0,0 +1,284 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
{
|
4
|
+
io_setup: 0,
|
5
|
+
io_destroy: 1,
|
6
|
+
io_submit: 2,
|
7
|
+
io_cancel: 3,
|
8
|
+
io_getevents: 4,
|
9
|
+
setxattr: 5,
|
10
|
+
lsetxattr: 6,
|
11
|
+
fsetxattr: 7,
|
12
|
+
getxattr: 8,
|
13
|
+
lgetxattr: 9,
|
14
|
+
fgetxattr: 10,
|
15
|
+
listxattr: 11,
|
16
|
+
llistxattr: 12,
|
17
|
+
flistxattr: 13,
|
18
|
+
removexattr: 14,
|
19
|
+
lremovexattr: 15,
|
20
|
+
fremovexattr: 16,
|
21
|
+
getcwd: 17,
|
22
|
+
lookup_dcookie: 18,
|
23
|
+
eventfd2: 19,
|
24
|
+
epoll_create1: 20,
|
25
|
+
epoll_ctl: 21,
|
26
|
+
epoll_pwait: 22,
|
27
|
+
dup: 23,
|
28
|
+
dup3: 24,
|
29
|
+
fcntl: 25,
|
30
|
+
inotify_init1: 26,
|
31
|
+
inotify_add_watch: 27,
|
32
|
+
inotify_rm_watch: 28,
|
33
|
+
ioctl: 29,
|
34
|
+
ioprio_set: 30,
|
35
|
+
ioprio_get: 31,
|
36
|
+
flock: 32,
|
37
|
+
mknodat: 33,
|
38
|
+
mkdirat: 34,
|
39
|
+
unlinkat: 35,
|
40
|
+
symlinkat: 36,
|
41
|
+
linkat: 37,
|
42
|
+
renameat: 38,
|
43
|
+
umount2: 39,
|
44
|
+
mount: 40,
|
45
|
+
pivot_root: 41,
|
46
|
+
nfsservctl: 42,
|
47
|
+
statfs: 43,
|
48
|
+
fstatfs: 44,
|
49
|
+
truncate: 45,
|
50
|
+
ftruncate: 46,
|
51
|
+
fallocate: 47,
|
52
|
+
faccessat: 48,
|
53
|
+
chdir: 49,
|
54
|
+
fchdir: 50,
|
55
|
+
chroot: 51,
|
56
|
+
fchmod: 52,
|
57
|
+
fchmodat: 53,
|
58
|
+
fchownat: 54,
|
59
|
+
fchown: 55,
|
60
|
+
openat: 56,
|
61
|
+
close: 57,
|
62
|
+
vhangup: 58,
|
63
|
+
pipe2: 59,
|
64
|
+
quotactl: 60,
|
65
|
+
getdents: 61,
|
66
|
+
getdents64: 61,
|
67
|
+
lseek: 62,
|
68
|
+
read: 63,
|
69
|
+
write: 64,
|
70
|
+
readv: 65,
|
71
|
+
writev: 66,
|
72
|
+
pread: 67,
|
73
|
+
pread64: 67,
|
74
|
+
pwrite: 68,
|
75
|
+
pwrite64: 68,
|
76
|
+
preadv: 69,
|
77
|
+
pwritev: 70,
|
78
|
+
sendfile: 71,
|
79
|
+
pselect6: 72,
|
80
|
+
ppoll: 73,
|
81
|
+
signalfd4: 74,
|
82
|
+
vmsplice: 75,
|
83
|
+
splice: 76,
|
84
|
+
tee: 77,
|
85
|
+
readlinkat: 78,
|
86
|
+
newfstatat: 79,
|
87
|
+
fstat: 80,
|
88
|
+
newfstat: 80,
|
89
|
+
sync: 81,
|
90
|
+
fsync: 82,
|
91
|
+
fdatasync: 83,
|
92
|
+
sync_file_range: 84,
|
93
|
+
timerfd_create: 85,
|
94
|
+
timerfd_settime: 86,
|
95
|
+
timerfd_gettime: 87,
|
96
|
+
utimensat: 88,
|
97
|
+
acct: 89,
|
98
|
+
capget: 90,
|
99
|
+
capset: 91,
|
100
|
+
personality: 92,
|
101
|
+
exit: 93,
|
102
|
+
exit_group: 94,
|
103
|
+
waitid: 95,
|
104
|
+
set_tid_address: 96,
|
105
|
+
unshare: 97,
|
106
|
+
futex: 98,
|
107
|
+
set_robust_list: 99,
|
108
|
+
get_robust_list: 100,
|
109
|
+
nanosleep: 101,
|
110
|
+
getitimer: 102,
|
111
|
+
setitimer: 103,
|
112
|
+
kexec_load: 104,
|
113
|
+
init_module: 105,
|
114
|
+
delete_module: 106,
|
115
|
+
timer_create: 107,
|
116
|
+
timer_gettime: 108,
|
117
|
+
timer_getoverrun: 109,
|
118
|
+
timer_settime: 110,
|
119
|
+
timer_delete: 111,
|
120
|
+
clock_settime: 112,
|
121
|
+
clock_gettime: 113,
|
122
|
+
clock_getres: 114,
|
123
|
+
clock_nanosleep: 115,
|
124
|
+
syslog: 116,
|
125
|
+
ptrace: 117,
|
126
|
+
sched_setparam: 118,
|
127
|
+
sched_setscheduler: 119,
|
128
|
+
sched_getscheduler: 120,
|
129
|
+
sched_getparam: 121,
|
130
|
+
sched_setaffinity: 122,
|
131
|
+
sched_getaffinity: 123,
|
132
|
+
sched_yield: 124,
|
133
|
+
sched_get_priority_max: 125,
|
134
|
+
sched_get_priority_min: 126,
|
135
|
+
sched_rr_get_interval: 127,
|
136
|
+
restart_syscall: 128,
|
137
|
+
kill: 129,
|
138
|
+
tkill: 130,
|
139
|
+
tgkill: 131,
|
140
|
+
sigaltstack: 132,
|
141
|
+
rt_sigsuspend: 133,
|
142
|
+
rt_sigaction: 134,
|
143
|
+
rt_sigprocmask: 135,
|
144
|
+
rt_sigpending: 136,
|
145
|
+
rt_sigtimedwait: 137,
|
146
|
+
rt_sigqueueinfo: 138,
|
147
|
+
rt_sigreturn: 139,
|
148
|
+
setpriority: 140,
|
149
|
+
getpriority: 141,
|
150
|
+
reboot: 142,
|
151
|
+
setregid: 143,
|
152
|
+
setgid: 144,
|
153
|
+
setreuid: 145,
|
154
|
+
setuid: 146,
|
155
|
+
setresuid: 147,
|
156
|
+
getresuid: 148,
|
157
|
+
setresgid: 149,
|
158
|
+
getresgid: 150,
|
159
|
+
setfsuid: 151,
|
160
|
+
setfsgid: 152,
|
161
|
+
times: 153,
|
162
|
+
setpgid: 154,
|
163
|
+
getpgid: 155,
|
164
|
+
getsid: 156,
|
165
|
+
setsid: 157,
|
166
|
+
getgroups: 158,
|
167
|
+
setgroups: 159,
|
168
|
+
uname: 160,
|
169
|
+
sethostname: 161,
|
170
|
+
setdomainname: 162,
|
171
|
+
getrlimit: 163,
|
172
|
+
setrlimit: 164,
|
173
|
+
getrusage: 165,
|
174
|
+
umask: 166,
|
175
|
+
prctl: 167,
|
176
|
+
getcpu: 168,
|
177
|
+
gettimeofday: 169,
|
178
|
+
settimeofday: 170,
|
179
|
+
adjtimex: 171,
|
180
|
+
getpid: 172,
|
181
|
+
getppid: 173,
|
182
|
+
getuid: 174,
|
183
|
+
geteuid: 175,
|
184
|
+
getgid: 176,
|
185
|
+
getegid: 177,
|
186
|
+
gettid: 178,
|
187
|
+
sysinfo: 179,
|
188
|
+
mq_open: 180,
|
189
|
+
mq_unlink: 181,
|
190
|
+
mq_timedsend: 182,
|
191
|
+
mq_timedreceive: 183,
|
192
|
+
mq_notify: 184,
|
193
|
+
mq_getsetattr: 185,
|
194
|
+
msgget: 186,
|
195
|
+
msgctl: 187,
|
196
|
+
msgrcv: 188,
|
197
|
+
msgsnd: 189,
|
198
|
+
semget: 190,
|
199
|
+
semctl: 191,
|
200
|
+
semtimedop: 192,
|
201
|
+
semop: 193,
|
202
|
+
shmget: 194,
|
203
|
+
shmctl: 195,
|
204
|
+
shmat: 196,
|
205
|
+
shmdt: 197,
|
206
|
+
socket: 198,
|
207
|
+
socketpair: 199,
|
208
|
+
bind: 200,
|
209
|
+
listen: 201,
|
210
|
+
accept: 202,
|
211
|
+
connect: 203,
|
212
|
+
getsockname: 204,
|
213
|
+
getpeername: 205,
|
214
|
+
sendto: 206,
|
215
|
+
recvfrom: 207,
|
216
|
+
setsockopt: 208,
|
217
|
+
getsockopt: 209,
|
218
|
+
shutdown: 210,
|
219
|
+
sendmsg: 211,
|
220
|
+
recvmsg: 212,
|
221
|
+
readahead: 213,
|
222
|
+
brk: 214,
|
223
|
+
munmap: 215,
|
224
|
+
mremap: 216,
|
225
|
+
add_key: 217,
|
226
|
+
request_key: 218,
|
227
|
+
keyctl: 219,
|
228
|
+
clone: 220,
|
229
|
+
execve: 221,
|
230
|
+
mmap: 222,
|
231
|
+
fadvise64: 223,
|
232
|
+
swapon: 224,
|
233
|
+
swapoff: 225,
|
234
|
+
mprotect: 226,
|
235
|
+
msync: 227,
|
236
|
+
mlock: 228,
|
237
|
+
munlock: 229,
|
238
|
+
mlockall: 230,
|
239
|
+
munlockall: 231,
|
240
|
+
mincore: 232,
|
241
|
+
madvise: 233,
|
242
|
+
remap_file_pages: 234,
|
243
|
+
mbind: 235,
|
244
|
+
get_mempolicy: 236,
|
245
|
+
set_mempolicy: 237,
|
246
|
+
migrate_pages: 238,
|
247
|
+
move_pages: 239,
|
248
|
+
rt_tgsigqueueinfo: 240,
|
249
|
+
perf_event_open: 241,
|
250
|
+
accept4: 242,
|
251
|
+
recvmmsg: 243,
|
252
|
+
wait4: 260,
|
253
|
+
prlimit64: 261,
|
254
|
+
fanotify_init: 262,
|
255
|
+
fanotify_mark: 263,
|
256
|
+
name_to_handle_at: 264,
|
257
|
+
open_by_handle_at: 265,
|
258
|
+
clock_adjtime: 266,
|
259
|
+
syncfs: 267,
|
260
|
+
setns: 268,
|
261
|
+
sendmmsg: 269,
|
262
|
+
process_vm_readv: 270,
|
263
|
+
process_vm_writev: 271,
|
264
|
+
kcmp: 272,
|
265
|
+
finit_module: 273,
|
266
|
+
sched_setattr: 274,
|
267
|
+
sched_getattr: 275,
|
268
|
+
renameat2: 276,
|
269
|
+
seccomp: 277,
|
270
|
+
getrandom: 278,
|
271
|
+
memfd_create: 279,
|
272
|
+
bpf: 280,
|
273
|
+
execveat: 281,
|
274
|
+
userfaultfd: 282,
|
275
|
+
membarrier: 283,
|
276
|
+
mlock2: 284,
|
277
|
+
copy_file_range: 285,
|
278
|
+
preadv2: 286,
|
279
|
+
pwritev2: 287,
|
280
|
+
pkey_mprotect: 288,
|
281
|
+
pkey_alloc: 289,
|
282
|
+
pkey_free: 290,
|
283
|
+
statx: 291
|
284
|
+
}
|
@@ -1,5 +1,7 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
+
# Denote a x32 syscall.
|
4
|
+
X32_MODE_BIT = 0x40000000
|
3
5
|
{
|
4
6
|
read: 0,
|
5
7
|
write: 1,
|
@@ -18,7 +20,9 @@
|
|
18
20
|
rt_sigprocmask: 14,
|
19
21
|
rt_sigreturn: 15,
|
20
22
|
ioctl: 16,
|
23
|
+
pread: 17,
|
21
24
|
pread64: 17,
|
25
|
+
pwrite: 18,
|
22
26
|
pwrite64: 18,
|
23
27
|
readv: 19,
|
24
28
|
writev: 20,
|
@@ -334,4 +338,4 @@
|
|
334
338
|
pkey_alloc: 330,
|
335
339
|
pkey_free: 331,
|
336
340
|
statx: 332
|
337
|
-
}
|
341
|
+
}.tap { |h| h.keys.each { |k| h["x32_#{k}".to_sym] = h[k] | X32_MODE_BIT } } # rubocop:disable Style/HashEachMethods
|
@@ -1,7 +1,7 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
{
|
4
|
-
|
4
|
+
restart_syscall: 0,
|
5
5
|
exit: 1,
|
6
6
|
fork: 2,
|
7
7
|
read: 3,
|
@@ -259,14 +259,14 @@
|
|
259
259
|
remap_file_pages: 257,
|
260
260
|
set_tid_address: 258,
|
261
261
|
timer_create: 259,
|
262
|
-
timer_settime:
|
263
|
-
timer_gettime:
|
264
|
-
timer_getoverrun:
|
265
|
-
timer_delete:
|
266
|
-
clock_settime:
|
267
|
-
clock_gettime:
|
268
|
-
clock_getres:
|
269
|
-
clock_nanosleep:
|
262
|
+
timer_settime: 260,
|
263
|
+
timer_gettime: 261,
|
264
|
+
timer_getoverrun: 262,
|
265
|
+
timer_delete: 263,
|
266
|
+
clock_settime: 264,
|
267
|
+
clock_gettime: 265,
|
268
|
+
clock_getres: 266,
|
269
|
+
clock_nanosleep: 267,
|
270
270
|
statfs64: 268,
|
271
271
|
fstatfs64: 269,
|
272
272
|
tgkill: 270,
|
@@ -277,11 +277,11 @@
|
|
277
277
|
get_mempolicy: 275,
|
278
278
|
set_mempolicy: 276,
|
279
279
|
mq_open: 277,
|
280
|
-
mq_unlink:
|
281
|
-
mq_timedsend:
|
282
|
-
mq_timedreceive:
|
283
|
-
mq_notify:
|
284
|
-
mq_getsetattr:
|
280
|
+
mq_unlink: 278,
|
281
|
+
mq_timedsend: 279,
|
282
|
+
mq_timedreceive: 280,
|
283
|
+
mq_notify: 281,
|
284
|
+
mq_getsetattr: 282,
|
285
285
|
sys_kexec_load: 283,
|
286
286
|
waitid: 284,
|
287
287
|
add_key: 286,
|