1use falco_schema_derive::event_flags;
2
3event_flags! {
4type file_flags: PT_FLAGS32;
5type clone_flags: PT_FLAGS32;
6type prot_flags: PT_FLAGS32;
7type mmap_flags: PT_FLAGS32;
8type splice_flags: PT_FLAGS32;
9type quotactl_cmds: PT_FLAGS16;
10type quotactl_types: PT_FLAGS8;
11type quotactl_dqi_flags: PT_FLAGS8;
12type quotactl_quota_fmts: PT_FLAGS8;
13type flock_flags: PT_FLAGS32;
14type semop_flags: PT_FLAGS16;
15type mount_flags: PT_FLAGS32;
16type umount_flags: PT_FLAGS32;
17type semget_flags: PT_FLAGS32;
18type pf_flags: PT_FLAGS32;
19type execve_flags: PT_FLAGS32;
20type unlinkat_flags: PT_FLAGS32;
21type linkat_flags: PT_FLAGS32;
22type renameat2_flags: PT_FLAGS32;
23type openat2_flags: PT_FLAGS32;
24type execveat_flags: PT_FLAGS32;
25type mlockall_flags: PT_FLAGS32;
26type semctl_commands: PT_FLAGS16;
27type access_flags: PT_FLAGS32;
28type io_uring_setup_flags: PT_FLAGS32;
29type io_uring_setup_feats: PT_FLAGS32;
30type io_uring_enter_flags: PT_FLAGS32;
31type mlock2_flags: PT_FLAGS32;
32type epoll_create1_flags: PT_FLAGS32;
33type file_flags: PT_FLAGS16;
34type memfd_create_flags: PT_FLAGS32;
35type newfstatat_flags: PT_FLAGS32;
36type delete_module_flags: PT_FLAGS32;
37type fchownat_flags: PT_FLAGS32;
38type mknod_mode: PT_MODE;
39type chmod_mode: PT_MODE;
40type socket_families: PT_ENUMFLAGS32 !PPM_AF_LOCAL, PPM_AF_ROUTE;
41type shutdown_how: PT_ENUMFLAGS8;
42type sockopt_levels: PT_ENUMFLAGS8;
43type sockopt_options: PT_ENUMFLAGS8;
44type futex_operations: PT_FLAGS16;
45type lseek_whence: PT_ENUMFLAGS8;
46type rlimit_resources: PT_ENUMFLAGS8;
47type fcntl_commands: PT_ENUMFLAGS8;
48type ptrace_requests: PT_ENUMFLAGS16;
49type io_uring_register_opcodes: PT_ENUMFLAGS16;
50type bpf_commands: PT_ENUMFLAGS32 !PPM_BPF_PROG_TEST_RUN;
51type fsconfig_cmds: PT_ENUMFLAGS32;
52type prctl_options: PT_ENUMFLAGS32;
53type pidfd_open_flags: PT_FLAGS32;
54type finit_module_flags: PT_FLAGS32;
55type creat_flags: PT_FLAGS16;
56type anon_inode_fd_types: PT_FLAGS8;
57type close_range_flags: PT_FLAGS32;
58type keyctl_operations: PT_ENUMFLAGS32;
59
60const struct ppm_name_value socket_families[] = {
61 {"AF_NFC", PPM_AF_NFC},
62 {"AF_ALG", PPM_AF_ALG},
63 {"AF_CAIF", PPM_AF_CAIF},
64 {"AF_IEEE802154", PPM_AF_IEEE802154},
65 {"AF_PHONET", PPM_AF_PHONET},
66 {"AF_ISDN", PPM_AF_ISDN},
67 {"AF_RXRPC", PPM_AF_RXRPC},
68 {"AF_IUCV", PPM_AF_IUCV},
69 {"AF_BLUETOOTH", PPM_AF_BLUETOOTH},
70 {"AF_TIPC", PPM_AF_TIPC},
71 {"AF_CAN", PPM_AF_CAN},
72 {"AF_LLC", PPM_AF_LLC},
73 {"AF_WANPIPE", PPM_AF_WANPIPE},
74 {"AF_PPPOX", PPM_AF_PPPOX},
75 {"AF_IRDA", PPM_AF_IRDA},
76 {"AF_SNA", PPM_AF_SNA},
77 {"AF_RDS", PPM_AF_RDS},
78 {"AF_ATMSVC", PPM_AF_ATMSVC},
79 {"AF_ECONET", PPM_AF_ECONET},
80 {"AF_ASH", PPM_AF_ASH},
81 {"AF_PACKET", PPM_AF_PACKET},
82 {"AF_ROUTE", PPM_AF_ROUTE},
83 {"AF_NETLINK", PPM_AF_NETLINK},
84 {"AF_KEY", PPM_AF_KEY},
85 {"AF_SECURITY", PPM_AF_SECURITY},
86 {"AF_NETBEUI", PPM_AF_NETBEUI},
87 {"AF_DECnet", PPM_AF_DECnet},
88 {"AF_ROSE", PPM_AF_ROSE},
89 {"AF_INET6", PPM_AF_INET6},
90 {"AF_X25", PPM_AF_X25},
91 {"AF_ATMPVC", PPM_AF_ATMPVC},
92 {"AF_BRIDGE", PPM_AF_BRIDGE},
93 {"AF_NETROM", PPM_AF_NETROM},
94 {"AF_APPLETALK", PPM_AF_APPLETALK},
95 {"AF_IPX", PPM_AF_IPX},
96 {"AF_AX25", PPM_AF_AX25},
97 {"AF_INET", PPM_AF_INET},
98 {"AF_LOCAL", PPM_AF_LOCAL},
99 {"AF_UNIX", PPM_AF_UNIX},
100 {"AF_UNSPEC", PPM_AF_UNSPEC},
101 {0, 0},
102};
103
104const struct ppm_name_value file_flags[] = {
105 {"O_LARGEFILE", PPM_O_LARGEFILE},
106 {"O_DIRECTORY", PPM_O_DIRECTORY},
107 {"O_DIRECT", PPM_O_DIRECT},
108 {"O_TRUNC", PPM_O_TRUNC},
109 {"O_SYNC", PPM_O_SYNC},
110 {"O_NONBLOCK", PPM_O_NONBLOCK},
111 {"O_EXCL", PPM_O_EXCL},
112 {"O_DSYNC", PPM_O_DSYNC},
113 {"O_APPEND", PPM_O_APPEND},
114 {"O_CREAT", PPM_O_CREAT},
115 {"O_RDWR", PPM_O_RDWR},
116 {"O_WRONLY", PPM_O_WRONLY},
117 {"O_RDONLY", PPM_O_RDONLY},
118 {"O_CLOEXEC", PPM_O_CLOEXEC},
119 {"O_NONE", PPM_O_NONE},
120 {"O_TMPFILE", PPM_O_TMPFILE},
121 {"O_F_CREATED", PPM_O_F_CREATED},
122 {"FD_UPPER_LAYER", PPM_FD_UPPER_LAYER},
123 {"FD_LOWER_LAYER", PPM_FD_LOWER_LAYER},
124 {0, 0},
125};
126
127const struct ppm_name_value creat_flags[] = {
128 {"FD_UPPER_LAYER_CREAT", PPM_FD_UPPER_LAYER_CREAT},
129 {"FD_LOWER_LAYER_CREAT", PPM_FD_LOWER_LAYER_CREAT},
130 {0, 0},
131};
132
133const struct ppm_name_value flock_flags[] = {
134 {"LOCK_SH", PPM_LOCK_SH},
135 {"LOCK_EX", PPM_LOCK_EX},
136 {"LOCK_NB", PPM_LOCK_NB},
137 {"LOCK_UN", PPM_LOCK_UN},
138 {"LOCK_NONE", PPM_LOCK_NONE},
139 {0, 0},
140};
141
142const struct ppm_name_value clone_flags[] = {
143 {"CLONE_FILES", PPM_CL_CLONE_FILES},
144 {"CLONE_FS", PPM_CL_CLONE_FS},
145 {"CLONE_IO", PPM_CL_CLONE_IO},
146 {"CLONE_NEWIPC", PPM_CL_CLONE_NEWIPC},
147 {"CLONE_NEWNET", PPM_CL_CLONE_NEWNET},
148 {"CLONE_NEWNS", PPM_CL_CLONE_NEWNS},
149 {"CLONE_NEWPID", PPM_CL_CLONE_NEWPID},
150 {"CLONE_NEWUTS", PPM_CL_CLONE_NEWUTS},
151 {"CLONE_PARENT", PPM_CL_CLONE_PARENT},
152 {"CLONE_PARENT_SETTID", PPM_CL_CLONE_PARENT_SETTID},
153 {"CLONE_PTRACE", PPM_CL_CLONE_PTRACE},
154 {"CLONE_SIGHAND", PPM_CL_CLONE_SIGHAND},
155 {"CLONE_SYSVSEM", PPM_CL_CLONE_SYSVSEM},
156 {"CLONE_THREAD", PPM_CL_CLONE_THREAD},
157 {"CLONE_UNTRACED", PPM_CL_CLONE_UNTRACED},
158 {"CLONE_VM", PPM_CL_CLONE_VM},
159 {"CLONE_INVERTED", PPM_CL_CLONE_INVERTED},
160 {"NAME_CHANGED", PPM_CL_NAME_CHANGED},
161 {"CLOSED", PPM_CL_CLOSED},
162 {"CLONE_NEWUSER", PPM_CL_CLONE_NEWUSER},
163 {"CLONE_CHILD_CLEARTID", PPM_CL_CLONE_CHILD_CLEARTID},
164 {"CLONE_CHILD_SETTID", PPM_CL_CLONE_CHILD_SETTID},
165 {"CLONE_SETTLS", PPM_CL_CLONE_SETTLS},
166 {"CLONE_STOPPED", PPM_CL_CLONE_STOPPED},
167 {"CLONE_VFORK", PPM_CL_CLONE_VFORK},
168 {"CLONE_NEWCGROUP", PPM_CL_CLONE_NEWCGROUP},
169 {"CLONE_CHILD_IN_PIDNS", PPM_CL_CHILD_IN_PIDNS},
170 {0, 0},
171};
172
173const struct ppm_name_value futex_operations[] = {
174 {"FUTEX_CLOCK_REALTIME", PPM_FU_FUTEX_CLOCK_REALTIME},
175 {"FUTEX_PRIVATE_FLAG", PPM_FU_FUTEX_PRIVATE_FLAG},
176 {"FUTEX_CMP_REQUEUE_PI", PPM_FU_FUTEX_CMP_REQUEUE_PI},
177 {"FUTEX_WAIT_REQUEUE_PI", PPM_FU_FUTEX_WAIT_REQUEUE_PI},
178 {"FUTEX_WAKE_BITSET", PPM_FU_FUTEX_WAKE_BITSET},
179 {"FUTEX_WAIT_BITSET", PPM_FU_FUTEX_WAIT_BITSET},
180 {"FUTEX_TRYLOCK_PI", PPM_FU_FUTEX_TRYLOCK_PI},
181 {"FUTEX_UNLOCK_PI", PPM_FU_FUTEX_UNLOCK_PI},
182 {"FUTEX_LOCK_PI", PPM_FU_FUTEX_LOCK_PI},
183 {"FUTEX_WAKE_OP", PPM_FU_FUTEX_WAKE_OP},
184 {"FUTEX_CMP_REQUEUE", PPM_FU_FUTEX_CMP_REQUEUE},
185 {"FUTEX_REQUEUE", PPM_FU_FUTEX_REQUEUE},
186 {"FUTEX_FD", PPM_FU_FUTEX_FD},
187 {"FUTEX_WAKE", PPM_FU_FUTEX_WAKE},
188 {"FUTEX_WAIT", PPM_FU_FUTEX_WAIT},
189 {0, 0},
190};
191
192const struct ppm_name_value poll_flags[] = {
193 {"POLLIN", PPM_POLLIN},
194 {"POLLPRI", PPM_POLLPRI},
195 {"POLLOUT", PPM_POLLOUT},
196 {"POLLRDHUP", PPM_POLLRDHUP},
197 {"POLLERR", PPM_POLLERR},
198 {"POLLHUP", PPM_POLLHUP},
199 {"POLLNVAL", PPM_POLLNVAL},
200 {"POLLRDNORM", PPM_POLLRDNORM},
201 {"POLLRDBAND", PPM_POLLRDBAND},
202 {"POLLWRNORM", PPM_POLLWRNORM},
203 {"POLLWRBAND", PPM_POLLWRBAND},
204 {0, 0},
205};
206
207const struct ppm_name_value mount_flags[] = {
209 {"RDONLY", PPM_MS_RDONLY},
210 {"NOSUID", PPM_MS_NOSUID},
211 {"NODEV", PPM_MS_NODEV},
212 {"NOEXEC", PPM_MS_NOEXEC},
213 {"SYNCHRONOUS", PPM_MS_SYNCHRONOUS},
214 {"REMOUNT", PPM_MS_REMOUNT},
215 {"MANDLOCK", PPM_MS_MANDLOCK},
216 {"DIRSYNC", PPM_MS_DIRSYNC},
217 {"NOATIME", PPM_MS_NOATIME},
218 {"NODIRATIME", PPM_MS_NODIRATIME},
219 {"BIND", PPM_MS_BIND},
220 {"MOVE", PPM_MS_MOVE},
221 {"REC", PPM_MS_REC},
222 {"SILENT", PPM_MS_SILENT},
223 {"POSIXACL", PPM_MS_POSIXACL},
224 {"UNBINDABLE", PPM_MS_UNBINDABLE},
225 {"PRIVATE", PPM_MS_PRIVATE},
226 {"SLAVE", PPM_MS_SLAVE},
227 {"SHARED", PPM_MS_SHARED},
228 {"RELATIME", PPM_MS_RELATIME},
229 {"KERNMOUNT", PPM_MS_KERNMOUNT},
230 {"I_VERSION", PPM_MS_I_VERSION},
231 {"STRICTATIME", PPM_MS_STRICTATIME},
232 {"LAZYTIME", PPM_MS_LAZYTIME},
233 {"NOSEC", PPM_MS_NOSEC},
234 {"BORN", PPM_MS_BORN},
235 {"ACTIVE", PPM_MS_ACTIVE},
236 {"NOUSER", PPM_MS_NOUSER}, {0, 0},
238};
239
240const struct ppm_name_value umount_flags[] = {
244 {"FORCE", PPM_MNT_FORCE},
245 {"DETACH", PPM_MNT_DETACH},
246 {"EXPIRE", PPM_MNT_EXPIRE},
247 {"NOFOLLOW", PPM_UMOUNT_NOFOLLOW},
248 {0, 0},
249};
250
251const struct ppm_name_value lseek_whence[] = {
252 {"SEEK_END", PPM_SEEK_END},
253 {"SEEK_CUR", PPM_SEEK_CUR},
254 {"SEEK_SET", PPM_SEEK_SET},
255 {0, 0},
256};
257
258const struct ppm_name_value shutdown_how[] = {
259 {"SHUT_UNKNOWN", PPM_SHUT_UNKNOWN},
260 {"SHUT_RDWR", PPM_SHUT_RDWR},
261 {"SHUT_WR", PPM_SHUT_WR},
262 {"SHUT_RD", PPM_SHUT_RD},
263 {0, 0},
264};
265
266const struct ppm_name_value rlimit_resources[] = {
267 {"RLIMIT_UNKNOWN", PPM_RLIMIT_UNKNOWN},
268 {"RLIMIT_RTTIME", PPM_RLIMIT_RTTIME},
269 {"RLIMIT_RTPRIO", PPM_RLIMIT_RTPRIO},
270 {"RLIMIT_NICE", PPM_RLIMIT_NICE},
271 {"RLIMIT_MSGQUEUE", PPM_RLIMIT_MSGQUEUE},
272 {"RLIMIT_SIGPENDING", PPM_RLIMIT_SIGPENDING},
273 {"RLIMIT_LOCKS", PPM_RLIMIT_LOCKS},
274 {"RLIMIT_AS", PPM_RLIMIT_AS},
275 {"RLIMIT_MEMLOCK", PPM_RLIMIT_MEMLOCK},
276 {"RLIMIT_NOFILE", PPM_RLIMIT_NOFILE},
277 {"RLIMIT_NPROC", PPM_RLIMIT_NPROC},
278 {"RLIMIT_RSS", PPM_RLIMIT_RSS},
279 {"RLIMIT_CORE", PPM_RLIMIT_CORE},
280 {"RLIMIT_STACK", PPM_RLIMIT_STACK},
281 {"RLIMIT_DATA", PPM_RLIMIT_DATA},
282 {"RLIMIT_FSIZE", PPM_RLIMIT_FSIZE},
283 {"RLIMIT_CPU", PPM_RLIMIT_CPU},
284 {0, 0},
285};
286
287const struct ppm_name_value fcntl_commands[] = {
288 {"F_GETPIPE_SZ", PPM_FCNTL_F_GETPIPE_SZ},
289 {"F_SETPIPE_SZ", PPM_FCNTL_F_SETPIPE_SZ},
290 {"F_NOTIFY", PPM_FCNTL_F_NOTIFY},
291 {"F_DUPFD_CLOEXEC", PPM_FCNTL_F_DUPFD_CLOEXEC},
292 {"F_CANCELLK", PPM_FCNTL_F_CANCELLK},
293 {"F_GETLEASE", PPM_FCNTL_F_GETLEASE},
294 {"F_SETLEASE", PPM_FCNTL_F_SETLEASE},
295 {"F_GETOWN_EX", PPM_FCNTL_F_GETOWN_EX},
296 {"F_SETOWN_EX", PPM_FCNTL_F_SETOWN_EX},
297 {"F_SETLKW64", PPM_FCNTL_F_SETLKW64},
298 {"F_SETLK64", PPM_FCNTL_F_SETLK64},
299 {"F_GETLK64", PPM_FCNTL_F_GETLK64},
300 {"F_GETSIG", PPM_FCNTL_F_GETSIG},
301 {"F_SETSIG", PPM_FCNTL_F_SETSIG},
302 {"F_GETOWN", PPM_FCNTL_F_GETOWN},
303 {"F_SETOWN", PPM_FCNTL_F_SETOWN},
304 {"F_SETLKW", PPM_FCNTL_F_SETLKW},
305 {"F_SETLK", PPM_FCNTL_F_SETLK},
306 {"F_GETLK", PPM_FCNTL_F_GETLK},
307 {"F_SETFL", PPM_FCNTL_F_SETFL},
308 {"F_GETFL", PPM_FCNTL_F_GETFL},
309 {"F_SETFD", PPM_FCNTL_F_SETFD},
310 {"F_GETFD", PPM_FCNTL_F_GETFD},
311 {"F_DUPFD", PPM_FCNTL_F_DUPFD},
312 {"F_OFD_GETLK", PPM_FCNTL_F_OFD_GETLK},
313 {"F_OFD_SETLK", PPM_FCNTL_F_OFD_SETLK},
314 {"F_OFD_SETLKW", PPM_FCNTL_F_OFD_SETLKW},
315 {"UNKNOWN", PPM_FCNTL_UNKNOWN},
316 {0, 0},
317};
318
319const struct ppm_name_value sockopt_levels[] = {
320 {"SOL_SOCKET", PPM_SOCKOPT_LEVEL_SOL_SOCKET},
321 {"SOL_TCP", PPM_SOCKOPT_LEVEL_SOL_TCP},
322 {"UNKNOWN", PPM_SOCKOPT_LEVEL_UNKNOWN},
323 {0, 0},
324};
325
326const struct ppm_name_value sockopt_options[] = {
327 {"SO_COOKIE", PPM_SOCKOPT_SO_COOKIE},
328 {"SO_MEMINFO", PPM_SOCKOPT_SO_MEMINFO},
329 {"SO_PEERGROUPS", PPM_SOCKOPT_SO_PEERGROUPS},
330 {"SO_ATTACH_BPF", PPM_SOCKOPT_SO_ATTACH_BPF},
331 {"SO_INCOMING_CPU", PPM_SOCKOPT_SO_INCOMING_CPU},
332 {"SO_BPF_EXTENSIONS", PPM_SOCKOPT_SO_BPF_EXTENSIONS},
333 {"SO_MAX_PACING_RATE", PPM_SOCKOPT_SO_MAX_PACING_RATE},
334 {"SO_BUSY_POLL", PPM_SOCKOPT_SO_BUSY_POLL},
335 {"SO_SELECT_ERR_QUEUE", PPM_SOCKOPT_SO_SELECT_ERR_QUEUE},
336 {"SO_LOCK_FILTER", PPM_SOCKOPT_SO_LOCK_FILTER},
337 {"SO_NOFCS", PPM_SOCKOPT_SO_NOFCS},
338 {"SO_PEEK_OFF", PPM_SOCKOPT_SO_PEEK_OFF},
339 {"SO_WIFI_STATUS", PPM_SOCKOPT_SO_WIFI_STATUS},
340 {"SO_RXQ_OVFL", PPM_SOCKOPT_SO_RXQ_OVFL},
341 {"SO_DOMAIN", PPM_SOCKOPT_SO_DOMAIN},
342 {"SO_PROTOCOL", PPM_SOCKOPT_SO_PROTOCOL},
343 {"SO_TIMESTAMPING", PPM_SOCKOPT_SO_TIMESTAMPING},
344 {"SO_MARK", PPM_SOCKOPT_SO_MARK},
345 {"SO_TIMESTAMPNS", PPM_SOCKOPT_SO_TIMESTAMPNS},
346 {"SO_PASSSEC", PPM_SOCKOPT_SO_PASSSEC},
347 {"SO_PEERSEC", PPM_SOCKOPT_SO_PEERSEC},
348 {"SO_ACCEPTCONN", PPM_SOCKOPT_SO_ACCEPTCONN},
349 {"SO_TIMESTAMP", PPM_SOCKOPT_SO_TIMESTAMP},
350 {"SO_PEERNAME", PPM_SOCKOPT_SO_PEERNAME},
351 {"SO_DETACH_FILTER", PPM_SOCKOPT_SO_DETACH_FILTER},
352 {"SO_ATTACH_FILTER", PPM_SOCKOPT_SO_ATTACH_FILTER},
353 {"SO_BINDTODEVICE", PPM_SOCKOPT_SO_BINDTODEVICE},
354 {"SO_SECURITY_ENCRYPTION_NETWORK", PPM_SOCKOPT_SO_SECURITY_ENCRYPTION_NETWORK},
355 {"SO_SECURITY_ENCRYPTION_TRANSPORT", PPM_SOCKOPT_SO_SECURITY_ENCRYPTION_TRANSPORT},
356 {"SO_SECURITY_AUTHENTICATION", PPM_SOCKOPT_SO_SECURITY_AUTHENTICATION},
357 {"SO_SNDTIMEO", PPM_SOCKOPT_SO_SNDTIMEO},
358 {"SO_RCVTIMEO", PPM_SOCKOPT_SO_RCVTIMEO},
359 {"SO_SNDLOWAT", PPM_SOCKOPT_SO_SNDLOWAT},
360 {"SO_RCVLOWAT", PPM_SOCKOPT_SO_RCVLOWAT},
361 {"SO_PEERCRED", PPM_SOCKOPT_SO_PEERCRED},
362 {"SO_PASSCRED", PPM_SOCKOPT_SO_PASSCRED},
363 {"SO_REUSEPORT", PPM_SOCKOPT_SO_REUSEPORT},
364 {"SO_BSDCOMPAT", PPM_SOCKOPT_SO_BSDCOMPAT},
365 {"SO_LINGER", PPM_SOCKOPT_SO_LINGER},
366 {"SO_PRIORITY", PPM_SOCKOPT_SO_PRIORITY},
367 {"SO_NO_CHECK", PPM_SOCKOPT_SO_NO_CHECK},
368 {"SO_OOBINLINE", PPM_SOCKOPT_SO_OOBINLINE},
369 {"SO_KEEPALIVE", PPM_SOCKOPT_SO_KEEPALIVE},
370 {"SO_RCVBUFFORCE", PPM_SOCKOPT_SO_RCVBUFFORCE},
371 {"SO_SNDBUFFORCE", PPM_SOCKOPT_SO_SNDBUFFORCE},
372 {"SO_RCVBUF", PPM_SOCKOPT_SO_RCVBUF},
373 {"SO_SNDBUF", PPM_SOCKOPT_SO_SNDBUF},
374 {"SO_BROADCAST", PPM_SOCKOPT_SO_BROADCAST},
375 {"SO_DONTROUTE", PPM_SOCKOPT_SO_DONTROUTE},
376 {"SO_ERROR", PPM_SOCKOPT_SO_ERROR},
377 {"SO_TYPE", PPM_SOCKOPT_SO_TYPE},
378 {"SO_REUSEADDR", PPM_SOCKOPT_SO_REUSEADDR},
379 {"SO_DEBUG", PPM_SOCKOPT_SO_DEBUG},
380 {"UNKNOWN", PPM_SOCKOPT_UNKNOWN},
381 {0, 0},
382};
383
384const struct ppm_name_value ptrace_requests[] = {
385 {"PTRACE_SINGLEBLOCK", PPM_PTRACE_SINGLEBLOCK},
386 {"PTRACE_SYSEMU_SINGLESTEP", PPM_PTRACE_SYSEMU_SINGLESTEP},
387 {"PTRACE_SYSEMU", PPM_PTRACE_SYSEMU},
388 {"PTRACE_ARCH_PRCTL", PPM_PTRACE_ARCH_PRCTL},
389 {"PTRACE_SET_THREAD_AREA", PPM_PTRACE_SET_THREAD_AREA},
390 {"PTRACE_GET_THREAD_AREA", PPM_PTRACE_GET_THREAD_AREA},
391 {"PTRACE_OLDSETOPTIONS", PPM_PTRACE_OLDSETOPTIONS},
392 {"PTRACE_SETFPXREGS", PPM_PTRACE_SETFPXREGS},
393 {"PTRACE_GETFPXREGS", PPM_PTRACE_GETFPXREGS},
394 {"PTRACE_SETFPREGS", PPM_PTRACE_SETFPREGS},
395 {"PTRACE_GETFPREGS", PPM_PTRACE_GETFPREGS},
396 {"PTRACE_SETREGS", PPM_PTRACE_SETREGS},
397 {"PTRACE_GETREGS", PPM_PTRACE_GETREGS},
398 {"PTRACE_SETSIGMASK", PPM_PTRACE_SETSIGMASK},
399 {"PTRACE_GETSIGMASK", PPM_PTRACE_GETSIGMASK},
400 {"PTRACE_PEEKSIGINFO", PPM_PTRACE_PEEKSIGINFO},
401 {"PTRACE_LISTEN", PPM_PTRACE_LISTEN},
402 {"PTRACE_INTERRUPT", PPM_PTRACE_INTERRUPT},
403 {"PTRACE_SEIZE", PPM_PTRACE_SEIZE},
404 {"PTRACE_SETREGSET", PPM_PTRACE_SETREGSET},
405 {"PTRACE_GETREGSET", PPM_PTRACE_GETREGSET},
406 {"PTRACE_SETSIGINFO", PPM_PTRACE_SETSIGINFO},
407 {"PTRACE_GETSIGINFO", PPM_PTRACE_GETSIGINFO},
408 {"PTRACE_GETEVENTMSG", PPM_PTRACE_GETEVENTMSG},
409 {"PTRACE_SETOPTIONS", PPM_PTRACE_SETOPTIONS},
410 {"PTRACE_SYSCALL", PPM_PTRACE_SYSCALL},
411 {"PTRACE_DETACH", PPM_PTRACE_DETACH},
412 {"PTRACE_ATTACH", PPM_PTRACE_ATTACH},
413 {"PTRACE_SINGLESTEP", PPM_PTRACE_SINGLESTEP},
414 {"PTRACE_KILL", PPM_PTRACE_KILL},
415 {"PTRACE_CONT", PPM_PTRACE_CONT},
416 {"PTRACE_POKEUSR", PPM_PTRACE_POKEUSR},
417 {"PTRACE_POKEDATA", PPM_PTRACE_POKEDATA},
418 {"PTRACE_POKETEXT", PPM_PTRACE_POKETEXT},
419 {"PTRACE_PEEKUSR", PPM_PTRACE_PEEKUSR},
420 {"PTRACE_PEEKDATA", PPM_PTRACE_PEEKDATA},
421 {"PTRACE_PEEKTEXT", PPM_PTRACE_PEEKTEXT},
422 {"PTRACE_TRACEME", PPM_PTRACE_TRACEME},
423 {"PTRACE_UNKNOWN", PPM_PTRACE_UNKNOWN},
424 {0, 0},
425};
426
427const struct ppm_name_value prot_flags[] = {
428 {"PROT_READ", PPM_PROT_READ},
429 {"PROT_WRITE", PPM_PROT_WRITE},
430 {"PROT_EXEC", PPM_PROT_EXEC},
431 {"PROT_SEM", PPM_PROT_SEM},
432 {"PROT_GROWSDOWN", PPM_PROT_GROWSDOWN},
433 {"PROT_GROWSUP", PPM_PROT_GROWSUP},
434 {"PROT_SAO", PPM_PROT_SAO},
435 {"PROT_NONE", PPM_PROT_NONE},
436 {0, 0},
437};
438
439const struct ppm_name_value mmap_flags[] = {
440 {"MAP_SHARED", PPM_MAP_SHARED},
441 {"MAP_PRIVATE", PPM_MAP_PRIVATE},
442 {"MAP_FIXED", PPM_MAP_FIXED},
443 {"MAP_ANONYMOUS", PPM_MAP_ANONYMOUS},
444 {"MAP_32BIT", PPM_MAP_32BIT},
445 {"MAP_RENAME", PPM_MAP_RENAME},
446 {"MAP_NORESERVE", PPM_MAP_NORESERVE},
447 {"MAP_POPULATE", PPM_MAP_POPULATE},
448 {"MAP_NONBLOCK", PPM_MAP_NONBLOCK},
449 {"MAP_GROWSDOWN", PPM_MAP_GROWSDOWN},
450 {"MAP_DENYWRITE", PPM_MAP_DENYWRITE},
451 {"MAP_EXECUTABLE", PPM_MAP_EXECUTABLE},
452 {"MAP_INHERIT", PPM_MAP_INHERIT},
453 {"MAP_FILE", PPM_MAP_FILE},
454 {"MAP_LOCKED", PPM_MAP_LOCKED},
455 {0, 0},
456};
457
458const struct ppm_name_value splice_flags[] = {
459 {"SPLICE_F_MOVE", PPM_SPLICE_F_MOVE},
460 {"SPLICE_F_NONBLOCK", PPM_SPLICE_F_NONBLOCK},
461 {"SPLICE_F_MORE", PPM_SPLICE_F_MORE},
462 {"SPLICE_F_GIFT", PPM_SPLICE_F_GIFT},
463 {0, 0},
464};
465
466const struct ppm_name_value quotactl_dqi_flags[] = {
467 {"DQF_NONE", PPM_DQF_NONE},
468 {"V1_DQF_RSQUASH", PPM_V1_DQF_RSQUASH},
469 {0, 0},
470};
471
472const struct ppm_name_value quotactl_cmds[] = {
473 {"Q_QUOTAON", PPM_Q_QUOTAON},
474 {"Q_QUOTAOFF", PPM_Q_QUOTAOFF},
475 {"Q_GETFMT", PPM_Q_GETFMT},
476 {"Q_GETINFO", PPM_Q_GETINFO},
477 {"Q_SETINFO", PPM_Q_SETINFO},
478 {"Q_GETQUOTA", PPM_Q_GETQUOTA},
479 {"Q_SETQUOTA", PPM_Q_SETQUOTA},
480 {"Q_SYNC", PPM_Q_SYNC},
481 {"Q_XQUOTAON", PPM_Q_XQUOTAON},
482 {"Q_XQUOTAOFF", PPM_Q_XQUOTAOFF},
483 {"Q_XGETQUOTA", PPM_Q_XGETQUOTA},
484 {"Q_XSETQLIM", PPM_Q_XSETQLIM},
485 {"Q_XGETQSTAT", PPM_Q_XGETQSTAT},
486 {"Q_XQUOTARM", PPM_Q_XQUOTARM},
487 {"Q_XQUOTASYNC", PPM_Q_XQUOTASYNC},
488 {0, 0},
489};
490
491const struct ppm_name_value quotactl_types[] = {
492 {"USRQUOTA", PPM_USRQUOTA},
493 {"GRPQUOTA", PPM_GRPQUOTA},
494 {0, 0},
495};
496
497const struct ppm_name_value quotactl_quota_fmts[] = {
498 {"QFMT_NOT_USED", PPM_QFMT_NOT_USED},
499 {"QFMT_VFS_OLD", PPM_QFMT_VFS_OLD},
500 {"QFMT_VFS_V0", PPM_QFMT_VFS_V0},
501 {"QFMT_VFS_V1", PPM_QFMT_VFS_V1},
502 {0, 0},
503};
504
505const struct ppm_name_value semop_flags[] = {
506 {"IPC_NOWAIT", PPM_IPC_NOWAIT},
507 {"SEM_UNDO", PPM_SEM_UNDO},
508 {0, 0},
509};
510
511const struct ppm_name_value semget_flags[] = {
512 {"IPC_EXCL", PPM_IPC_EXCL},
513 {"IPC_CREAT", PPM_IPC_CREAT},
514 {0, 0},
515};
516
517const struct ppm_name_value semctl_commands[] = {
518 {"IPC_STAT", PPM_IPC_STAT},
519 {"IPC_SET", PPM_IPC_SET},
520 {"IPC_RMID", PPM_IPC_RMID},
521 {"IPC_INFO", PPM_IPC_INFO},
522 {"SEM_INFO", PPM_SEM_INFO},
523 {"SEM_STAT", PPM_SEM_STAT},
524 {"GETALL", PPM_GETALL},
525 {"GETNCNT", PPM_GETNCNT},
526 {"GETPID", PPM_GETPID},
527 {"GETVAL", PPM_GETVAL},
528 {"GETZCNT", PPM_GETZCNT},
529 {"SETALL", PPM_SETALL},
530 {"SETVAL", PPM_SETVAL},
531 {0, 0},
532};
533
534const struct ppm_name_value access_flags[] = {
535 {"F_OK", PPM_F_OK},
536 {"R_OK", PPM_R_OK},
537 {"W_OK", PPM_W_OK},
538 {"X_OK", PPM_X_OK},
539 {0, 0},
540};
541
542const struct ppm_name_value pf_flags[] = {
543 {"PROTECTION_VIOLATION", PPM_PF_PROTECTION_VIOLATION},
544 {"PAGE_NOT_PRESENT", PPM_PF_PAGE_NOT_PRESENT},
545 {"WRITE_ACCESS", PPM_PF_WRITE_ACCESS},
546 {"READ_ACCESS", PPM_PF_READ_ACCESS},
547 {"USER_FAULT", PPM_PF_USER_FAULT},
548 {"SUPERVISOR_FAULT", PPM_PF_SUPERVISOR_FAULT},
549 {"RESERVED_PAGE", PPM_PF_RESERVED_PAGE},
550 {"INSTRUCTION_FETCH", PPM_PF_INSTRUCTION_FETCH},
551 {0, 0},
552};
553
554const struct ppm_name_value unlinkat_flags[] = {
555 {"AT_REMOVEDIR", PPM_AT_REMOVEDIR},
556 {0, 0},
557};
558
559const struct ppm_name_value linkat_flags[] = {
560 {"AT_SYMLINK_FOLLOW", PPM_AT_SYMLINK_FOLLOW},
561 {"AT_EMPTY_PATH", PPM_AT_EMPTY_PATH},
562 {0, 0},
563};
564
565const struct ppm_name_value newfstatat_flags[] = {
566 {"AT_EMPTY_PATH", PPM_AT_EMPTY_PATH},
567 {"AT_NO_AUTOMOUNT", PPM_AT_NO_AUTOMOUNT},
568 {"AT_SYMLINK_NOFOLLOW", PPM_AT_SYMLINK_NOFOLLOW},
569 {0, 0},
570};
571
572const struct ppm_name_value chmod_mode[] = {
573 {"S_IXOTH", PPM_S_IXOTH},
574 {"S_IWOTH", PPM_S_IWOTH},
575 {"S_IROTH", PPM_S_IROTH},
576 {"S_IXGRP", PPM_S_IXGRP},
577 {"S_IWGRP", PPM_S_IWGRP},
578 {"S_IRGRP", PPM_S_IRGRP},
579 {"S_IXUSR", PPM_S_IXUSR},
580 {"S_IWUSR", PPM_S_IWUSR},
581 {"S_IRUSR", PPM_S_IRUSR},
582 {"S_ISVTX", PPM_S_ISVTX},
583 {"S_ISGID", PPM_S_ISGID},
584 {"S_ISUID", PPM_S_ISUID},
585 {0, 0},
586};
587
588const struct ppm_name_value fchownat_flags[] = {
589 {"AT_SYMLINK_NOFOLLOW", PPM_AT_SYMLINK_FOLLOW},
590 {"AT_EMPTY_PATH", PPM_AT_EMPTY_PATH},
591 {0, 0},
592};
593
594const struct ppm_name_value renameat2_flags[] = {
595 {"RENAME_NOREPLACE", PPM_RENAME_NOREPLACE},
596 {"RENAME_EXCHANGE", PPM_RENAME_EXCHANGE},
597 {"RENAME_WHITEOUT", PPM_RENAME_WHITEOUT},
598 {0, 0},
599};
600
601const struct ppm_name_value openat2_flags[] = {
602 {"RESOLVE_BENEATH", PPM_RESOLVE_BENEATH},
603 {"RESOLVE_IN_ROOT", PPM_RESOLVE_IN_ROOT},
604 {"RESOLVE_NO_MAGICLINKS", PPM_RESOLVE_NO_MAGICLINKS},
605 {"RESOLVE_NO_SYMLINKS", PPM_RESOLVE_NO_SYMLINKS},
606 {"RESOLVE_NO_XDEV", PPM_RESOLVE_NO_XDEV},
607 {"RESOLVE_CACHED", PPM_RESOLVE_CACHED},
608 {0, 0},
609};
610
611const struct ppm_name_value execve_flags[] = {
612 {"EXE_WRITABLE", PPM_EXE_WRITABLE},
613 {"EXE_UPPER_LAYER", PPM_EXE_UPPER_LAYER},
614 {"EXE_FROM_MEMFD", PPM_EXE_FROM_MEMFD},
615 {"EXE_LOWER_LAYER", PPM_EXE_LOWER_LAYER},
616 {0, 0},
617};
618
619const struct ppm_name_value execveat_flags[] = {
620 {"AT_EMPTY_PATH", PPM_EXVAT_AT_EMPTY_PATH},
621 {"AT_SYMLINK_NOFOLLOW", PPM_EXVAT_AT_SYMLINK_NOFOLLOW},
622 {0, 0},
623};
624
625const struct ppm_name_value io_uring_setup_flags[] = {
626 {"IORING_SETUP_IOPOLL", PPM_IORING_SETUP_IOPOLL},
627 {"IORING_SETUP_SQPOLL", PPM_IORING_SETUP_SQPOLL},
628 {"IORING_SQ_NEED_WAKEUP", PPM_IORING_SQ_NEED_WAKEUP},
629 {"IORING_SETUP_SQ_AFF", PPM_IORING_SETUP_SQ_AFF},
630 {"IORING_SETUP_CQSIZE", PPM_IORING_SETUP_CQSIZE},
631 {"IORING_SETUP_CLAMP", PPM_IORING_SETUP_CLAMP},
632 {"IORING_SETUP_ATTACH_RW", PPM_IORING_SETUP_ATTACH_WQ},
633 {"IORING_SETUP_R_DISABLED", PPM_IORING_SETUP_R_DISABLED},
634 {0, 0},
635};
636
637const struct ppm_name_value io_uring_setup_feats[] = {
638 {"IORING_FEAT_SINGLE_MMAP", PPM_IORING_FEAT_SINGLE_MMAP},
639 {"IORING_FEAT_NODROP", PPM_IORING_FEAT_NODROP},
640 {"IORING_FEAT_SUBMIT_STABLE", PPM_IORING_FEAT_SUBMIT_STABLE},
641 {"IORING_FEAT_RW_CUR_POS", PPM_IORING_FEAT_RW_CUR_POS},
642 {"IORING_FEAT_CUR_PERSONALITY", PPM_IORING_FEAT_CUR_PERSONALITY},
643 {"IORING_FEAT_FAST_POLL", PPM_IORING_FEAT_FAST_POLL},
644 {"IORING_FEAT_POLL_32BITS", PPM_IORING_FEAT_POLL_32BITS},
645 {"IORING_FEAT_SQPOLL_NONFIXED", PPM_IORING_FEAT_SQPOLL_NONFIXED},
646 {"IORING_FEAT_ENTER_EXT_ARG", PPM_IORING_FEAT_ENTER_EXT_ARG},
647 {"IORING_FEAT_NATIVE_WORKERS", PPM_IORING_FEAT_NATIVE_WORKERS},
648 {"IORING_FEAT_RSRC_TAGS", PPM_IORING_FEAT_RSRC_TAGS},
649 {0, 0},
650};
651
652const struct ppm_name_value io_uring_enter_flags[] = {
653 {"IORING_ENTER_GETEVENTS", PPM_IORING_ENTER_GETEVENTS},
654 {"IORING_ENTER_SQ_WAKEUP", PPM_IORING_ENTER_SQ_WAKEUP},
655 {"IORING_ENTER_SQ_WAIT", PPM_IORING_ENTER_SQ_WAIT},
656 {"IORING_ENTER_EXT_ARG", PPM_IORING_ENTER_EXT_ARG},
657 {0, 0},
658};
659
660const struct ppm_name_value io_uring_register_opcodes[] = {
661 {"IORING_REGISTER_BUFFERS", PPM_IORING_REGISTER_BUFFERS},
662 {"IORING_UNREGISTER_BUFFERS", PPM_IORING_UNREGISTER_BUFFERS},
663 {"IORING_REGISTER_FILES", PPM_IORING_REGISTER_FILES},
664 {"IORING_UNREGISTER_FILES", PPM_IORING_UNREGISTER_FILES},
665 {"IORING_REGISTER_EVENTFD", PPM_IORING_REGISTER_EVENTFD},
666 {"IORING_UNREGISTER_EVENTFD", PPM_IORING_UNREGISTER_EVENTFD},
667 {"IORING_REGISTER_FILES_UPDATE", PPM_IORING_REGISTER_FILES_UPDATE},
668 {"IORING_REGISTER_EVENTFD_ASYNC", PPM_IORING_REGISTER_EVENTFD_ASYNC},
669 {"IORING_REGISTER_PROBE", PPM_IORING_REGISTER_PROBE},
670 {"IORING_REGISTER_PERSONALITY", PPM_IORING_REGISTER_PERSONALITY},
671 {"IORING_UNREGISTER_PERSONALITY", PPM_IORING_UNREGISTER_PERSONALITY},
672 {"IORING_REGISTER_RESTRICTIONS", PPM_IORING_REGISTER_RESTRICTIONS},
673 {"IORING_REGISTER_ENABLE_RINGS", PPM_IORING_REGISTER_ENABLE_RINGS},
674 {"IORING_REGISTER_FILES2", PPM_IORING_REGISTER_FILES2},
675 {"IORING_REGISTER_FILES_UPDATE2", PPM_IORING_REGISTER_FILES_UPDATE2},
676 {"IORING_REGISTER_BUFFERS2", PPM_IORING_REGISTER_BUFFERS2},
677 {"IORING_REGISTER_BUFFERS_UPDATE", PPM_IORING_REGISTER_BUFFERS_UPDATE},
678 {"IORING_REGISTER_IOWQ_AFF", PPM_IORING_REGISTER_IOWQ_AFF},
679 {"IORING_UNREGISTER_IOWQ_AFF", PPM_IORING_UNREGISTER_IOWQ_AFF},
680 {"IORING_REGISTER_IOWQ_MAX_WORKERS", PPM_IORING_REGISTER_IOWQ_MAX_WORKERS},
681 {"IORING_REGISTER_RING_FDS", PPM_IORING_REGISTER_RING_FDS},
682 {"IORING_UNREGISTER_RING_FDS", PPM_IORING_UNREGISTER_RING_FDS},
683 {0, 0}};
684
685const struct ppm_name_value mlockall_flags[] = {
686 {"MCL_CURRENT", PPM_MLOCKALL_MCL_CURRENT},
687 {"MCL_FUTURE", PPM_MLOCKALL_MCL_FUTURE},
688 {"MCL_ONFAULT", PPM_MLOCKALL_MCL_ONFAULT},
689 {0, 0},
690};
691
692const struct ppm_name_value mlock2_flags[] = {
693 {"MLOCK_ONFAULT", PPM_MLOCK_ONFAULT},
694 {0, 0},
695};
696
697const struct ppm_name_value fsconfig_cmds[] = {
698 {"FSCONFIG_SET_FLAG", PPM_FSCONFIG_SET_FLAG},
699 {"FSCONFIG_SET_STRING", PPM_FSCONFIG_SET_STRING},
700 {"FSCONFIG_SET_BINARY", PPM_FSCONFIG_SET_BINARY},
701 {"FSCONFIG_SET_PATH", PPM_FSCONFIG_SET_PATH},
702 {"FSCONFIG_SET_PATH_EMPTY", PPM_FSCONFIG_SET_PATH_EMPTY},
703 {"FSCONFIG_SET_FD", PPM_FSCONFIG_SET_FD},
704 {"FSCONFIG_CMD_CREATE", PPM_FSCONFIG_CMD_CREATE},
705 {"FSCONFIG_CMD_RECONFIGURE", PPM_FSCONFIG_CMD_RECONFIGURE},
706 {0, 0},
707};
708
709const struct ppm_name_value epoll_create1_flags[] = {
710 {"EPOLL_CLOEXEC", PPM_EPOLL_CLOEXEC},
711 {0, 0},
712};
713
714const struct ppm_name_value prctl_options[] = {
715 {"PR_GET_DUMPABLE", PPM_PR_GET_DUMPABLE},
716 {"PR_SET_DUMPABLE", PPM_PR_SET_DUMPABLE},
717 {"PR_GET_KEEPCAPS", PPM_PR_GET_KEEPCAPS},
718 {"PR_SET_KEEPCAPS", PPM_PR_SET_KEEPCAPS},
719 {"PR_SET_NAME", PPM_PR_SET_NAME},
720 {"PR_GET_NAME", PPM_PR_GET_NAME},
721 {"PR_GET_SECCOMP", PPM_PR_GET_SECCOMP},
722 {"PR_SET_SECCOMP", PPM_PR_SET_SECCOMP},
723 {"PR_CAPBSET_READ", PPM_PR_CAPBSET_READ},
724 {"PR_CAPBSET_DROP", PPM_PR_CAPBSET_DROP},
725 {"PR_GET_SECUREBITS", PPM_PR_GET_SECUREBITS},
726 {"PR_SET_SECUREBITS", PPM_PR_SET_SECUREBITS},
727 {"PR_MCE_KILL", PPM_PR_MCE_KILL},
728 {"PR_SET_MM", PPM_PR_SET_MM},
729 {"PR_SET_CHILD_SUBREAPER", PPM_PR_SET_CHILD_SUBREAPER},
730 {"PR_GET_CHILD_SUBREAPER", PPM_PR_GET_CHILD_SUBREAPER},
731 {"PR_SET_NO_NEW_PRIVS", PPM_PR_SET_NO_NEW_PRIVS},
732 {"PR_GET_NO_NEW_PRIVS", PPM_PR_GET_NO_NEW_PRIVS},
733 {"PR_GET_TID_ADDRESS", PPM_PR_GET_TID_ADDRESS},
734 {"PR_SET_THP_DISABLE", PPM_PR_SET_THP_DISABLE},
735 {"PR_GET_THP_DISABLE", PPM_PR_GET_THP_DISABLE},
736 {"PR_CAP_AMBIENT", PPM_PR_CAP_AMBIENT},
737 {0, 0},
738};
739
740const struct ppm_name_value keyctl_operations[] = {
741 {"KEYCTL_GET_KEYRING_ID", PPM_KEYCTL_GET_KEYRING_ID},
742 {"KEYCTL_JOIN_SESSION_KEYRING", PPM_KEYCTL_JOIN_SESSION_KEYRING},
743 {"KEYCTL_UPDATE", PPM_KEYCTL_UPDATE},
744 {"KEYCTL_REVOKE", PPM_KEYCTL_REVOKE},
745 {"KEYCTL_CHOWN", PPM_KEYCTL_CHOWN},
746 {"KEYCTL_SETPERM", PPM_KEYCTL_SETPERM},
747 {"KEYCTL_DESCRIBE", PPM_KEYCTL_DESCRIBE},
748 {"KEYCTL_CLEAR", PPM_KEYCTL_CLEAR},
749 {"KEYCTL_LINK", PPM_KEYCTL_LINK},
750 {"KEYCTL_UNLINK", PPM_KEYCTL_UNLINK},
751 {"KEYCTL_SEARCH", PPM_KEYCTL_SEARCH},
752 {"KEYCTL_READ", PPM_KEYCTL_READ},
753 {"KEYCTL_INSTANTIATE", PPM_KEYCTL_INSTANTIATE},
754 {"KEYCTL_NEGATE", PPM_KEYCTL_NEGATE},
755 {"KEYCTL_SET_REQKEY_KEYRING", PPM_KEYCTL_SET_REQKEY_KEYRING},
756 {"KEYCTL_SET_TIMEOUT", PPM_KEYCTL_SET_TIMEOUT},
757 {"KEYCTL_ASSUME_AUTHORITY", PPM_KEYCTL_ASSUME_AUTHORITY},
758 {"KEYCTL_GET_SECURITY", PPM_KEYCTL_GET_SECURITY},
759 {"KEYCTL_SESSION_TO_PARENT", PPM_KEYCTL_SESSION_TO_PARENT},
760 {"KEYCTL_REJECT", PPM_KEYCTL_REJECT},
761 {"KEYCTL_INSTANTIATE_IOV", PPM_KEYCTL_INSTANTIATE_IOV},
762 {"KEYCTL_INVALIDATE", PPM_KEYCTL_INVALIDATE},
763 {"KEYCTL_GET_PERSISTENT", PPM_KEYCTL_GET_PERSISTENT},
764 {"KEYCTL_DH_COMPUTE", PPM_KEYCTL_DH_COMPUTE},
765 {"KEYCTL_PKEY_QUERY", PPM_KEYCTL_PKEY_QUERY},
766 {"KEYCTL_PKEY_ENCRYPT", PPM_KEYCTL_PKEY_ENCRYPT},
767 {"KEYCTL_PKEY_DECRYPT", PPM_KEYCTL_PKEY_DECRYPT},
768 {"KEYCTL_PKEY_SIGN", PPM_KEYCTL_PKEY_SIGN},
769 {"KEYCTL_PKEY_VERIFY", PPM_KEYCTL_PKEY_VERIFY},
770 {"KEYCTL_RESTRICT_KEYRING", PPM_KEYCTL_RESTRICT_KEYRING},
771 {"KEYCTL_MOVE", PPM_KEYCTL_MOVE},
772 {"KEYCTL_CAPABILITIES", PPM_KEYCTL_CAPABILITIES},
773 {"KEYCTL_WATCH_KEY", PPM_KEYCTL_WATCH_KEY},
774 {0, 0},
775};
776
777const struct ppm_name_value memfd_create_flags[] = {
778 {"MFD_CLOEXEC", PPM_MFD_CLOEXEC},
779 {"MFD_ALLOW_SEALING", PPM_MFD_ALLOW_SEALING},
780 {"MFD_HUGETLB", PPM_MFD_HUGETLB},
781 {0, 0},
782};
783
784const struct ppm_name_value pidfd_open_flags[] = {
785 {"PIDFD_NONBLOCK", PPM_PIDFD_NONBLOCK},
786 {0, 0},
787};
788
789const struct ppm_name_value mknod_mode[] = {
790 {"S_IXOTH", PPM_S_IXOTH},
791 {"S_IWOTH", PPM_S_IWOTH},
792 {"S_IROTH", PPM_S_IROTH},
793 {"S_IXGRP", PPM_S_IXGRP},
794 {"S_IWGRP", PPM_S_IWGRP},
795 {"S_IRGRP", PPM_S_IRGRP},
796 {"S_IXUSR", PPM_S_IXUSR},
797 {"S_IWUSR", PPM_S_IWUSR},
798 {"S_IRUSR", PPM_S_IRUSR},
799 {"S_ISVTX", PPM_S_ISVTX},
800 {"S_ISGID", PPM_S_ISGID},
801 {"S_ISUID", PPM_S_ISUID},
802 {"S_IFREG", PPM_S_IFREG},
803 {"S_IFCHR", PPM_S_IFCHR},
804 {"S_IFBLK", PPM_S_IFBLK},
805 {"S_IFIFO", PPM_S_IFIFO},
806 {"S_IFSOCK", PPM_S_IFSOCK},
807 {0, 0},
808};
809
810const struct ppm_name_value bpf_commands[] = {
811 {"BPF_MAP_CREATE", PPM_BPF_MAP_CREATE},
812 {"BPF_MAP_LOOKUP_ELEM", PPM_BPF_MAP_LOOKUP_ELEM},
813 {"BPF_MAP_UPDATE_ELEM", PPM_BPF_MAP_UPDATE_ELEM},
814 {"BPF_MAP_DELETE_ELEM", PPM_BPF_MAP_DELETE_ELEM},
815 {"BPF_MAP_GET_NEXT_KEY", PPM_BPF_MAP_GET_NEXT_KEY},
816 {"BPF_PROG_LOAD", PPM_BPF_PROG_LOAD},
817 {"BPF_OBJ_PIN", PPM_BPF_OBJ_PIN},
818 {"BPF_OBJ_GET", PPM_BPF_OBJ_GET},
819 {"BPF_PROG_ATTACH", PPM_BPF_PROG_ATTACH},
820 {"BPF_PROG_DETACH", PPM_BPF_PROG_DETACH},
821 {"BPF_PROG_TEST_RUN", PPM_BPF_PROG_TEST_RUN},
822 {"BPF_PROG_RUN", PPM_BPF_PROG_RUN},
823 {"BPF_PROG_GET_NEXT_ID", PPM_BPF_PROG_GET_NEXT_ID},
824 {"BPF_MAP_GET_NEXT_ID", PPM_BPF_MAP_GET_NEXT_ID},
825 {"BPF_PROG_GET_FD_BY_ID", PPM_BPF_PROG_GET_FD_BY_ID},
826 {"BPF_MAP_GET_FD_BY_ID", PPM_BPF_MAP_GET_FD_BY_ID},
827 {"BPF_OBJ_GET_INFO_BY_FD", PPM_BPF_OBJ_GET_INFO_BY_FD},
828 {"BPF_PROG_QUERY", PPM_BPF_PROG_QUERY},
829 {"BPF_RAW_TRACEPOINT_OPEN", PPM_BPF_RAW_TRACEPOINT_OPEN},
830 {"BPF_BTF_LOAD", PPM_BPF_BTF_LOAD},
831 {"BPF_BTF_GET_FD_BY_ID", PPM_BPF_BTF_GET_FD_BY_ID},
832 {"BPF_TASK_FD_QUERY", PPM_BPF_TASK_FD_QUERY},
833 {"BPF_MAP_LOOKUP_AND_DELETE_ELEM", PPM_BPF_MAP_LOOKUP_AND_DELETE_ELEM},
834 {"BPF_MAP_FREEZE", PPM_BPF_MAP_FREEZE},
835 {"BPF_BTF_GET_NEXT_ID", PPM_BPF_BTF_GET_NEXT_ID},
836 {"BPF_MAP_LOOKUP_BATCH", PPM_BPF_MAP_LOOKUP_BATCH},
837 {"BPF_MAP_LOOKUP_AND_DELETE_BATCH", PPM_BPF_MAP_LOOKUP_AND_DELETE_BATCH},
838 {"BPF_MAP_UPDATE_BATCH", PPM_BPF_MAP_UPDATE_BATCH},
839 {"BPF_MAP_DELETE_BATCH", PPM_BPF_MAP_DELETE_BATCH},
840 {"BPF_LINK_CREATE", PPM_BPF_LINK_CREATE},
841 {"BPF_LINK_UPDATE", PPM_BPF_LINK_UPDATE},
842 {"BPF_LINK_GET_FD_BY_ID", PPM_BPF_LINK_GET_FD_BY_ID},
843 {"BPF_LINK_GET_NEXT_ID", PPM_BPF_LINK_GET_NEXT_ID},
844 {"BPF_ENABLE_STATS", PPM_BPF_ENABLE_STATS},
845 {"BPF_ITER_CREATE", PPM_BPF_ITER_CREATE},
846 {"BPF_LINK_DETACH", PPM_BPF_LINK_DETACH},
847 {"BPF_PROG_BIND_MAP", PPM_BPF_PROG_BIND_MAP},
848 {0, 0},
849};
850
851const struct ppm_name_value delete_module_flags[] = {
852 {"O_NONBLOCK", PPM_DELETE_MODULE_O_NONBLOCK},
853 {"O_TRUNC", PPM_DELETE_MODULE_O_TRUNC},
854 {0, 0},
855};
856
857const struct ppm_name_value close_range_flags[] = {
858 {"CLOSE_RANGE_UNSHARE", PPM_CLOSE_RANGE_UNSHARE},
859 {"CLOSE_RANGE_CLOEXEC", PPM_CLOSE_RANGE_CLOEXEC},
860 {0, 0},
861};
862
863const struct ppm_name_value finit_module_flags[] = {
864 {"MODULE_INIT_IGNORE_MODVERSIONS", PPM_MODULE_INIT_IGNORE_MODVERSIONS},
865 {"MODULE_INIT_IGNORE_VERMAGIC", PPM_MODULE_INIT_IGNORE_VERMAGIC},
866 {"MODULE_INIT_COMPRESSED_FILE", PPM_MODULE_INIT_COMPRESSED_FILE},
867 {0, 0},
868};
869
870const struct ppm_name_value anon_inode_fd_types[] = {
871 {"ANON_INODE_FD_TYPE_UNKNOWN", anon_inode_fd_type_ANON_INODE_FD_TYPE_UNKNOWN},
872 {"ANON_INODE_FD_TYPE_EVENTFD", anon_inode_fd_type_ANON_INODE_FD_TYPE_EVENTFD},
873 {"ANON_INODE_FD_TYPE_EVENTPOLL", anon_inode_fd_type_ANON_INODE_FD_TYPE_EVENTPOLL},
874 {"ANON_INODE_FD_TYPE_INOTIFY", anon_inode_fd_type_ANON_INODE_FD_TYPE_INOTIFY},
875 {"ANON_INODE_FD_TYPE_SIGNALFD", anon_inode_fd_type_ANON_INODE_FD_TYPE_SIGNALFD},
876 {"ANON_INODE_FD_TYPE_TIMERFD", anon_inode_fd_type_ANON_INODE_FD_TYPE_TIMERFD},
877 {"ANON_INODE_FD_TYPE_IO_URING", anon_inode_fd_type_ANON_INODE_FD_TYPE_IO_URING},
878 {"ANON_INODE_FD_TYPE_USERFAULTFD", anon_inode_fd_type_ANON_INODE_FD_TYPE_USERFAULTFD},
879 {"ANON_INODE_FD_TYPE_PIDFD", anon_inode_fd_type_ANON_INODE_FD_TYPE_PIDFD},
880 {"ANON_INODE_FD_TYPE_BPF_MAP", anon_inode_fd_type_ANON_INODE_FD_TYPE_BPF_MAP},
881 {"ANON_INODE_FD_TYPE_BPF_PROG", anon_inode_fd_type_ANON_INODE_FD_TYPE_BPF_PROG},
882 {"ANON_INODE_FD_TYPE_BPF_LINK", anon_inode_fd_type_ANON_INODE_FD_TYPE_BPF_LINK},
883 {"ANON_INODE_FD_TYPE_BPF_ITER", anon_inode_fd_type_ANON_INODE_FD_TYPE_BPF_ITER},
884 {"ANON_INODE_FD_TYPE_PERF_EVENT", anon_inode_fd_type_ANON_INODE_FD_TYPE_PERF_EVENT},
885 {0, 0},
886};
887}