blob: f16b0eca50d214533d1e1035d11a2091961e5107 [file] [log] [blame]
Andrew Geissler82c905d2020-04-13 13:39:40 -05001Check if legacy syscalls exist
2
3A lot of legacy syscalls are replaced with *at and are not implemented in newer
4architectures like aarch64
5
6Upstream-Status: Submitted [https://github.com/draios/sysdig/pull/1601]
7Signed-off-by: Khem Raj <raj.khem@gmail.com>
8--- a/driver/syscall_table.c
9+++ b/driver/syscall_table.c
10@@ -42,26 +42,46 @@ or GPL2.txt for full copies of the licen
11 * SYSCALL TABLE
12 */
13 const struct syscall_evt_pair g_syscall_table[SYSCALL_TABLE_SIZE] = {
14+#ifdef __NR_open
15 [__NR_open - SYSCALL_TABLE_ID0] = {UF_USED | UF_NEVER_DROP, PPME_SYSCALL_OPEN_E, PPME_SYSCALL_OPEN_X},
16+#endif
17+#ifdef __NR_creat
18 [__NR_creat - SYSCALL_TABLE_ID0] = {UF_USED | UF_NEVER_DROP, PPME_SYSCALL_CREAT_E, PPME_SYSCALL_CREAT_X},
19+#endif
20 [__NR_close - SYSCALL_TABLE_ID0] = {UF_USED | UF_NEVER_DROP | UF_SIMPLEDRIVER_KEEP, PPME_SYSCALL_CLOSE_E, PPME_SYSCALL_CLOSE_X},
21 [__NR_brk - SYSCALL_TABLE_ID0] = {UF_USED | UF_ALWAYS_DROP, PPME_SYSCALL_BRK_4_E, PPME_SYSCALL_BRK_4_X},
22 [__NR_read - SYSCALL_TABLE_ID0] = {UF_USED, PPME_SYSCALL_READ_E, PPME_SYSCALL_READ_X},
23 [__NR_write - SYSCALL_TABLE_ID0] = {UF_USED, PPME_SYSCALL_WRITE_E, PPME_SYSCALL_WRITE_X},
24 [__NR_execve - SYSCALL_TABLE_ID0] = {UF_USED | UF_NEVER_DROP | UF_SIMPLEDRIVER_KEEP, PPME_SYSCALL_EXECVE_19_E, PPME_SYSCALL_EXECVE_19_X},
25 [__NR_clone - SYSCALL_TABLE_ID0] = {UF_USED | UF_NEVER_DROP | UF_SIMPLEDRIVER_KEEP, PPME_SYSCALL_CLONE_20_E, PPME_SYSCALL_CLONE_20_X},
26+#ifdef __NR_fork
27 [__NR_fork - SYSCALL_TABLE_ID0] = {UF_USED | UF_NEVER_DROP | UF_SIMPLEDRIVER_KEEP, PPME_SYSCALL_FORK_20_E, PPME_SYSCALL_FORK_20_X},
28+#endif
29+#ifdef __NR_vfork
30 [__NR_vfork - SYSCALL_TABLE_ID0] = {UF_USED | UF_NEVER_DROP | UF_SIMPLEDRIVER_KEEP, PPME_SYSCALL_VFORK_20_E, PPME_SYSCALL_VFORK_20_X},
31+#endif
32+#ifdef __NR_pipe
33 [__NR_pipe - SYSCALL_TABLE_ID0] = {UF_USED | UF_NEVER_DROP, PPME_SYSCALL_PIPE_E, PPME_SYSCALL_PIPE_X},
34+#endif
35 [__NR_pipe2 - SYSCALL_TABLE_ID0] = {UF_USED | UF_NEVER_DROP, PPME_SYSCALL_PIPE_E, PPME_SYSCALL_PIPE_X},
36+#ifdef __NR_eventfd
37 [__NR_eventfd - SYSCALL_TABLE_ID0] = {UF_USED | UF_NEVER_DROP, PPME_SYSCALL_EVENTFD_E, PPME_SYSCALL_EVENTFD_X},
38+#endif
39 [__NR_eventfd2 - SYSCALL_TABLE_ID0] = {UF_USED | UF_NEVER_DROP, PPME_SYSCALL_EVENTFD_E, PPME_SYSCALL_EVENTFD_X},
40 [__NR_futex - SYSCALL_TABLE_ID0] = {UF_USED | UF_ALWAYS_DROP, PPME_SYSCALL_FUTEX_E, PPME_SYSCALL_FUTEX_X},
41+#ifdef __NR_stat
42 [__NR_stat - SYSCALL_TABLE_ID0] = {UF_USED | UF_ALWAYS_DROP, PPME_SYSCALL_STAT_E, PPME_SYSCALL_STAT_X},
43+#endif
44+#ifdef __NR_lstat
45 [__NR_lstat - SYSCALL_TABLE_ID0] = {UF_USED | UF_ALWAYS_DROP, PPME_SYSCALL_LSTAT_E, PPME_SYSCALL_LSTAT_X},
46+#endif
47 [__NR_fstat - SYSCALL_TABLE_ID0] = {UF_USED | UF_ALWAYS_DROP, PPME_SYSCALL_FSTAT_E, PPME_SYSCALL_FSTAT_X},
48+#ifdef __NR_epoll_wait
49 [__NR_epoll_wait - SYSCALL_TABLE_ID0] = {UF_USED | UF_ALWAYS_DROP, PPME_SYSCALL_EPOLLWAIT_E, PPME_SYSCALL_EPOLLWAIT_X},
50+#endif
51+#ifdef __NR_poll
52 [__NR_poll - SYSCALL_TABLE_ID0] = {UF_USED | UF_ALWAYS_DROP, PPME_SYSCALL_POLL_E, PPME_SYSCALL_POLL_X},
53+#endif
54 #ifdef __NR_select
55 [__NR_select - SYSCALL_TABLE_ID0] = {UF_USED | UF_ALWAYS_DROP, PPME_SYSCALL_SELECT_E, PPME_SYSCALL_SELECT_X},
56 #endif
57@@ -70,13 +90,21 @@ const struct syscall_evt_pair g_syscall_
58 [__NR_getcwd - SYSCALL_TABLE_ID0] = {UF_USED | UF_ALWAYS_DROP, PPME_SYSCALL_GETCWD_E, PPME_SYSCALL_GETCWD_X},
59 [__NR_chdir - SYSCALL_TABLE_ID0] = {UF_USED | UF_NEVER_DROP | UF_SIMPLEDRIVER_KEEP, PPME_SYSCALL_CHDIR_E, PPME_SYSCALL_CHDIR_X},
60 [__NR_fchdir - SYSCALL_TABLE_ID0] = {UF_USED | UF_NEVER_DROP | UF_SIMPLEDRIVER_KEEP, PPME_SYSCALL_FCHDIR_E, PPME_SYSCALL_FCHDIR_X},
61+#ifdef __NR_mkdir
62 [__NR_mkdir - SYSCALL_TABLE_ID0] = {UF_USED, PPME_SYSCALL_MKDIR_2_E, PPME_SYSCALL_MKDIR_2_X},
63+#endif
64+#ifdef __NR_rmdir
65 [__NR_rmdir - SYSCALL_TABLE_ID0] = {UF_USED, PPME_SYSCALL_RMDIR_2_E, PPME_SYSCALL_RMDIR_2_X},
66+#endif
67 [__NR_openat - SYSCALL_TABLE_ID0] = {UF_USED | UF_NEVER_DROP, PPME_SYSCALL_OPENAT_2_E, PPME_SYSCALL_OPENAT_2_X},
68 [__NR_mkdirat - SYSCALL_TABLE_ID0] = {UF_USED, PPME_SYSCALL_MKDIRAT_E, PPME_SYSCALL_MKDIRAT_X},
69+#ifdef __NR_link
70 [__NR_link - SYSCALL_TABLE_ID0] = {UF_USED, PPME_SYSCALL_LINK_2_E, PPME_SYSCALL_LINK_2_X},
71+#endif
72 [__NR_linkat - SYSCALL_TABLE_ID0] = {UF_USED, PPME_SYSCALL_LINKAT_2_E, PPME_SYSCALL_LINKAT_2_X},
73+#ifdef __NR_unlink
74 [__NR_unlink - SYSCALL_TABLE_ID0] = {UF_USED, PPME_SYSCALL_UNLINK_2_E, PPME_SYSCALL_UNLINK_2_X},
75+#endif
76 [__NR_unlinkat - SYSCALL_TABLE_ID0] = {UF_USED, PPME_SYSCALL_UNLINKAT_2_E, PPME_SYSCALL_UNLINKAT_2_X},
77 [__NR_pread64 - SYSCALL_TABLE_ID0] = {UF_USED, PPME_SYSCALL_PREAD_E, PPME_SYSCALL_PREAD_X},
78 [__NR_pwrite64 - SYSCALL_TABLE_ID0] = {UF_USED, PPME_SYSCALL_PWRITE_E, PPME_SYSCALL_PWRITE_X},
79@@ -85,16 +113,22 @@ const struct syscall_evt_pair g_syscall_
80 [__NR_preadv - SYSCALL_TABLE_ID0] = {UF_USED, PPME_SYSCALL_PREADV_E, PPME_SYSCALL_PREADV_X},
81 [__NR_pwritev - SYSCALL_TABLE_ID0] = {UF_USED, PPME_SYSCALL_PWRITEV_E, PPME_SYSCALL_PWRITEV_X},
82 [__NR_dup - SYSCALL_TABLE_ID0] = {UF_USED | UF_NEVER_DROP | UF_SIMPLEDRIVER_KEEP, PPME_SYSCALL_DUP_E, PPME_SYSCALL_DUP_X},
83+#ifdef __NR_dup2
84 [__NR_dup2 - SYSCALL_TABLE_ID0] = {UF_USED | UF_NEVER_DROP | UF_SIMPLEDRIVER_KEEP, PPME_SYSCALL_DUP_E, PPME_SYSCALL_DUP_X},
85+#endif
86 [__NR_dup3 - SYSCALL_TABLE_ID0] = {UF_USED | UF_NEVER_DROP | UF_SIMPLEDRIVER_KEEP, PPME_SYSCALL_DUP_E, PPME_SYSCALL_DUP_X},
87+#ifdef __NR_signalfd
88 [__NR_signalfd - SYSCALL_TABLE_ID0] = {UF_USED | UF_NEVER_DROP, PPME_SYSCALL_SIGNALFD_E, PPME_SYSCALL_SIGNALFD_X},
89+#endif
90 [__NR_signalfd4 - SYSCALL_TABLE_ID0] = {UF_USED | UF_NEVER_DROP, PPME_SYSCALL_SIGNALFD_E, PPME_SYSCALL_SIGNALFD_X},
91 [__NR_kill - SYSCALL_TABLE_ID0] = {UF_USED, PPME_SYSCALL_KILL_E, PPME_SYSCALL_KILL_X},
92 [__NR_tkill - SYSCALL_TABLE_ID0] = {UF_USED, PPME_SYSCALL_TKILL_E, PPME_SYSCALL_TKILL_X},
93 [__NR_tgkill - SYSCALL_TABLE_ID0] = {UF_USED, PPME_SYSCALL_TGKILL_E, PPME_SYSCALL_TGKILL_X},
94 [__NR_nanosleep - SYSCALL_TABLE_ID0] = {UF_USED | UF_ALWAYS_DROP, PPME_SYSCALL_NANOSLEEP_E, PPME_SYSCALL_NANOSLEEP_X},
95 [__NR_timerfd_create - SYSCALL_TABLE_ID0] = {UF_USED | UF_NEVER_DROP, PPME_SYSCALL_TIMERFD_CREATE_E, PPME_SYSCALL_TIMERFD_CREATE_X},
96+#ifdef __NR_inotify_init
97 [__NR_inotify_init - SYSCALL_TABLE_ID0] = {UF_USED | UF_NEVER_DROP, PPME_SYSCALL_INOTIFY_INIT_E, PPME_SYSCALL_INOTIFY_INIT_X},
98+#endif
99 [__NR_inotify_init1 - SYSCALL_TABLE_ID0] = {UF_USED | UF_NEVER_DROP, PPME_SYSCALL_INOTIFY_INIT_E, PPME_SYSCALL_INOTIFY_INIT_X},
100 [__NR_fchmodat - SYSCALL_TABLE_ID0] = {UF_USED, PPME_SYSCALL_FCHMODAT_E, PPME_SYSCALL_FCHMODAT_X},
101 [__NR_fchmod - SYSCALL_TABLE_ID0] = {UF_USED, PPME_SYSCALL_FCHMOD_E, PPME_SYSCALL_FCHMOD_X},
102@@ -114,14 +148,22 @@ const struct syscall_evt_pair g_syscall_
103 #endif
104 /* [__NR_old_select - SYSCALL_TABLE_ID0] = {UF_USED, PPME_GENERIC_E, PPME_GENERIC_X}, */
105 [__NR_pselect6 - SYSCALL_TABLE_ID0] = {UF_USED | UF_ALWAYS_DROP, PPME_GENERIC_E, PPME_GENERIC_X},
106+#ifdef __NR_epoll_create
107 [__NR_epoll_create - SYSCALL_TABLE_ID0] = {UF_USED | UF_ALWAYS_DROP, PPME_GENERIC_E, PPME_GENERIC_X},
108+#endif
109 [__NR_epoll_ctl - SYSCALL_TABLE_ID0] = {UF_USED | UF_ALWAYS_DROP, PPME_GENERIC_E, PPME_GENERIC_X},
110+#ifdef __NR_uselib
111 [__NR_uselib - SYSCALL_TABLE_ID0] = {UF_USED | UF_ALWAYS_DROP, PPME_GENERIC_E, PPME_GENERIC_X},
112+#endif
113 [__NR_sched_setparam - SYSCALL_TABLE_ID0] = {UF_USED | UF_ALWAYS_DROP, PPME_GENERIC_E, PPME_GENERIC_X},
114 [__NR_sched_getparam - SYSCALL_TABLE_ID0] = {UF_USED | UF_ALWAYS_DROP, PPME_GENERIC_E, PPME_GENERIC_X},
115 [__NR_syslog - SYSCALL_TABLE_ID0] = {UF_USED | UF_ALWAYS_DROP, PPME_GENERIC_E, PPME_GENERIC_X},
116+#ifdef __NR_chmod
117 [__NR_chmod - SYSCALL_TABLE_ID0] = {UF_USED, PPME_SYSCALL_CHMOD_E, PPME_SYSCALL_CHMOD_X},
118+#endif
119+#ifdef __NR_lchown
120 [__NR_lchown - SYSCALL_TABLE_ID0] = {UF_USED, PPME_GENERIC_E, PPME_GENERIC_X},
121+#endif
122 #ifdef __NR_utime
123 [__NR_utime - SYSCALL_TABLE_ID0] = {UF_USED | UF_ALWAYS_DROP, PPME_GENERIC_E, PPME_GENERIC_X},
124 #endif
125@@ -131,8 +173,9 @@ const struct syscall_evt_pair g_syscall_
126 #ifdef __NR_alarm
127 [__NR_alarm - SYSCALL_TABLE_ID0] = {UF_USED | UF_ALWAYS_DROP, PPME_GENERIC_E, PPME_GENERIC_X},
128 #endif
129+#ifdef __NR_pause
130 [__NR_pause - SYSCALL_TABLE_ID0] = {UF_USED | UF_ALWAYS_DROP, PPME_GENERIC_E, PPME_GENERIC_X},
131-
132+#endif
133 #ifndef __NR_socketcall
134 [__NR_socket - SYSCALL_TABLE_ID0] = {UF_USED | UF_NEVER_DROP | UF_SIMPLEDRIVER_KEEP, PPME_SOCKET_SOCKET_E, PPME_SOCKET_SOCKET_X},
135 [__NR_bind - SYSCALL_TABLE_ID0] = {UF_USED | UF_NEVER_DROP, PPME_SOCKET_BIND_E, PPME_SOCKET_BIND_X},
136@@ -184,9 +227,13 @@ const struct syscall_evt_pair g_syscall_
137 [__NR_process_vm_writev - SYSCALL_TABLE_ID0] = {UF_USED, PPME_GENERIC_E, PPME_GENERIC_X},
138 #endif
139
140+#ifdef __NR_rename
141 [__NR_rename - SYSCALL_TABLE_ID0] = {UF_USED, PPME_SYSCALL_RENAME_E, PPME_SYSCALL_RENAME_X},
142+#endif
143 [__NR_renameat - SYSCALL_TABLE_ID0] = {UF_USED, PPME_SYSCALL_RENAMEAT_E, PPME_SYSCALL_RENAMEAT_X},
144+#ifdef __NR_symlink
145 [__NR_symlink - SYSCALL_TABLE_ID0] = {UF_USED, PPME_SYSCALL_SYMLINK_E, PPME_SYSCALL_SYMLINK_X},
146+#endif
147 [__NR_symlinkat - SYSCALL_TABLE_ID0] = {UF_USED, PPME_SYSCALL_SYMLINKAT_E, PPME_SYSCALL_SYMLINKAT_X},
148 [__NR_sendfile - SYSCALL_TABLE_ID0] = {UF_USED, PPME_SYSCALL_SENDFILE_E, PPME_SYSCALL_SENDFILE_X},
149 #ifdef __NR_sendfile64
150@@ -255,7 +302,9 @@ const struct syscall_evt_pair g_syscall_
151 #ifdef __NR_getresgid32
152 [__NR_getresgid32 - SYSCALL_TABLE_ID0] = {UF_USED, PPME_SYSCALL_GETRESGID_E, PPME_SYSCALL_GETRESGID_X },
153 #endif
154+#ifdef __NR_getdents
155 [__NR_getdents - SYSCALL_TABLE_ID0] = {UF_USED | UF_ALWAYS_DROP, PPME_SYSCALL_GETDENTS_E, PPME_SYSCALL_GETDENTS_X},
156+#endif
157 [__NR_getdents64 - SYSCALL_TABLE_ID0] = {UF_USED | UF_ALWAYS_DROP, PPME_SYSCALL_GETDENTS64_E, PPME_SYSCALL_GETDENTS64_X},
158 #ifdef __NR_setns
159 [__NR_setns - SYSCALL_TABLE_ID0] = {UF_USED, PPME_SYSCALL_SETNS_E, PPME_SYSCALL_SETNS_X},
160@@ -298,19 +347,33 @@ const enum ppm_syscall_code g_syscall_co
161 [__NR_exit - SYSCALL_TABLE_ID0] = PPM_SC_EXIT,
162 [__NR_read - SYSCALL_TABLE_ID0] = PPM_SC_READ,
163 [__NR_write - SYSCALL_TABLE_ID0] = PPM_SC_WRITE,
164+#ifdef __NR_open
165 [__NR_open - SYSCALL_TABLE_ID0] = PPM_SC_OPEN,
166+#endif
167 [__NR_close - SYSCALL_TABLE_ID0] = PPM_SC_CLOSE,
168+#ifdef __NR_creat
169 [__NR_creat - SYSCALL_TABLE_ID0] = PPM_SC_CREAT,
170+#endif
171+#ifdef __NR_link
172 [__NR_link - SYSCALL_TABLE_ID0] = PPM_SC_LINK,
173+#endif
174+#ifdef __NR_unlink
175 [__NR_unlink - SYSCALL_TABLE_ID0] = PPM_SC_UNLINK,
176+#endif
177 [__NR_chdir - SYSCALL_TABLE_ID0] = PPM_SC_CHDIR,
178 #ifdef __NR_time
179 [__NR_time - SYSCALL_TABLE_ID0] = PPM_SC_TIME,
180 #endif
181+#ifdef __NR_mknod
182 [__NR_mknod - SYSCALL_TABLE_ID0] = PPM_SC_MKNOD,
183+#endif
184+#ifdef __NR_chmod
185 [__NR_chmod - SYSCALL_TABLE_ID0] = PPM_SC_CHMOD,
186+#endif
187 /* [__NR_lchown16 - SYSCALL_TABLE_ID0] = PPM_SC_NR_LCHOWN16, */
188+#ifdef __NR_stat
189 [__NR_stat - SYSCALL_TABLE_ID0] = PPM_SC_STAT,
190+#endif
191 [__NR_lseek - SYSCALL_TABLE_ID0] = PPM_SC_LSEEK,
192 [__NR_getpid - SYSCALL_TABLE_ID0] = PPM_SC_GETPID,
193 [__NR_mount - SYSCALL_TABLE_ID0] = PPM_SC_MOUNT,
194@@ -322,17 +385,27 @@ const enum ppm_syscall_code g_syscall_co
195 [__NR_alarm - SYSCALL_TABLE_ID0] = PPM_SC_ALARM,
196 #endif
197 [__NR_fstat - SYSCALL_TABLE_ID0] = PPM_SC_FSTAT,
198+#ifdef __NR_pause
199 [__NR_pause - SYSCALL_TABLE_ID0] = PPM_SC_PAUSE,
200+#endif
201 #ifdef __NR_utime
202 [__NR_utime - SYSCALL_TABLE_ID0] = PPM_SC_UTIME,
203 #endif
204 [__NR_sync - SYSCALL_TABLE_ID0] = PPM_SC_SYNC,
205 [__NR_kill - SYSCALL_TABLE_ID0] = PPM_SC_KILL,
206+#ifdef __NR_rename
207 [__NR_rename - SYSCALL_TABLE_ID0] = PPM_SC_RENAME,
208+#endif
209+#ifdef __NR_mkdir
210 [__NR_mkdir - SYSCALL_TABLE_ID0] = PPM_SC_MKDIR,
211+#endif
212+#ifdef __NR_rmdir
213 [__NR_rmdir - SYSCALL_TABLE_ID0] = PPM_SC_RMDIR,
214+#endif
215 [__NR_dup - SYSCALL_TABLE_ID0] = PPM_SC_DUP,
216+#ifdef __NR_pipe
217 [__NR_pipe - SYSCALL_TABLE_ID0] = PPM_SC_PIPE,
218+#endif
219 [__NR_times - SYSCALL_TABLE_ID0] = PPM_SC_TIMES,
220 [__NR_brk - SYSCALL_TABLE_ID0] = PPM_SC_BRK,
221 /* [__NR_setgid16 - SYSCALL_TABLE_ID0] = PPM_SC_NR_SETGID16, */
222@@ -345,10 +418,16 @@ const enum ppm_syscall_code g_syscall_co
223 [__NR_setpgid - SYSCALL_TABLE_ID0] = PPM_SC_SETPGID,
224 [__NR_umask - SYSCALL_TABLE_ID0] = PPM_SC_UMASK,
225 [__NR_chroot - SYSCALL_TABLE_ID0] = PPM_SC_CHROOT,
226+#ifdef __NR_ustat
227 [__NR_ustat - SYSCALL_TABLE_ID0] = PPM_SC_USTAT,
228+#endif
229+#ifdef __NR_dup2
230 [__NR_dup2 - SYSCALL_TABLE_ID0] = PPM_SC_DUP2,
231+#endif
232 [__NR_getppid - SYSCALL_TABLE_ID0] = PPM_SC_GETPPID,
233+#ifdef __NR_getpgrp
234 [__NR_getpgrp - SYSCALL_TABLE_ID0] = PPM_SC_GETPGRP,
235+#endif
236 [__NR_setsid - SYSCALL_TABLE_ID0] = PPM_SC_SETSID,
237 [__NR_sethostname - SYSCALL_TABLE_ID0] = PPM_SC_SETHOSTNAME,
238 [__NR_setrlimit - SYSCALL_TABLE_ID0] = PPM_SC_SETRLIMIT,
239@@ -359,10 +438,18 @@ const enum ppm_syscall_code g_syscall_co
240 /* [__NR_getgroups16 - SYSCALL_TABLE_ID0] = PPM_SC_NR_GETGROUPS16, */
241 /* [__NR_setgroups16 - SYSCALL_TABLE_ID0] = PPM_SC_NR_SETGROUPS16, */
242 /* [__NR_old_select - SYSCALL_TABLE_ID0] = PPM_SC_NR_OLD_SELECT, */
243+#ifdef __NR_symlink
244 [__NR_symlink - SYSCALL_TABLE_ID0] = PPM_SC_SYMLINK,
245+#endif
246+#ifdef __NR_lstat
247 [__NR_lstat - SYSCALL_TABLE_ID0] = PPM_SC_LSTAT,
248+#endif
249+#ifdef __NR_readlink
250 [__NR_readlink - SYSCALL_TABLE_ID0] = PPM_SC_READLINK,
251+#endif
252+#ifdef __NR_uselib
253 [__NR_uselib - SYSCALL_TABLE_ID0] = PPM_SC_USELIB,
254+#endif
255 [__NR_swapon - SYSCALL_TABLE_ID0] = PPM_SC_SWAPON,
256 [__NR_reboot - SYSCALL_TABLE_ID0] = PPM_SC_REBOOT,
257 /* [__NR_old_readdir - SYSCALL_TABLE_ID0] = PPM_SC_NR_OLD_READDIR, */
258@@ -399,12 +486,16 @@ const enum ppm_syscall_code g_syscall_co
259 [__NR_delete_module - SYSCALL_TABLE_ID0] = PPM_SC_DELETE_MODULE,
260 [__NR_getpgid - SYSCALL_TABLE_ID0] = PPM_SC_GETPGID,
261 [__NR_fchdir - SYSCALL_TABLE_ID0] = PPM_SC_FCHDIR,
262+#ifdef __NR_sysfs
263 [__NR_sysfs - SYSCALL_TABLE_ID0] = PPM_SC_SYSFS,
264+#endif
265 [__NR_personality - SYSCALL_TABLE_ID0] = PPM_SC_PERSONALITY,
266 /* [__NR_setfsuid16 - SYSCALL_TABLE_ID0] = PPM_SC_NR_SETFSUID16, */
267 /* [__NR_setfsgid16 - SYSCALL_TABLE_ID0] = PPM_SC_NR_SETFSGID16, */
268 /* [__NR_llseek - SYSCALL_TABLE_ID0] = PPM_SC_NR_LLSEEK, */
269+#ifdef __NR_getdents
270 [__NR_getdents - SYSCALL_TABLE_ID0] = PPM_SC_GETDENTS,
271+#endif
272 #ifdef __NR_select
273 [__NR_select - SYSCALL_TABLE_ID0] = PPM_SC_SELECT,
274 #endif
275@@ -431,7 +522,9 @@ const enum ppm_syscall_code g_syscall_co
276 [__NR_mremap - SYSCALL_TABLE_ID0] = PPM_SC_MREMAP,
277 /* [__NR_setresuid16 - SYSCALL_TABLE_ID0] = PPM_SC_NR_SETRESUID16, */
278 /* [__NR_getresuid16 - SYSCALL_TABLE_ID0] = PPM_SC_NR_GETRESUID16, */
279+#ifdef __NR_poll
280 [__NR_poll - SYSCALL_TABLE_ID0] = PPM_SC_POLL,
281+#endif
282 /* [__NR_setresgid16 - SYSCALL_TABLE_ID0] = PPM_SC_NR_SETRESGID16, */
283 /* [__NR_getresgid16 - SYSCALL_TABLE_ID0] = PPM_SC_NR_GETRESGID16, */
284 [__NR_prctl - SYSCALL_TABLE_ID0] = PPM_SC_PRCTL,
285@@ -453,13 +546,17 @@ const enum ppm_syscall_code g_syscall_co
286 [__NR_getrlimit - SYSCALL_TABLE_ID0] = PPM_SC_GETRLIMIT,
287 #endif
288 /* [__NR_mmap_pgoff - SYSCALL_TABLE_ID0] = PPM_SC_NR_MMAP_PGOFF, */
289+#ifdef __NR_lchown
290 [__NR_lchown - SYSCALL_TABLE_ID0] = PPM_SC_LCHOWN,
291+#endif
292 [__NR_setreuid - SYSCALL_TABLE_ID0] = PPM_SC_SETREUID,
293 [__NR_setregid - SYSCALL_TABLE_ID0] = PPM_SC_SETREGID,
294 [__NR_getgroups - SYSCALL_TABLE_ID0] = PPM_SC_GETGROUPS,
295 [__NR_setgroups - SYSCALL_TABLE_ID0] = PPM_SC_SETGROUPS,
296 [__NR_fchown - SYSCALL_TABLE_ID0] = PPM_SC_FCHOWN,
297+#ifdef __NR_chown
298 [__NR_chown - SYSCALL_TABLE_ID0] = PPM_SC_CHOWN,
299+#endif
300 [__NR_setfsuid - SYSCALL_TABLE_ID0] = PPM_SC_SETFSUID,
301 [__NR_setfsgid - SYSCALL_TABLE_ID0] = PPM_SC_SETFSGID,
302 [__NR_pivot_root - SYSCALL_TABLE_ID0] = PPM_SC_PIVOT_ROOT,
303@@ -494,9 +591,13 @@ const enum ppm_syscall_code g_syscall_co
304 [__NR_io_submit - SYSCALL_TABLE_ID0] = PPM_SC_IO_SUBMIT,
305 [__NR_io_cancel - SYSCALL_TABLE_ID0] = PPM_SC_IO_CANCEL,
306 [__NR_exit_group - SYSCALL_TABLE_ID0] = PPM_SC_EXIT_GROUP,
307+#ifdef __NR_epoll_create
308 [__NR_epoll_create - SYSCALL_TABLE_ID0] = PPM_SC_EPOLL_CREATE,
309+#endif
310 [__NR_epoll_ctl - SYSCALL_TABLE_ID0] = PPM_SC_EPOLL_CTL,
311+#ifdef __NR_epoll_wait
312 [__NR_epoll_wait - SYSCALL_TABLE_ID0] = PPM_SC_EPOLL_WAIT,
313+#endif
314 [__NR_remap_file_pages - SYSCALL_TABLE_ID0] = PPM_SC_REMAP_FILE_PAGES,
315 [__NR_set_tid_address - SYSCALL_TABLE_ID0] = PPM_SC_SET_TID_ADDRESS,
316 [__NR_timer_create - SYSCALL_TABLE_ID0] = PPM_SC_TIMER_CREATE,
317@@ -509,7 +610,9 @@ const enum ppm_syscall_code g_syscall_co
318 [__NR_clock_getres - SYSCALL_TABLE_ID0] = PPM_SC_CLOCK_GETRES,
319 [__NR_clock_nanosleep - SYSCALL_TABLE_ID0] = PPM_SC_CLOCK_NANOSLEEP,
320 [__NR_tgkill - SYSCALL_TABLE_ID0] = PPM_SC_TGKILL,
321+#ifdef __NR_utimes
322 [__NR_utimes - SYSCALL_TABLE_ID0] = PPM_SC_UTIMES,
323+#endif
324 [__NR_mq_open - SYSCALL_TABLE_ID0] = PPM_SC_MQ_OPEN,
325 [__NR_mq_unlink - SYSCALL_TABLE_ID0] = PPM_SC_MQ_UNLINK,
326 [__NR_mq_timedsend - SYSCALL_TABLE_ID0] = PPM_SC_MQ_TIMEDSEND,
327@@ -523,14 +626,18 @@ const enum ppm_syscall_code g_syscall_co
328 [__NR_keyctl - SYSCALL_TABLE_ID0] = PPM_SC_KEYCTL,
329 [__NR_ioprio_set - SYSCALL_TABLE_ID0] = PPM_SC_IOPRIO_SET,
330 [__NR_ioprio_get - SYSCALL_TABLE_ID0] = PPM_SC_IOPRIO_GET,
331+#ifdef __NR_inotify_init
332 [__NR_inotify_init - SYSCALL_TABLE_ID0] = PPM_SC_INOTIFY_INIT,
333+#endif
334 [__NR_inotify_add_watch - SYSCALL_TABLE_ID0] = PPM_SC_INOTIFY_ADD_WATCH,
335 [__NR_inotify_rm_watch - SYSCALL_TABLE_ID0] = PPM_SC_INOTIFY_RM_WATCH,
336 [__NR_openat - SYSCALL_TABLE_ID0] = PPM_SC_OPENAT,
337 [__NR_mkdirat - SYSCALL_TABLE_ID0] = PPM_SC_MKDIRAT,
338 [__NR_mknodat - SYSCALL_TABLE_ID0] = PPM_SC_MKNODAT,
339 [__NR_fchownat - SYSCALL_TABLE_ID0] = PPM_SC_FCHOWNAT,
340+#ifdef __NR_futimesat
341 [__NR_futimesat - SYSCALL_TABLE_ID0] = PPM_SC_FUTIMESAT,
342+#endif
343 [__NR_unlinkat - SYSCALL_TABLE_ID0] = PPM_SC_UNLINKAT,
344 [__NR_renameat - SYSCALL_TABLE_ID0] = PPM_SC_RENAMEAT,
345 [__NR_linkat - SYSCALL_TABLE_ID0] = PPM_SC_LINKAT,
346@@ -551,9 +658,13 @@ const enum ppm_syscall_code g_syscall_co
347 #endif
348 [__NR_epoll_pwait - SYSCALL_TABLE_ID0] = PPM_SC_EPOLL_PWAIT,
349 [__NR_utimensat - SYSCALL_TABLE_ID0] = PPM_SC_UTIMENSAT,
350+#ifdef __NR_signalfd
351 [__NR_signalfd - SYSCALL_TABLE_ID0] = PPM_SC_SIGNALFD,
352+#endif
353 [__NR_timerfd_create - SYSCALL_TABLE_ID0] = PPM_SC_TIMERFD_CREATE,
354+#ifdef __NR_eventfd
355 [__NR_eventfd - SYSCALL_TABLE_ID0] = PPM_SC_EVENTFD,
356+#endif
357 [__NR_timerfd_settime - SYSCALL_TABLE_ID0] = PPM_SC_TIMERFD_SETTIME,
358 [__NR_timerfd_gettime - SYSCALL_TABLE_ID0] = PPM_SC_TIMERFD_GETTIME,
359 [__NR_signalfd4 - SYSCALL_TABLE_ID0] = PPM_SC_SIGNALFD4,