Added names of syscalls to syscall_info debug print
This commit is contained in:
parent
b4e7e6864a
commit
7537227636
|
|
@ -6,6 +6,7 @@ This is an alternative implementation that relies on libc and unsafe.
|
|||
|
||||
use crate::syscall_info::SyscallInfoError::UnsupportedType;
|
||||
use std::mem::MaybeUninit;
|
||||
use crate::syscall_names::syscall_name;
|
||||
|
||||
#[derive(thiserror::Error, Debug)]
|
||||
pub enum SyscallInfoError {
|
||||
|
|
@ -30,6 +31,7 @@ pub enum SyscallInfo {
|
|||
rip: u64,
|
||||
#[debug("{stack_pointer:#x}")]
|
||||
stack_pointer: u64,
|
||||
#[debug("{number} ({})", syscall_name(*number))]
|
||||
number: u64,
|
||||
args: [u64; 6],
|
||||
},
|
||||
|
|
|
|||
|
|
@ -0,0 +1,375 @@
|
|||
#[allow(dead_code)]
|
||||
pub fn syscall_name(syscall_number: u64) -> &'static str {
|
||||
// From https://github.com/torvalds/linux/blob/v6.7/arch/x86/entry/syscalls/syscall_64.tbl
|
||||
match syscall_number {
|
||||
0 => "read",
|
||||
1 => "write",
|
||||
2 => "open",
|
||||
3 => "close",
|
||||
4 => "stat",
|
||||
5 => "fstat",
|
||||
6 => "lstat",
|
||||
7 => "poll",
|
||||
8 => "lseek",
|
||||
9 => "mmap",
|
||||
10 => "mprotect",
|
||||
11 => "munmap",
|
||||
12 => "brk",
|
||||
13 => "rt_sigaction",
|
||||
14 => "rt_sigprocmask",
|
||||
15 => "rt_sigreturn",
|
||||
16 => "ioctl",
|
||||
17 => "pread64",
|
||||
18 => "pwrite64",
|
||||
19 => "readv",
|
||||
20 => "writev",
|
||||
21 => "access",
|
||||
22 => "pipe",
|
||||
23 => "select",
|
||||
24 => "sched_yield",
|
||||
25 => "mremap",
|
||||
26 => "msync",
|
||||
27 => "mincore",
|
||||
28 => "madvise",
|
||||
29 => "shmget",
|
||||
30 => "shmat",
|
||||
31 => "shmctl",
|
||||
32 => "dup",
|
||||
33 => "dup2",
|
||||
34 => "pause",
|
||||
35 => "nanosleep",
|
||||
36 => "getitimer",
|
||||
37 => "alarm",
|
||||
38 => "setitimer",
|
||||
39 => "getpid",
|
||||
40 => "sendfile",
|
||||
41 => "socket",
|
||||
42 => "connect",
|
||||
43 => "accept",
|
||||
44 => "sendto",
|
||||
45 => "recvfrom",
|
||||
46 => "sendmsg",
|
||||
47 => "recvmsg",
|
||||
48 => "shutdown",
|
||||
49 => "bind",
|
||||
50 => "listen",
|
||||
51 => "getsockname",
|
||||
52 => "getpeername",
|
||||
53 => "socketpair",
|
||||
54 => "setsockopt",
|
||||
55 => "getsockopt",
|
||||
56 => "clone",
|
||||
57 => "fork",
|
||||
58 => "vfork",
|
||||
59 => "execve",
|
||||
60 => "exit",
|
||||
61 => "wait4",
|
||||
62 => "kill",
|
||||
63 => "uname",
|
||||
64 => "semget",
|
||||
65 => "semop",
|
||||
66 => "semctl",
|
||||
67 => "shmdt",
|
||||
68 => "msgget",
|
||||
69 => "msgsnd",
|
||||
70 => "msgrcv",
|
||||
71 => "msgctl",
|
||||
72 => "fcntl",
|
||||
73 => "flock",
|
||||
74 => "fsync",
|
||||
75 => "fdatasync",
|
||||
76 => "truncate",
|
||||
77 => "ftruncate",
|
||||
78 => "getdents",
|
||||
79 => "getcwd",
|
||||
80 => "chdir",
|
||||
81 => "fchdir",
|
||||
82 => "rename",
|
||||
83 => "mkdir",
|
||||
84 => "rmdir",
|
||||
85 => "creat",
|
||||
86 => "link",
|
||||
87 => "unlink",
|
||||
88 => "symlink",
|
||||
89 => "readlink",
|
||||
90 => "chmod",
|
||||
91 => "fchmod",
|
||||
92 => "chown",
|
||||
93 => "fchown",
|
||||
94 => "lchown",
|
||||
95 => "umask",
|
||||
96 => "gettimeofday",
|
||||
97 => "getrlimit",
|
||||
98 => "getrusage",
|
||||
99 => "sysinfo",
|
||||
100 => "times",
|
||||
101 => "ptrace",
|
||||
102 => "getuid",
|
||||
103 => "syslog",
|
||||
104 => "getgid",
|
||||
105 => "setuid",
|
||||
106 => "setgid",
|
||||
107 => "geteuid",
|
||||
108 => "getegid",
|
||||
109 => "setpgid",
|
||||
110 => "getppid",
|
||||
111 => "getpgrp",
|
||||
112 => "setsid",
|
||||
113 => "setreuid",
|
||||
114 => "setregid",
|
||||
115 => "getgroups",
|
||||
116 => "setgroups",
|
||||
117 => "setresuid",
|
||||
118 => "getresuid",
|
||||
119 => "setresgid",
|
||||
120 => "getresgid",
|
||||
121 => "getpgid",
|
||||
122 => "setfsuid",
|
||||
123 => "setfsgid",
|
||||
124 => "getsid",
|
||||
125 => "capget",
|
||||
126 => "capset",
|
||||
127 => "rt_sigpending",
|
||||
128 => "rt_sigtimedwait",
|
||||
129 => "rt_sigqueueinfo",
|
||||
130 => "rt_sigsuspend",
|
||||
131 => "sigaltstack",
|
||||
132 => "utime",
|
||||
133 => "mknod",
|
||||
134 => "uselib",
|
||||
135 => "personality",
|
||||
136 => "ustat",
|
||||
137 => "statfs",
|
||||
138 => "fstatfs",
|
||||
139 => "sysfs",
|
||||
140 => "getpriority",
|
||||
141 => "setpriority",
|
||||
142 => "sched_setparam",
|
||||
143 => "sched_getparam",
|
||||
144 => "sched_setscheduler",
|
||||
145 => "sched_getscheduler",
|
||||
146 => "sched_get_priority_max",
|
||||
147 => "sched_get_priority_min",
|
||||
148 => "sched_rr_get_interval",
|
||||
149 => "mlock",
|
||||
150 => "munlock",
|
||||
151 => "mlockall",
|
||||
152 => "munlockall",
|
||||
153 => "vhangup",
|
||||
154 => "modify_ldt",
|
||||
155 => "pivot_root",
|
||||
156 => "_sysctl",
|
||||
157 => "prctl",
|
||||
158 => "arch_prctl",
|
||||
159 => "adjtimex",
|
||||
160 => "setrlimit",
|
||||
161 => "chroot",
|
||||
162 => "sync",
|
||||
163 => "acct",
|
||||
164 => "settimeofday",
|
||||
165 => "mount",
|
||||
166 => "umount2",
|
||||
167 => "swapon",
|
||||
168 => "swapoff",
|
||||
169 => "reboot",
|
||||
170 => "sethostname",
|
||||
171 => "setdomainname",
|
||||
172 => "iopl",
|
||||
173 => "ioperm",
|
||||
174 => "create_module",
|
||||
175 => "init_module",
|
||||
176 => "delete_module",
|
||||
177 => "get_kernel_syms",
|
||||
178 => "query_module",
|
||||
179 => "quotactl",
|
||||
180 => "nfsservctl",
|
||||
181 => "getpmsg",
|
||||
182 => "putpmsg",
|
||||
183 => "afs_syscall",
|
||||
184 => "tuxcall",
|
||||
185 => "security",
|
||||
186 => "gettid",
|
||||
187 => "readahead",
|
||||
188 => "setxattr",
|
||||
189 => "lsetxattr",
|
||||
190 => "fsetxattr",
|
||||
191 => "getxattr",
|
||||
192 => "lgetxattr",
|
||||
193 => "fgetxattr",
|
||||
194 => "listxattr",
|
||||
195 => "llistxattr",
|
||||
196 => "flistxattr",
|
||||
197 => "removexattr",
|
||||
198 => "lremovexattr",
|
||||
199 => "fremovexattr",
|
||||
200 => "tkill",
|
||||
201 => "time",
|
||||
202 => "futex",
|
||||
203 => "sched_setaffinity",
|
||||
204 => "sched_getaffinity",
|
||||
205 => "set_thread_area",
|
||||
206 => "io_setup",
|
||||
207 => "io_destroy",
|
||||
208 => "io_getevents",
|
||||
209 => "io_submit",
|
||||
210 => "io_cancel",
|
||||
211 => "get_thread_area",
|
||||
212 => "lookup_dcookie",
|
||||
213 => "epoll_create",
|
||||
214 => "epoll_ctl_old",
|
||||
215 => "epoll_wait_old",
|
||||
216 => "remap_file_pages",
|
||||
217 => "getdents64",
|
||||
218 => "set_tid_address",
|
||||
219 => "restart_syscall",
|
||||
220 => "semtimedop",
|
||||
221 => "fadvise64",
|
||||
222 => "timer_create",
|
||||
223 => "timer_settime",
|
||||
224 => "timer_gettime",
|
||||
225 => "timer_getoverrun",
|
||||
226 => "timer_delete",
|
||||
227 => "clock_settime",
|
||||
228 => "clock_gettime",
|
||||
229 => "clock_getres",
|
||||
230 => "clock_nanosleep",
|
||||
231 => "exit_group",
|
||||
232 => "epoll_wait",
|
||||
233 => "epoll_ctl",
|
||||
234 => "tgkill",
|
||||
235 => "utimes",
|
||||
236 => "vserver",
|
||||
237 => "mbind",
|
||||
238 => "set_mempolicy",
|
||||
239 => "get_mempolicy",
|
||||
240 => "mq_open",
|
||||
241 => "mq_unlink",
|
||||
242 => "mq_timedsend",
|
||||
243 => "mq_timedreceive",
|
||||
244 => "mq_notify",
|
||||
245 => "mq_getsetattr",
|
||||
246 => "kexec_load",
|
||||
247 => "waitid",
|
||||
248 => "add_key",
|
||||
249 => "request_key",
|
||||
250 => "keyctl",
|
||||
251 => "ioprio_set",
|
||||
252 => "ioprio_get",
|
||||
253 => "inotify_init",
|
||||
254 => "inotify_add_watch",
|
||||
255 => "inotify_rm_watch",
|
||||
256 => "migrate_pages",
|
||||
257 => "openat",
|
||||
258 => "mkdirat",
|
||||
259 => "mknodat",
|
||||
260 => "fchownat",
|
||||
261 => "futimesat",
|
||||
262 => "newfstatat",
|
||||
263 => "unlinkat",
|
||||
264 => "renameat",
|
||||
265 => "linkat",
|
||||
266 => "symlinkat",
|
||||
267 => "readlinkat",
|
||||
268 => "fchmodat",
|
||||
269 => "faccessat",
|
||||
270 => "pselect6",
|
||||
271 => "ppoll",
|
||||
272 => "unshare",
|
||||
273 => "set_robust_list",
|
||||
274 => "get_robust_list",
|
||||
275 => "splice",
|
||||
276 => "tee",
|
||||
277 => "sync_file_range",
|
||||
278 => "vmsplice",
|
||||
279 => "move_pages",
|
||||
280 => "utimensat",
|
||||
281 => "epoll_pwait",
|
||||
282 => "signalfd",
|
||||
283 => "timerfd_create",
|
||||
284 => "eventfd",
|
||||
285 => "fallocate",
|
||||
286 => "timerfd_settime",
|
||||
287 => "timerfd_gettime",
|
||||
288 => "accept4",
|
||||
289 => "signalfd4",
|
||||
290 => "eventfd2",
|
||||
291 => "epoll_create1",
|
||||
292 => "dup3",
|
||||
293 => "pipe2",
|
||||
294 => "inotify_init1",
|
||||
295 => "preadv",
|
||||
296 => "pwritev",
|
||||
297 => "rt_tgsigqueueinfo",
|
||||
298 => "perf_event_open",
|
||||
299 => "recvmmsg",
|
||||
300 => "fanotify_init",
|
||||
301 => "fanotify_mark",
|
||||
302 => "prlimit64",
|
||||
303 => "name_to_handle_at",
|
||||
304 => "open_by_handle_at",
|
||||
305 => "clock_adjtime",
|
||||
306 => "syncfs",
|
||||
307 => "sendmmsg",
|
||||
308 => "setns",
|
||||
309 => "getcpu",
|
||||
310 => "process_vm_readv",
|
||||
311 => "process_vm_writev",
|
||||
312 => "kcmp",
|
||||
313 => "finit_module",
|
||||
314 => "sched_setattr",
|
||||
315 => "sched_getattr",
|
||||
316 => "renameat2",
|
||||
317 => "seccomp",
|
||||
318 => "getrandom",
|
||||
319 => "memfd_create",
|
||||
320 => "kexec_file_load",
|
||||
321 => "bpf",
|
||||
322 => "execveat",
|
||||
323 => "userfaultfd",
|
||||
324 => "membarrier",
|
||||
325 => "mlock2",
|
||||
326 => "copy_file_range",
|
||||
327 => "preadv2",
|
||||
328 => "pwritev2",
|
||||
329 => "pkey_mprotect",
|
||||
330 => "pkey_alloc",
|
||||
331 => "pkey_free",
|
||||
332 => "statx",
|
||||
333 => "io_pgetevents",
|
||||
334 => "rseq",
|
||||
424 => "pidfd_send_signal",
|
||||
425 => "io_uring_setup",
|
||||
426 => "io_uring_enter",
|
||||
427 => "io_uring_register",
|
||||
428 => "open_tree",
|
||||
429 => "move_mount",
|
||||
430 => "fsopen",
|
||||
431 => "fsconfig",
|
||||
432 => "fsmount",
|
||||
433 => "fspick",
|
||||
434 => "pidfd_open",
|
||||
435 => "clone3",
|
||||
436 => "close_range",
|
||||
437 => "openat2",
|
||||
438 => "pidfd_getfd",
|
||||
439 => "faccessat2",
|
||||
440 => "process_madvise",
|
||||
441 => "epoll_pwait2",
|
||||
442 => "mount_setattr",
|
||||
443 => "quotactl_fd",
|
||||
444 => "landlock_create_ruleset",
|
||||
445 => "landlock_add_rule",
|
||||
446 => "landlock_restrict_self",
|
||||
447 => "memfd_secret",
|
||||
448 => "process_mrelease",
|
||||
449 => "futex_waitv",
|
||||
450 => "set_mempolicy_home_node",
|
||||
451 => "cachestat",
|
||||
452 => "fchmodat2",
|
||||
453 => "map_shadow_stack",
|
||||
454 => "futex_wake",
|
||||
455 => "futex_wait",
|
||||
456 => "futex_requeue",
|
||||
_ => "UNKNOWN",
|
||||
}
|
||||
}
|
||||
Loading…
Reference in New Issue