├── .gitignore ├── README.md ├── agents └── arm64.default.js ├── data └── arm64.json ├── main.py ├── parseSyscallNumbers.py ├── reporter.py ├── syscalls.txt └── table.html /.gitignore: -------------------------------------------------------------------------------- 1 | # Project exclude paths 2 | /venv/ -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | Tiny frida script to parse system calls by using Stalker and checking for `svc`. Based off https://github.com/sh1ma/iostrace/blob/master/src/tracer.js 2 | 3 | Uses some code from frida as well https://github.com/frida/frida-tools/tree/f772d2ee692165a5f6a1d2e4fdf3c9798c2a654d 4 | 5 | 6 | `main.py` will trace the specified package name and generate JSON output in `/tmp/x.json`, `report.py` will generate `/tmp/x.html` based off the JSON file. 7 | 8 | This is buggy and I'm working on something better. -------------------------------------------------------------------------------- /agents/arm64.default.js: -------------------------------------------------------------------------------- 1 | let threads = Process.enumerateThreads() // A bug that returns empty for the threads? Haven't seen it 2 | threads.forEach(thread => { 3 | let entryObj = {} 4 | let exitObj = {} 5 | Stalker.follow(thread.id, { 6 | transform: function (iterator) { 7 | const instruction = iterator.next(); 8 | let parseReturn = false 9 | do { 10 | if (parseReturn === true) { // This might not be the correct way to detect once a system call has finished... 11 | parseReturn = false 12 | iterator.putCallout((context) => { 13 | exitObj = { 14 | "context": context, 15 | "syscall": { 16 | "returnValue": context["x0"] 17 | } 18 | } 19 | exitObj.tid = thread.id 20 | send({onEnter: entryObj, onExit: exitObj}) 21 | entryObj = {} 22 | exitObj = {} 23 | }) 24 | } 25 | if (instruction.mnemonic === "svc") { // OnEntry 26 | iterator.putCallout((context) => { 27 | const syscall = sysCallMap[context['x8']] 28 | 29 | entryObj.syscall = { 30 | name: syscall.name, 31 | number: context['x8'], 32 | arguments: parseParameters(syscall.arguments, context), // You can actually read the value of registers 33 | // so if the syscall is open and you know the parameter is a cstring, then you can do context['x1'].readCString() 34 | } 35 | entryObj.context = context 36 | entryObj.tid = thread.id 37 | 38 | }) 39 | parseReturn = true 40 | } 41 | iterator.keep() 42 | } while (iterator.next() !== null) 43 | } 44 | }); 45 | }) 46 | 47 | function parseParameters(parameters, context) { 48 | let params = [] 49 | for (const i in parameters) { 50 | parameters[i]['value'] = context[`x${i}`] 51 | } 52 | return parameters 53 | } 54 | 55 | 56 | let sysCallMap = { 57 | "0x0": { 58 | "name": "io_setup", 59 | "number": "0x0", 60 | "arguments": [{"type": "unsigned int", "arg": "nr_events"}, {"type": "aio_context_t *", "arg": "ctx_idp"}] 61 | }, 62 | "0x1": {"name": "io_destroy", "number": "0x1", "arguments": [{"type": "aio_context_t", "arg": "ctx_id"}]}, 63 | "0x2": { 64 | "name": "io_submit", 65 | "number": "0x2", 66 | "arguments": [{"type": "aio_context_t", "arg": "ctx_id"}, { 67 | "type": "long", 68 | "arg": "nr" 69 | }, {"type": "struct iocb **", "arg": "iocbpp"}] 70 | }, 71 | "0x3": { 72 | "name": "io_cancel", 73 | "number": "0x3", 74 | "arguments": [{"type": "aio_context_t", "arg": "ctx_id"}, { 75 | "type": "struct iocb *", 76 | "arg": "iocb" 77 | }, {"type": "struct io_event *", "arg": "result"}] 78 | }, 79 | "0x4": { 80 | "name": "io_getevents", 81 | "number": "0x4", 82 | "arguments": [{"type": "aio_context_t", "arg": "ctx_id"}, {"type": "long", "arg": "min_nr"}, { 83 | "type": "long", 84 | "arg": "nr" 85 | }, {"type": "struct io_event *", "arg": "events"}, {"type": "struct timespec *", "arg": "timeout"}] 86 | }, 87 | "0x5": { 88 | "name": "setxattr", 89 | "number": "0x5", 90 | "arguments": [{"type": "const char *", "arg": "path"}, { 91 | "type": "const char *", 92 | "arg": "name" 93 | }, {"type": "const void *", "arg": "value"}, {"type": "size_t", "arg": "size"}, {"type": "int", "arg": "flags"}] 94 | }, 95 | "0x6": { 96 | "name": "lsetxattr", 97 | "number": "0x6", 98 | "arguments": [{"type": "const char *", "arg": "path"}, { 99 | "type": "const char *", 100 | "arg": "name" 101 | }, {"type": "const void *", "arg": "value"}, {"type": "size_t", "arg": "size"}, {"type": "int", "arg": "flags"}] 102 | }, 103 | "0x7": { 104 | "name": "fsetxattr", 105 | "number": "0x7", 106 | "arguments": [{"type": "int", "arg": "fd"}, {"type": "const char *", "arg": "name"}, { 107 | "type": "const void *", 108 | "arg": "value" 109 | }, {"type": "size_t", "arg": "size"}, {"type": "int", "arg": "flags"}] 110 | }, 111 | "0x8": { 112 | "name": "getxattr", 113 | "number": "0x8", 114 | "arguments": [{"type": "const char *", "arg": "path"}, { 115 | "type": "const char *", 116 | "arg": "name" 117 | }, {"type": "void *", "arg": "value"}, {"type": "size_t", "arg": "size"}] 118 | }, 119 | "0x9": { 120 | "name": "lgetxattr", 121 | "number": "0x9", 122 | "arguments": [{"type": "const char *", "arg": "path"}, { 123 | "type": "const char *", 124 | "arg": "name" 125 | }, {"type": "void *", "arg": "value"}, {"type": "size_t", "arg": "size"}] 126 | }, 127 | "0xa": { 128 | "name": "fgetxattr", 129 | "number": "0xa", 130 | "arguments": [{"type": "int", "arg": "fd"}, {"type": "const char *", "arg": "name"}, { 131 | "type": "void *", 132 | "arg": "value" 133 | }, {"type": "size_t", "arg": "size"}] 134 | }, 135 | "0xb": { 136 | "name": "listxattr", 137 | "number": "0xb", 138 | "arguments": [{"type": "const char *", "arg": "path"}, {"type": "char *", "arg": "list"}, { 139 | "type": "size_t", 140 | "arg": "size" 141 | }] 142 | }, 143 | "0xc": { 144 | "name": "llistxattr", 145 | "number": "0xc", 146 | "arguments": [{"type": "const char *", "arg": "path"}, {"type": "char *", "arg": "list"}, { 147 | "type": "size_t", 148 | "arg": "size" 149 | }] 150 | }, 151 | "0xd": { 152 | "name": "flistxattr", 153 | "number": "0xd", 154 | "arguments": [{"type": "int", "arg": "fd"}, {"type": "char *", "arg": "list"}, { 155 | "type": "size_t", 156 | "arg": "size" 157 | }] 158 | }, 159 | "0xe": { 160 | "name": "removexattr", 161 | "number": "0xe", 162 | "arguments": [{"type": "const char *", "arg": "path"}, {"type": "const char *", "arg": "name"}] 163 | }, 164 | "0xf": { 165 | "name": "lremovexattr", 166 | "number": "0xf", 167 | "arguments": [{"type": "const char *", "arg": "path"}, {"type": "const char *", "arg": "name"}] 168 | }, 169 | "0x10": { 170 | "name": "fremovexattr", 171 | "number": "0x10", 172 | "arguments": [{"type": "int", "arg": "fd"}, {"type": "const char *", "arg": "name"}] 173 | }, 174 | "0x11": { 175 | "name": "getcwd", 176 | "number": "0x11", 177 | "arguments": [{"type": "char *", "arg": "buf"}, {"type": "size_t", "arg": "size"}] 178 | }, 179 | "0x12": { 180 | "name": "lookup_dcookie", 181 | "number": "0x12", 182 | "arguments": [{"type": "uint64_t", "arg": "cookie"}, {"type": "char *", "arg": "buffer"}, { 183 | "type": "size_t", 184 | "arg": "len" 185 | }] 186 | }, 187 | "0x13": {"name": "eventfd2", "number": "0x13", "arguments": null}, 188 | "0x14": {"name": "epoll_create1", "number": "0x14", "arguments": [{"type": "int", "arg": "flags"}]}, 189 | "0x15": { 190 | "name": "epoll_ctl", 191 | "number": "0x15", 192 | "arguments": [{"type": "int", "arg": "epfd"}, {"type": "int", "arg": "op"}, { 193 | "type": "int", 194 | "arg": "fd" 195 | }, {"type": "struct epoll_event *", "arg": "event"}] 196 | }, 197 | "0x16": { 198 | "name": "epoll_pwait", 199 | "number": "0x16", 200 | "arguments": [{"type": "int", "arg": "epfd"}, {"type": "struct epoll_event *", "arg": "events"}, { 201 | "type": "int", 202 | "arg": "maxevents" 203 | }, {"type": "int", "arg": "timeout"}, {"type": "const sigset_t *", "arg": "sigmask"}] 204 | }, 205 | "0x17": {"name": "dup", "number": "0x17", "arguments": [{"type": "int", "arg": "oldfd"}]}, 206 | "0x18": { 207 | "name": "dup3", 208 | "number": "0x18", 209 | "arguments": [{"type": "int", "arg": "oldfd"}, {"type": "int", "arg": "newfd"}, {"type": "int", "arg": "flags"}] 210 | }, 211 | "0x19": { 212 | "name": "fcntl", 213 | "number": "0x19", 214 | "arguments": [{"type": "int", "arg": "fd"}, {"type": "int", "arg": "cmd"}] 215 | }, 216 | "0x1a": {"name": "inotify_init1", "number": "0x1a", "arguments": [{"type": "int", "arg": "flags"}]}, 217 | "0x1b": { 218 | "name": "inotify_add_watch", 219 | "number": "0x1b", 220 | "arguments": [{"type": "int", "arg": "fd"}, {"type": "const char *", "arg": "pathname"}, { 221 | "type": "uint32_t", 222 | "arg": "mask" 223 | }] 224 | }, 225 | "0x1c": { 226 | "name": "inotify_rm_watch", 227 | "number": "0x1c", 228 | "arguments": [{"type": "int", "arg": "fd"}, {"type": "int", "arg": "wd"}] 229 | }, 230 | "0x1d": { 231 | "name": "ioctl", 232 | "number": "0x1d", 233 | "arguments": [{"type": "int", "arg": "fd"}, {"type": "unsigned long", "arg": "request"}] 234 | }, 235 | "0x1e": { 236 | "name": "ioprio_set", 237 | "number": "0x1e", 238 | "arguments": [{"type": "int", "arg": "which"}, {"type": "int", "arg": "who"}, {"type": "int", "arg": "ioprio"}] 239 | }, 240 | "0x1f": { 241 | "name": "ioprio_get", 242 | "number": "0x1f", 243 | "arguments": [{"type": "int", "arg": "which"}, {"type": "int", "arg": "who"}] 244 | }, 245 | "0x20": { 246 | "name": "flock", 247 | "number": "0x20", 248 | "arguments": [{"type": "int", "arg": "fd"}, {"type": "int", "arg": "operation"}] 249 | }, 250 | "0x21": { 251 | "name": "mknodat", 252 | "number": "0x21", 253 | "arguments": [{"type": "int", "arg": "dirfd"}, {"type": "const char *", "arg": "pathname"}, { 254 | "type": "mode_t", 255 | "arg": "mode" 256 | }, {"type": "dev_t", "arg": "dev"}] 257 | }, 258 | "0x22": { 259 | "name": "mkdirat", 260 | "number": "0x22", 261 | "arguments": [{"type": "int", "arg": "dirfd"}, {"type": "const char *", "arg": "pathname"}, { 262 | "type": "mode_t", 263 | "arg": "mode" 264 | }] 265 | }, 266 | "0x23": { 267 | "name": "unlinkat", 268 | "number": "0x23", 269 | "arguments": [{"type": "int", "arg": "dirfd"}, {"type": "const char *", "arg": "pathname"}, { 270 | "type": "int", 271 | "arg": "flags" 272 | }] 273 | }, 274 | "0x24": { 275 | "name": "symlinkat", 276 | "number": "0x24", 277 | "arguments": [{"type": "const char *", "arg": "target"}, { 278 | "type": "int", 279 | "arg": "newdirfd" 280 | }, {"type": "const char *", "arg": "linkpath"}] 281 | }, 282 | "0x25": { 283 | "name": "linkat", 284 | "number": "0x25", 285 | "arguments": [{"type": "int", "arg": "olddirfd"}, {"type": "const char *", "arg": "oldpath"}, { 286 | "type": "int", 287 | "arg": "newdirfd" 288 | }, {"type": "const char *", "arg": "newpath"}, {"type": "int", "arg": "flags"}] 289 | }, 290 | "0x26": { 291 | "name": "renameat", 292 | "number": "0x26", 293 | "arguments": [{"type": "int", "arg": "olddirfd"}, {"type": "const char *", "arg": "oldpath"}, { 294 | "type": "int", 295 | "arg": "newdirfd" 296 | }, {"type": "const char *", "arg": "newpath"}] 297 | }, 298 | "0x27": { 299 | "name": "umount2", 300 | "number": "0x27", 301 | "arguments": [{"type": "const char *", "arg": "target"}, {"type": "int", "arg": "flags"}] 302 | }, 303 | "0x28": { 304 | "name": "mount", 305 | "number": "0x28", 306 | "arguments": [{"type": "const char *", "arg": "source"}, { 307 | "type": "const char *", 308 | "arg": "target" 309 | }, {"type": "const char *", "arg": "filesystemtype"}, { 310 | "type": "unsigned long", 311 | "arg": "mountflags" 312 | }, {"type": "const void *", "arg": "data"}] 313 | }, 314 | "0x29": { 315 | "name": "pivot_root", 316 | "number": "0x29", 317 | "arguments": [{"type": "const char *", "arg": "new_root"}, {"type": "const char *", "arg": "put_old"}] 318 | }, 319 | "0x2a": { 320 | "name": "nfsservctl", 321 | "number": "0x2a", 322 | "arguments": [{"type": "int", "arg": "cmd"}, { 323 | "type": "struct nfsctl_arg *", 324 | "arg": "argp" 325 | }, {"type": "union nfsctl_res *", "arg": "resp"}] 326 | }, 327 | "0x2b": { 328 | "name": "statfs", 329 | "number": "0x2b", 330 | "arguments": [{"type": "const char *", "arg": "path"}, {"type": "struct statfs *", "arg": "buf"}] 331 | }, 332 | "0x2c": { 333 | "name": "fstatfs", 334 | "number": "0x2c", 335 | "arguments": [{"type": "int", "arg": "fd"}, {"type": "struct statfs *", "arg": "buf"}] 336 | }, 337 | "0x2d": { 338 | "name": "truncate", 339 | "number": "0x2d", 340 | "arguments": [{"type": "const char *", "arg": "path"}, {"type": "off_t", "arg": "length"}] 341 | }, 342 | "0x2e": { 343 | "name": "ftruncate", 344 | "number": "0x2e", 345 | "arguments": [{"type": "int", "arg": "fd"}, {"type": "off_t", "arg": "length"}] 346 | }, 347 | "0x2f": { 348 | "name": "fallocate", 349 | "number": "0x2f", 350 | "arguments": [{"type": "int", "arg": "fd"}, {"type": "int", "arg": "mode"}, { 351 | "type": "off_t", 352 | "arg": "offset" 353 | }, {"type": "off_t", "arg": "len"}] 354 | }, 355 | "0x30": { 356 | "name": "faccessat", 357 | "number": "0x30", 358 | "arguments": [{"type": "int", "arg": "dirfd"}, {"type": "const char *", "arg": "pathname"}, { 359 | "type": "int", 360 | "arg": "mode" 361 | }, {"type": "int", "arg": "flags"}] 362 | }, 363 | "0x31": {"name": "chdir", "number": "0x31", "arguments": [{"type": "const char *", "arg": "path"}]}, 364 | "0x32": {"name": "fchdir", "number": "0x32", "arguments": [{"type": "int", "arg": "fd"}]}, 365 | "0x33": {"name": "chroot", "number": "0x33", "arguments": [{"type": "const char *", "arg": "path"}]}, 366 | "0x34": { 367 | "name": "fchmod", 368 | "number": "0x34", 369 | "arguments": [{"type": "int", "arg": "fd"}, {"type": "mode_t", "arg": "mode"}] 370 | }, 371 | "0x35": { 372 | "name": "fchmodat", 373 | "number": "0x35", 374 | "arguments": [{"type": "int", "arg": "dirfd"}, {"type": "const char *", "arg": "pathname"}, { 375 | "type": "mode_t", 376 | "arg": "mode" 377 | }, {"type": "int", "arg": "flags"}] 378 | }, 379 | "0x36": { 380 | "name": "fchownat", 381 | "number": "0x36", 382 | "arguments": [{"type": "int", "arg": "dirfd"}, {"type": "const char *", "arg": "pathname"}, { 383 | "type": "uid_t", 384 | "arg": "owner" 385 | }, {"type": "gid_t", "arg": "group"}, {"type": "int", "arg": "flags"}] 386 | }, 387 | "0x37": { 388 | "name": "fchown", 389 | "number": "0x37", 390 | "arguments": [{"type": "int", "arg": "fd"}, {"type": "uid_t", "arg": "owner"}, { 391 | "type": "gid_t", 392 | "arg": "group" 393 | }] 394 | }, 395 | "0x38": { 396 | "name": "openat", 397 | "number": "0x38", 398 | "arguments": [{"type": "int", "arg": "dirfd"}, {"type": "const char *", "arg": "pathname"}, { 399 | "type": "int", 400 | "arg": "flags" 401 | }] 402 | }, 403 | "0x39": {"name": "close", "number": "0x39", "arguments": [{"type": "int", "arg": "fd"}]}, 404 | "0x3a": {"name": "vhangup", "number": "0x3a", "arguments": []}, 405 | "0x3b": {"name": "pipe2", "number": "0x3b", "arguments": [{"type": "int pipefd[2], int", "arg": "flags"}]}, 406 | "0x3c": { 407 | "name": "quotactl", 408 | "number": "0x3c", 409 | "arguments": [{"type": "int", "arg": "cmd"}, {"type": "const char *", "arg": "special"}, { 410 | "type": "int", 411 | "arg": "id" 412 | }, {"type": "caddr_t", "arg": "addr"}] 413 | }, 414 | "0x3d": { 415 | "name": "getdents64", 416 | "number": "0x3d", 417 | "arguments": [{"type": "int", "arg": "fd"}, {"type": "void *", "arg": "dirp"}, { 418 | "type": "size_t", 419 | "arg": "count" 420 | }] 421 | }, 422 | "0x3e": { 423 | "name": "lseek", 424 | "number": "0x3e", 425 | "arguments": [{"type": "int", "arg": "fd"}, {"type": "off_t", "arg": "offset"}, { 426 | "type": "int", 427 | "arg": "whence" 428 | }] 429 | }, 430 | "0x3f": { 431 | "name": "read", 432 | "number": "0x3f", 433 | "arguments": [{"type": "int", "arg": "fd"}, {"type": "void *", "arg": "buf"}, { 434 | "type": "size_t", 435 | "arg": "count" 436 | }] 437 | }, 438 | "0x40": { 439 | "name": "write", 440 | "number": "0x40", 441 | "arguments": [{"type": "int", "arg": "fd"}, {"type": "const void *", "arg": "buf"}, { 442 | "type": "size_t", 443 | "arg": "count" 444 | }] 445 | }, 446 | "0x41": { 447 | "name": "readv", 448 | "number": "0x41", 449 | "arguments": [{"type": "int", "arg": "fd"}, {"type": "const struct iovec *", "arg": "iov"}, { 450 | "type": "int", 451 | "arg": "iovcnt" 452 | }] 453 | }, 454 | "0x42": { 455 | "name": "writev", 456 | "number": "0x42", 457 | "arguments": [{"type": "int", "arg": "fd"}, {"type": "const struct iovec *", "arg": "iov"}, { 458 | "type": "int", 459 | "arg": "iovcnt" 460 | }] 461 | }, 462 | "0x43": {"name": "pread64", "number": "0x43", "arguments": null}, 463 | "0x44": {"name": "pwrite64", "number": "0x44", "arguments": null}, 464 | "0x45": { 465 | "name": "preadv", 466 | "number": "0x45", 467 | "arguments": [{"type": "int", "arg": "fd"}, {"type": "const struct iovec *", "arg": "iov"}, { 468 | "type": "int", 469 | "arg": "iovcnt" 470 | }, {"type": "off_t", "arg": "offset"}] 471 | }, 472 | "0x46": { 473 | "name": "pwritev", 474 | "number": "0x46", 475 | "arguments": [{"type": "int", "arg": "fd"}, {"type": "const struct iovec *", "arg": "iov"}, { 476 | "type": "int", 477 | "arg": "iovcnt" 478 | }, {"type": "off_t", "arg": "offset"}] 479 | }, 480 | "0x47": { 481 | "name": "sendfile", 482 | "number": "0x47", 483 | "arguments": [{"type": "int", "arg": "out_fd"}, {"type": "int", "arg": "in_fd"}, { 484 | "type": "off_t *", 485 | "arg": "offset" 486 | }, {"type": "size_t", "arg": "count"}] 487 | }, 488 | "0x48": {"name": "pselect6", "number": "0x48", "arguments": null}, 489 | "0x49": { 490 | "name": "ppoll", 491 | "number": "0x49", 492 | "arguments": [{"type": "struct pollfd *", "arg": "fds"}, { 493 | "type": "nfds_t", 494 | "arg": "nfds" 495 | }, {"type": "const struct timespec *", "arg": "tmo_p"}, {"type": "const sigset_t *", "arg": "sigmask"}] 496 | }, 497 | "0x4a": {"name": "signalfd4", "number": "0x4a", "arguments": null}, 498 | "0x4b": { 499 | "name": "vmsplice", 500 | "number": "0x4b", 501 | "arguments": [{"type": "int", "arg": "fd"}, {"type": "const struct iovec *", "arg": "iov"}, { 502 | "type": "size_t", 503 | "arg": "nr_segs" 504 | }, {"type": "unsigned int", "arg": "flags"}] 505 | }, 506 | "0x4c": { 507 | "name": "splice", 508 | "number": "0x4c", 509 | "arguments": [{"type": "int", "arg": "fd_in"}, {"type": "off64_t *", "arg": "off_in"}, { 510 | "type": "int", 511 | "arg": "fd_out" 512 | }, {"type": "off64_t *", "arg": "off_out"}, {"type": "size_t", "arg": "len"}, { 513 | "type": "unsigned int", 514 | "arg": "flags" 515 | }] 516 | }, 517 | "0x4d": { 518 | "name": "tee", 519 | "number": "0x4d", 520 | "arguments": [{"type": "int", "arg": "fd_in"}, {"type": "int", "arg": "fd_out"}, { 521 | "type": "size_t", 522 | "arg": "len" 523 | }, {"type": "unsigned int", "arg": "flags"}] 524 | }, 525 | "0x4e": { 526 | "name": "readlinkat", 527 | "number": "0x4e", 528 | "arguments": [{"type": "int", "arg": "dirfd"}, { 529 | "type": "const char *restrict", 530 | "arg": "pathname" 531 | }, {"type": "char *restrict", "arg": "buf"}, {"type": "size_t", "arg": "bufsiz"}] 532 | }, 533 | "0x4f": { 534 | "name": "fstatat", 535 | "number": "0x4f", 536 | "arguments": [{"type": "int", "arg": "dirfd"}, { 537 | "type": "const char *restrict", 538 | "arg": "pathname" 539 | }, {"type": "struct stat *restrict", "arg": "statbuf"}, {"type": "int", "arg": "flags"}] 540 | }, 541 | "0x50": { 542 | "name": "fstat", 543 | "number": "0x50", 544 | "arguments": [{"type": "int", "arg": "fd"}, {"type": "struct stat *", "arg": "statbuf"}] 545 | }, 546 | "0x51": {"name": "sync", "number": "0x51", "arguments": []}, 547 | "0x52": {"name": "fsync", "number": "0x52", "arguments": [{"type": "int", "arg": "fd"}]}, 548 | "0x53": {"name": "fdatasync", "number": "0x53", "arguments": [{"type": "int", "arg": "fd"}]}, 549 | "0x54": { 550 | "name": "sync_file_range", 551 | "number": "0x54", 552 | "arguments": [{"type": "int", "arg": "fd"}, {"type": "off64_t", "arg": "offset"}, { 553 | "type": "off64_t", 554 | "arg": "nbytes" 555 | }, {"type": "unsigned int", "arg": "flags"}] 556 | }, 557 | "0x55": { 558 | "name": "timerfd_create", 559 | "number": "0x55", 560 | "arguments": [{"type": "int", "arg": "clockid"}, {"type": "int", "arg": "flags"}] 561 | }, 562 | "0x56": { 563 | "name": "timerfd_settime", 564 | "number": "0x56", 565 | "arguments": [{"type": "int", "arg": "fd"}, { 566 | "type": "int", 567 | "arg": "flags" 568 | }, {"type": "const struct itimerspec *", "arg": "new_value"}, { 569 | "type": "struct itimerspec *", 570 | "arg": "old_value" 571 | }] 572 | }, 573 | "0x57": { 574 | "name": "timerfd_gettime", 575 | "number": "0x57", 576 | "arguments": [{"type": "int", "arg": "fd"}, {"type": "struct itimerspec *", "arg": "curr_value"}] 577 | }, 578 | "0x58": { 579 | "name": "utimensat", 580 | "number": "0x58", 581 | "arguments": [{"type": "int", "arg": "dirfd"}, { 582 | "type": "const char *", 583 | "arg": "pathname" 584 | }, {"type": "const struct timespec times[2], int", "arg": "flags"}] 585 | }, 586 | "0x59": {"name": "acct", "number": "0x59", "arguments": [{"type": "const char *", "arg": "filename"}]}, 587 | "0x5a": { 588 | "name": "capget", 589 | "number": "0x5a", 590 | "arguments": [{"type": "cap_user_header_t", "arg": "hdrp"}, {"type": "cap_user_data_t", "arg": "datap"}] 591 | }, 592 | "0x5b": { 593 | "name": "capset", 594 | "number": "0x5b", 595 | "arguments": [{"type": "cap_user_header_t", "arg": "hdrp"}, {"type": "const cap_user_data_t", "arg": "datap"}] 596 | }, 597 | "0x5c": {"name": "personality", "number": "0x5c", "arguments": [{"type": "unsigned long", "arg": "persona"}]}, 598 | "0x5d": {"name": "exit", "number": "0x5d", "arguments": null}, 599 | "0x5e": {"name": "exit_group", "number": "0x5e", "arguments": [{"type": "int", "arg": "status"}]}, 600 | "0x5f": { 601 | "name": "waitid", 602 | "number": "0x5f", 603 | "arguments": [{"type": "idtype_t", "arg": "idtype"}, {"type": "id_t", "arg": "id"}, { 604 | "type": "siginfo_t *", 605 | "arg": "infop" 606 | }, {"type": "int", "arg": "options"}] 607 | }, 608 | "0x60": {"name": "set_tid_address", "number": "0x60", "arguments": [{"type": "int *", "arg": "tidptr"}]}, 609 | "0x61": {"name": "unshare", "number": "0x61", "arguments": [{"type": "int", "arg": "flags"}]}, 610 | "0x62": {"name": "futex", "number": "0x62", "arguments": null}, 611 | "0x63": { 612 | "name": "set_robust_list", 613 | "number": "0x63", 614 | "arguments": [{"type": "struct robust_list_head *", "arg": "head"}, {"type": "size_t", "arg": "len"}] 615 | }, 616 | "0x64": { 617 | "name": "get_robust_list", 618 | "number": "0x64", 619 | "arguments": [{"type": "int", "arg": "pid"}, { 620 | "type": "struct robust_list_head **", 621 | "arg": "head_ptr" 622 | }, {"type": "size_t *", "arg": "len_ptr"}] 623 | }, 624 | "0x65": { 625 | "name": "nanosleep", 626 | "number": "0x65", 627 | "arguments": [{"type": "const struct timespec *", "arg": "req"}, {"type": "struct timespec *", "arg": "rem"}] 628 | }, 629 | "0x66": { 630 | "name": "getitimer", 631 | "number": "0x66", 632 | "arguments": [{"type": "int", "arg": "which"}, {"type": "struct itimerval *", "arg": "curr_value"}] 633 | }, 634 | "0x67": { 635 | "name": "setitimer", 636 | "number": "0x67", 637 | "arguments": [{"type": "int", "arg": "which"}, { 638 | "type": "const struct itimerval *restrict", 639 | "arg": "new_value" 640 | }, {"type": "struct itimerval *restrict", "arg": "old_value"}] 641 | }, 642 | "0x68": { 643 | "name": "kexec_load", 644 | "number": "0x68", 645 | "arguments": [{"type": "unsigned long", "arg": "entry"}, { 646 | "type": "unsigned long", 647 | "arg": "nr_segments" 648 | }, {"type": "struct kexec_segment *", "arg": "segments"}, {"type": "unsigned long", "arg": "flags"}] 649 | }, 650 | "0x69": { 651 | "name": "init_module", 652 | "number": "0x69", 653 | "arguments": [{"type": "void *", "arg": "module_image"}, { 654 | "type": "unsigned long", 655 | "arg": "len" 656 | }, {"type": "const char *", "arg": "param_values"}] 657 | }, 658 | "0x6a": { 659 | "name": "delete_module", 660 | "number": "0x6a", 661 | "arguments": [{"type": "const char *", "arg": "name"}, {"type": "unsigned int", "arg": "flags"}] 662 | }, 663 | "0x6b": { 664 | "name": "timer_create", 665 | "number": "0x6b", 666 | "arguments": [{"type": "clockid_t", "arg": "clockid"}, { 667 | "type": "struct sigevent *restrict", 668 | "arg": "sevp" 669 | }, {"type": "timer_t *restrict", "arg": "timerid"}] 670 | }, 671 | "0x6c": { 672 | "name": "timer_gettime", 673 | "number": "0x6c", 674 | "arguments": [{"type": "timer_t", "arg": "timerid"}, {"type": "struct itimerspec *", "arg": "curr_value"}] 675 | }, 676 | "0x6d": {"name": "timer_getoverrun", "number": "0x6d", "arguments": [{"type": "timer_t", "arg": "timerid"}]}, 677 | "0x6e": { 678 | "name": "timer_settime", 679 | "number": "0x6e", 680 | "arguments": [{"type": "timer_t", "arg": "timerid"}, { 681 | "type": "int", 682 | "arg": "flags" 683 | }, {"type": "const struct itimerspec *restrict", "arg": "new_value"}, { 684 | "type": "struct itimerspec *restrict", 685 | "arg": "old_value" 686 | }] 687 | }, 688 | "0x6f": {"name": "timer_delete", "number": "0x6f", "arguments": [{"type": "timer_t", "arg": "timerid"}]}, 689 | "0x70": { 690 | "name": "clock_settime", 691 | "number": "0x70", 692 | "arguments": [{"type": "clockid_t", "arg": "clockid"}, {"type": "const struct timespec *", "arg": "tp"}] 693 | }, 694 | "0x71": { 695 | "name": "clock_gettime", 696 | "number": "0x71", 697 | "arguments": [{"type": "clockid_t", "arg": "clockid"}, {"type": "struct timespec *", "arg": "tp"}] 698 | }, 699 | "0x72": { 700 | "name": "clock_getres", 701 | "number": "0x72", 702 | "arguments": [{"type": "clockid_t", "arg": "clockid"}, {"type": "struct timespec *", "arg": "res"}] 703 | }, 704 | "0x73": { 705 | "name": "clock_nanosleep", 706 | "number": "0x73", 707 | "arguments": [{"type": "clockid_t", "arg": "clockid"}, { 708 | "type": "int", 709 | "arg": "flags" 710 | }, {"type": "const struct timespec *", "arg": "request"}, {"type": "struct timespec *", "arg": "remain"}] 711 | }, 712 | "0x74": { 713 | "name": "syslog", 714 | "number": "0x74", 715 | "arguments": [{"type": "int", "arg": "type"}, {"type": "char *", "arg": "bufp"}, {"type": "int", "arg": "len"}] 716 | }, 717 | "0x75": { 718 | "name": "ptrace", 719 | "number": "0x75", 720 | "arguments": [{"type": "enum __ptrace_request", "arg": "request"}, { 721 | "type": "pid_t", 722 | "arg": "pid" 723 | }, {"type": "void *", "arg": "addr"}, {"type": "void *", "arg": "data"}] 724 | }, 725 | "0x76": { 726 | "name": "sched_setparam", 727 | "number": "0x76", 728 | "arguments": [{"type": "pid_t", "arg": "pid"}, {"type": "const struct sched_param *", "arg": "param"}] 729 | }, 730 | "0x77": { 731 | "name": "sched_setscheduler", 732 | "number": "0x77", 733 | "arguments": [{"type": "pid_t", "arg": "pid"}, { 734 | "type": "int", 735 | "arg": "policy" 736 | }, {"type": "const struct sched_param *", "arg": "param"}] 737 | }, 738 | "0x78": {"name": "sched_getscheduler", "number": "0x78", "arguments": [{"type": "pid_t", "arg": "pid"}]}, 739 | "0x79": { 740 | "name": "sched_getparam", 741 | "number": "0x79", 742 | "arguments": [{"type": "pid_t", "arg": "pid"}, {"type": "struct sched_param *", "arg": "param"}] 743 | }, 744 | "0x7a": { 745 | "name": "sched_setaffinity", 746 | "number": "0x7a", 747 | "arguments": [{"type": "pid_t", "arg": "pid"}, { 748 | "type": "size_t", 749 | "arg": "cpusetsize" 750 | }, {"type": "const cpu_set_t *", "arg": "mask"}] 751 | }, 752 | "0x7b": { 753 | "name": "sched_getaffinity", 754 | "number": "0x7b", 755 | "arguments": [{"type": "pid_t", "arg": "pid"}, {"type": "size_t", "arg": "cpusetsize"}, { 756 | "type": "cpu_set_t *", 757 | "arg": "mask" 758 | }] 759 | }, 760 | "0x7c": {"name": "sched_yield", "number": "0x7c", "arguments": []}, 761 | "0x7d": {"name": "sched_get_priority_max", "number": "0x7d", "arguments": [{"type": "int", "arg": "policy"}]}, 762 | "0x7e": {"name": "sched_get_priority_min", "number": "0x7e", "arguments": [{"type": "int", "arg": "policy"}]}, 763 | "0x7f": { 764 | "name": "sched_rr_get_interval", 765 | "number": "0x7f", 766 | "arguments": [{"type": "pid_t", "arg": "pid"}, {"type": "struct timespec *", "arg": "tp"}] 767 | }, 768 | "0x80": {"name": "restart_syscall", "number": "0x80", "arguments": []}, 769 | "0x81": { 770 | "name": "kill", 771 | "number": "0x81", 772 | "arguments": [{"type": "pid_t", "arg": "pid"}, {"type": "int", "arg": "sig"}] 773 | }, 774 | "0x82": { 775 | "name": "tkill", 776 | "number": "0x82", 777 | "arguments": [{"type": "pid_t", "arg": "tid"}, {"type": "int", "arg": "sig"}] 778 | }, 779 | "0x83": { 780 | "name": "tgkill", 781 | "number": "0x83", 782 | "arguments": [{"type": "pid_t", "arg": "tgid"}, {"type": "pid_t", "arg": "tid"}, {"type": "int", "arg": "sig"}] 783 | }, 784 | "0x84": { 785 | "name": "sigaltstack", 786 | "number": "0x84", 787 | "arguments": [{"type": "const stack_t *restrict", "arg": "ss"}, {"type": "stack_t *restrict", "arg": "old_ss"}] 788 | }, 789 | "0x85": {"name": "rt_sigsuspend", "number": "0x85", "arguments": null}, 790 | "0x86": {"name": "rt_sigaction", "number": "0x86", "arguments": null}, 791 | "0x87": { 792 | "name": "rt_sigprocmask", 793 | "number": "0x87", 794 | "arguments": [{"type": "int", "arg": "how"}, { 795 | "type": "const kernel_sigset_t *", 796 | "arg": "set" 797 | }, {"type": "kernel_sigset_t *", "arg": "oldset"}, {"type": "size_t", "arg": "sigsetsize"}] 798 | }, 799 | "0x88": {"name": "rt_sigpending", "number": "0x88", "arguments": null}, 800 | "0x89": {"name": "rt_sigtimedwait", "number": "0x89", "arguments": null}, 801 | "0x8a": { 802 | "name": "rt_sigqueueinfo", 803 | "number": "0x8a", 804 | "arguments": [{"type": "pid_t", "arg": "tgid"}, {"type": "int", "arg": "sig"}, { 805 | "type": "siginfo_t *", 806 | "arg": "info" 807 | }] 808 | }, 809 | "0x8b": {"name": "rt_sigreturn", "number": "0x8b", "arguments": null}, 810 | "0x8c": { 811 | "name": "setpriority", 812 | "number": "0x8c", 813 | "arguments": [{"type": "int", "arg": "which"}, {"type": "id_t", "arg": "who"}, {"type": "int", "arg": "prio"}] 814 | }, 815 | "0x8d": { 816 | "name": "getpriority", 817 | "number": "0x8d", 818 | "arguments": [{"type": "int", "arg": "which"}, {"type": "id_t", "arg": "who"}] 819 | }, 820 | "0x8e": { 821 | "name": "reboot", 822 | "number": "0x8e", 823 | "arguments": [{"type": "int", "arg": "magic"}, {"type": "int", "arg": "magic2"}, { 824 | "type": "int", 825 | "arg": "cmd" 826 | }, {"type": "void *", "arg": "arg"}] 827 | }, 828 | "0x8f": { 829 | "name": "setregid", 830 | "number": "0x8f", 831 | "arguments": [{"type": "gid_t", "arg": "rgid"}, {"type": "gid_t", "arg": "egid"}] 832 | }, 833 | "0x90": {"name": "setgid", "number": "0x90", "arguments": [{"type": "gid_t", "arg": "gid"}]}, 834 | "0x91": { 835 | "name": "setreuid", 836 | "number": "0x91", 837 | "arguments": [{"type": "uid_t", "arg": "ruid"}, {"type": "uid_t", "arg": "euid"}] 838 | }, 839 | "0x92": {"name": "setuid", "number": "0x92", "arguments": [{"type": "uid_t", "arg": "uid"}]}, 840 | "0x93": { 841 | "name": "setresuid", 842 | "number": "0x93", 843 | "arguments": [{"type": "uid_t", "arg": "ruid"}, {"type": "uid_t", "arg": "euid"}, { 844 | "type": "uid_t", 845 | "arg": "suid" 846 | }] 847 | }, 848 | "0x94": { 849 | "name": "getresuid", 850 | "number": "0x94", 851 | "arguments": [{"type": "uid_t *", "arg": "ruid"}, {"type": "uid_t *", "arg": "euid"}, { 852 | "type": "uid_t *", 853 | "arg": "suid" 854 | }] 855 | }, 856 | "0x95": { 857 | "name": "setresgid", 858 | "number": "0x95", 859 | "arguments": [{"type": "gid_t", "arg": "rgid"}, {"type": "gid_t", "arg": "egid"}, { 860 | "type": "gid_t", 861 | "arg": "sgid" 862 | }] 863 | }, 864 | "0x96": { 865 | "name": "getresgid", 866 | "number": "0x96", 867 | "arguments": [{"type": "gid_t *", "arg": "rgid"}, {"type": "gid_t *", "arg": "egid"}, { 868 | "type": "gid_t *", 869 | "arg": "sgid" 870 | }] 871 | }, 872 | "0x97": {"name": "setfsuid", "number": "0x97", "arguments": [{"type": "uid_t", "arg": "fsuid"}]}, 873 | "0x98": {"name": "setfsgid", "number": "0x98", "arguments": [{"type": "gid_t", "arg": "fsgid"}]}, 874 | "0x99": {"name": "times", "number": "0x99", "arguments": [{"type": "struct tms *", "arg": "buf"}]}, 875 | "0x9a": { 876 | "name": "setpgid", 877 | "number": "0x9a", 878 | "arguments": [{"type": "pid_t", "arg": "pid"}, {"type": "pid_t", "arg": "pgid"}] 879 | }, 880 | "0x9b": {"name": "getpgid", "number": "0x9b", "arguments": [{"type": "pid_t", "arg": "pid"}]}, 881 | "0x9c": {"name": "getsid", "number": "0x9c", "arguments": [{"type": "pid_t", "arg": "pid"}]}, 882 | "0x9d": {"name": "setsid", "number": "0x9d", "arguments": []}, 883 | "0x9e": {"name": "getgroups", "number": "0x9e", "arguments": [{"type": "int", "arg": "size"}]}, 884 | "0x9f": { 885 | "name": "setgroups", 886 | "number": "0x9f", 887 | "arguments": [{"type": "size_t", "arg": "size"}, {"type": "const gid_t *", "arg": "list"}] 888 | }, 889 | "0xa0": {"name": "uname", "number": "0xa0", "arguments": [{"type": "struct utsname *", "arg": "buf"}]}, 890 | "0xa1": { 891 | "name": "sethostname", 892 | "number": "0xa1", 893 | "arguments": [{"type": "const char *", "arg": "name"}, {"type": "size_t", "arg": "len"}] 894 | }, 895 | "0xa2": { 896 | "name": "setdomainname", 897 | "number": "0xa2", 898 | "arguments": [{"type": "const char *", "arg": "name"}, {"type": "size_t", "arg": "len"}] 899 | }, 900 | "0xa3": { 901 | "name": "getrlimit", 902 | "number": "0xa3", 903 | "arguments": [{"type": "int", "arg": "resource"}, {"type": "struct rlimit *", "arg": "rlim"}] 904 | }, 905 | "0xa4": { 906 | "name": "setrlimit", 907 | "number": "0xa4", 908 | "arguments": [{"type": "int", "arg": "resource"}, {"type": "const struct rlimit *", "arg": "rlim"}] 909 | }, 910 | "0xa5": { 911 | "name": "getrusage", 912 | "number": "0xa5", 913 | "arguments": [{"type": "int", "arg": "who"}, {"type": "struct rusage *", "arg": "usage"}] 914 | }, 915 | "0xa6": {"name": "umask", "number": "0xa6", "arguments": [{"type": "mode_t", "arg": "mask"}]}, 916 | "0xa7": { 917 | "name": "prctl", 918 | "number": "0xa7", 919 | "arguments": [{"type": "int", "arg": "option"}, { 920 | "type": "unsigned long", 921 | "arg": "arg2" 922 | }, {"type": "unsigned long", "arg": "arg3"}, {"type": "unsigned long", "arg": "arg4"}, { 923 | "type": "unsigned long", 924 | "arg": "arg5" 925 | }] 926 | }, 927 | "0xa8": { 928 | "name": "getcpu", 929 | "number": "0xa8", 930 | "arguments": [{"type": "unsigned int *", "arg": "cpu"}, {"type": "unsigned int *", "arg": "node"}] 931 | }, 932 | "0xa9": { 933 | "name": "gettimeofday", 934 | "number": "0xa9", 935 | "arguments": [{"type": "struct timeval *restrict", "arg": "tv"}, { 936 | "type": "struct timezone *restrict", 937 | "arg": "tz" 938 | }] 939 | }, 940 | "0xaa": { 941 | "name": "settimeofday", 942 | "number": "0xaa", 943 | "arguments": [{"type": "const struct timeval *", "arg": "tv"}, {"type": "const struct timezone *", "arg": "tz"}] 944 | }, 945 | "0xab": {"name": "adjtimex", "number": "0xab", "arguments": [{"type": "struct timex *", "arg": "buf"}]}, 946 | "0xac": {"name": "getpid", "number": "0xac", "arguments": []}, 947 | "0xad": {"name": "getppid", "number": "0xad", "arguments": []}, 948 | "0xae": {"name": "getuid", "number": "0xae", "arguments": []}, 949 | "0xaf": {"name": "geteuid", "number": "0xaf", "arguments": []}, 950 | "0xb0": {"name": "getgid", "number": "0xb0", "arguments": []}, 951 | "0xb1": {"name": "getegid", "number": "0xb1", "arguments": []}, 952 | "0xb2": {"name": "gettid", "number": "0xb2", "arguments": []}, 953 | "0xb3": {"name": "sysinfo", "number": "0xb3", "arguments": [{"type": "struct sysinfo *", "arg": "info"}]}, 954 | "0xb4": { 955 | "name": "mq_open", 956 | "number": "0xb4", 957 | "arguments": [{"type": "const char *", "arg": "name"}, {"type": "int", "arg": "oflag"}] 958 | }, 959 | "0xb5": {"name": "mq_unlink", "number": "0xb5", "arguments": [{"type": "const char *", "arg": "name"}]}, 960 | "0xb6": { 961 | "name": "mq_timedsend", 962 | "number": "0xb6", 963 | "arguments": [{"type": "mqd_t", "arg": "mqdes"}, {"type": "const char *", "arg": "msg_ptr"}, { 964 | "type": "size_t", 965 | "arg": "msg_len" 966 | }, {"type": "unsigned int", "arg": "msg_prio"}, {"type": "const struct timespec *", "arg": "abs_timeout"}] 967 | }, 968 | "0xb7": { 969 | "name": "mq_timedreceive", 970 | "number": "0xb7", 971 | "arguments": [{"type": "mqd_t", "arg": "mqdes"}, { 972 | "type": "char *restrict", 973 | "arg": "msg_ptr" 974 | }, {"type": "size_t", "arg": "msg_len"}, { 975 | "type": "unsigned int *restrict", 976 | "arg": "msg_prio" 977 | }, {"type": "const struct timespec *restrict", "arg": "abs_timeout"}] 978 | }, 979 | "0xb8": { 980 | "name": "mq_notify", 981 | "number": "0xb8", 982 | "arguments": [{"type": "mqd_t", "arg": "mqdes"}, {"type": "const struct sigevent *", "arg": "sevp"}] 983 | }, 984 | "0xb9": { 985 | "name": "mq_getsetattr", 986 | "number": "0xb9", 987 | "arguments": [{"type": "mqd_t", "arg": "mqdes"}, { 988 | "type": "const struct mq_attr *", 989 | "arg": "newattr" 990 | }, {"type": "struct mq_attr *", "arg": "oldattr"}] 991 | }, 992 | "0xba": { 993 | "name": "msgget", 994 | "number": "0xba", 995 | "arguments": [{"type": "key_t", "arg": "key"}, {"type": "int", "arg": "msgflg"}] 996 | }, 997 | "0xbb": { 998 | "name": "msgctl", 999 | "number": "0xbb", 1000 | "arguments": [{"type": "int", "arg": "msqid"}, {"type": "int", "arg": "cmd"}, { 1001 | "type": "struct msqid_ds *", 1002 | "arg": "buf" 1003 | }] 1004 | }, 1005 | "0xbc": { 1006 | "name": "msgrcv", 1007 | "number": "0xbc", 1008 | "arguments": [{"type": "int", "arg": "msqid"}, {"type": "void *", "arg": "msgp"}, { 1009 | "type": "size_t", 1010 | "arg": "msgsz" 1011 | }, {"type": "long", "arg": "msgtyp"}, {"type": "int", "arg": "msgflg"}] 1012 | }, 1013 | "0xbd": { 1014 | "name": "msgsnd", 1015 | "number": "0xbd", 1016 | "arguments": [{"type": "int", "arg": "msqid"}, {"type": "const void *", "arg": "msgp"}, { 1017 | "type": "size_t", 1018 | "arg": "msgsz" 1019 | }, {"type": "int", "arg": "msgflg"}] 1020 | }, 1021 | "0xbe": { 1022 | "name": "semget", 1023 | "number": "0xbe", 1024 | "arguments": [{"type": "key_t", "arg": "key"}, {"type": "int", "arg": "nsems"}, { 1025 | "type": "int", 1026 | "arg": "semflg" 1027 | }] 1028 | }, 1029 | "0xbf": { 1030 | "name": "semctl", 1031 | "number": "0xbf", 1032 | "arguments": [{"type": "int", "arg": "semid"}, {"type": "int", "arg": "semnum"}, {"type": "int", "arg": "cmd"}] 1033 | }, 1034 | "0xc0": { 1035 | "name": "semtimedop", 1036 | "number": "0xc0", 1037 | "arguments": [{"type": "int", "arg": "semid"}, {"type": "struct sembuf *", "arg": "sops"}, { 1038 | "type": "size_t", 1039 | "arg": "nsops" 1040 | }, {"type": "const struct timespec *", "arg": "timeout"}] 1041 | }, 1042 | "0xc1": { 1043 | "name": "semop", 1044 | "number": "0xc1", 1045 | "arguments": [{"type": "int", "arg": "semid"}, {"type": "struct sembuf *", "arg": "sops"}, { 1046 | "type": "size_t", 1047 | "arg": "nsops" 1048 | }] 1049 | }, 1050 | "0xc2": { 1051 | "name": "shmget", 1052 | "number": "0xc2", 1053 | "arguments": [{"type": "key_t", "arg": "key"}, {"type": "size_t", "arg": "size"}, { 1054 | "type": "int", 1055 | "arg": "shmflg" 1056 | }] 1057 | }, 1058 | "0xc3": { 1059 | "name": "shmctl", 1060 | "number": "0xc3", 1061 | "arguments": [{"type": "int", "arg": "shmid"}, {"type": "int", "arg": "cmd"}, { 1062 | "type": "struct shmid_ds *", 1063 | "arg": "buf" 1064 | }] 1065 | }, 1066 | "0xc4": { 1067 | "name": "shmat", 1068 | "number": "0xc4", 1069 | "arguments": [{"type": "int", "arg": "shmid"}, {"type": "const void *", "arg": "shmaddr"}, { 1070 | "type": "int", 1071 | "arg": "shmflg" 1072 | }] 1073 | }, 1074 | "0xc5": {"name": "shmdt", "number": "0xc5", "arguments": [{"type": "const void *", "arg": "shmaddr"}]}, 1075 | "0xc6": { 1076 | "name": "socket", 1077 | "number": "0xc6", 1078 | "arguments": [{"type": "int", "arg": "domain"}, {"type": "int", "arg": "type"}, { 1079 | "type": "int", 1080 | "arg": "protocol" 1081 | }] 1082 | }, 1083 | "0xc7": { 1084 | "name": "socketpair", 1085 | "number": "0xc7", 1086 | "arguments": [{"type": "int", "arg": "domain"}, {"type": "int", "arg": "type"}, { 1087 | "type": "int", 1088 | "arg": "protocol" 1089 | }] 1090 | }, 1091 | "0xc8": { 1092 | "name": "bind", 1093 | "number": "0xc8", 1094 | "arguments": [{"type": "int", "arg": "sockfd"}, { 1095 | "type": "const struct sockaddr *", 1096 | "arg": "addr" 1097 | }, {"type": "socklen_t", "arg": "addrlen"}] 1098 | }, 1099 | "0xc9": { 1100 | "name": "listen", 1101 | "number": "0xc9", 1102 | "arguments": [{"type": "int", "arg": "sockfd"}, {"type": "int", "arg": "backlog"}] 1103 | }, 1104 | "0xca": { 1105 | "name": "accept", 1106 | "number": "0xca", 1107 | "arguments": [{"type": "int", "arg": "sockfd"}, { 1108 | "type": "struct sockaddr *restrict", 1109 | "arg": "addr" 1110 | }, {"type": "socklen_t *restrict", "arg": "addrlen"}] 1111 | }, 1112 | "0xcb": { 1113 | "name": "connect", 1114 | "number": "0xcb", 1115 | "arguments": [{"type": "int", "arg": "sockfd"}, { 1116 | "type": "const struct sockaddr *", 1117 | "arg": "addr" 1118 | }, {"type": "socklen_t", "arg": "addrlen"}] 1119 | }, 1120 | "0xcc": { 1121 | "name": "getsockname", 1122 | "number": "0xcc", 1123 | "arguments": [{"type": "int", "arg": "sockfd"}, { 1124 | "type": "struct sockaddr *restrict", 1125 | "arg": "addr" 1126 | }, {"type": "socklen_t *restrict", "arg": "addrlen"}] 1127 | }, 1128 | "0xcd": { 1129 | "name": "getpeername", 1130 | "number": "0xcd", 1131 | "arguments": [{"type": "int", "arg": "sockfd"}, { 1132 | "type": "struct sockaddr *restrict", 1133 | "arg": "addr" 1134 | }, {"type": "socklen_t *restrict", "arg": "addrlen"}] 1135 | }, 1136 | "0xce": { 1137 | "name": "sendto", 1138 | "number": "0xce", 1139 | "arguments": [{"type": "int", "arg": "sockfd"}, {"type": "const void *", "arg": "buf"}, { 1140 | "type": "size_t", 1141 | "arg": "len" 1142 | }, {"type": "int", "arg": "flags"}, { 1143 | "type": "const struct sockaddr *", 1144 | "arg": "dest_addr" 1145 | }, {"type": "socklen_t", "arg": "addrlen"}] 1146 | }, 1147 | "0xcf": { 1148 | "name": "recvfrom", 1149 | "number": "0xcf", 1150 | "arguments": [{"type": "int", "arg": "sockfd"}, {"type": "void *restrict", "arg": "buf"}, { 1151 | "type": "size_t", 1152 | "arg": "len" 1153 | }, {"type": "int", "arg": "flags"}, { 1154 | "type": "struct sockaddr *restrict", 1155 | "arg": "src_addr" 1156 | }, {"type": "socklen_t *restrict", "arg": "addrlen"}] 1157 | }, 1158 | "0xd0": { 1159 | "name": "setsockopt", 1160 | "number": "0xd0", 1161 | "arguments": [{"type": "int", "arg": "sockfd"}, {"type": "int", "arg": "level"}, { 1162 | "type": "int", 1163 | "arg": "optname" 1164 | }, {"type": "const void *", "arg": "optval"}, {"type": "socklen_t", "arg": "optlen"}] 1165 | }, 1166 | "0xd1": { 1167 | "name": "getsockopt", 1168 | "number": "0xd1", 1169 | "arguments": [{"type": "int", "arg": "sockfd"}, {"type": "int", "arg": "level"}, { 1170 | "type": "int", 1171 | "arg": "optname" 1172 | }, {"type": "void *restrict", "arg": "optval"}, {"type": "socklen_t *restrict", "arg": "optlen"}] 1173 | }, 1174 | "0xd2": { 1175 | "name": "shutdown", 1176 | "number": "0xd2", 1177 | "arguments": [{"type": "int", "arg": "sockfd"}, {"type": "int", "arg": "how"}] 1178 | }, 1179 | "0xd3": { 1180 | "name": "sendmsg", 1181 | "number": "0xd3", 1182 | "arguments": [{"type": "int", "arg": "sockfd"}, {"type": "const struct msghdr *", "arg": "msg"}, { 1183 | "type": "int", 1184 | "arg": "flags" 1185 | }] 1186 | }, 1187 | "0xd4": { 1188 | "name": "recvmsg", 1189 | "number": "0xd4", 1190 | "arguments": [{"type": "int", "arg": "sockfd"}, {"type": "struct msghdr *", "arg": "msg"}, { 1191 | "type": "int", 1192 | "arg": "flags" 1193 | }] 1194 | }, 1195 | "0xd5": { 1196 | "name": "readahead", 1197 | "number": "0xd5", 1198 | "arguments": [{"type": "int", "arg": "fd"}, {"type": "off64_t", "arg": "offset"}, { 1199 | "type": "size_t", 1200 | "arg": "count" 1201 | }] 1202 | }, 1203 | "0xd6": {"name": "brk", "number": "0xd6", "arguments": [{"type": "void *", "arg": "addr"}]}, 1204 | "0xd7": { 1205 | "name": "munmap", 1206 | "number": "0xd7", 1207 | "arguments": [{"type": "void *", "arg": "addr"}, {"type": "size_t", "arg": "length"}] 1208 | }, 1209 | "0xd8": { 1210 | "name": "mremap", 1211 | "number": "0xd8", 1212 | "arguments": [{"type": "void *", "arg": "old_address"}, { 1213 | "type": "size_t", 1214 | "arg": "old_size" 1215 | }, {"type": "size_t", "arg": "new_size"}, {"type": "int", "arg": "flags"}] 1216 | }, 1217 | "0xd9": { 1218 | "name": "add_key", 1219 | "number": "0xd9", 1220 | "arguments": [{"type": "const char *", "arg": "type"}, { 1221 | "type": "const char *", 1222 | "arg": "description" 1223 | }, {"type": "const void *", "arg": "payload"}, {"type": "size_t", "arg": "plen"}, { 1224 | "type": "key_serial_t", 1225 | "arg": "keyring" 1226 | }] 1227 | }, 1228 | "0xda": { 1229 | "name": "request_key", 1230 | "number": "0xda", 1231 | "arguments": [{"type": "const char *", "arg": "type"}, { 1232 | "type": "const char *", 1233 | "arg": "description" 1234 | }, {"type": "const char *", "arg": "callout_info"}, {"type": "key_serial_t", "arg": "dest_keyring"}] 1235 | }, 1236 | "0xdb": {"name": "keyctl", "number": "0xdb", "arguments": [{"type": "int", "arg": "operation"}]}, 1237 | "0xdc": {"name": "clone", "number": "0xdc", "arguments": null}, 1238 | "0xdd": {"name": "execve", "number": "0xdd", "arguments": [{"type": "const char *", "arg": "pathname"}]}, 1239 | "0xde": { 1240 | "name": "mmap", 1241 | "number": "0xde", 1242 | "arguments": [{"type": "void *", "arg": "addr"}, {"type": "size_t", "arg": "length"}, { 1243 | "type": "int", 1244 | "arg": "prot" 1245 | }, {"type": "int", "arg": "flags"}, {"type": "int", "arg": "fd"}, {"type": "off_t", "arg": "offset"}] 1246 | }, 1247 | "0xdf": {"name": "fadvise64", "number": "0xdf", "arguments": null}, 1248 | "0xe0": { 1249 | "name": "swapon", 1250 | "number": "0xe0", 1251 | "arguments": [{"type": "const char *", "arg": "path"}, {"type": "int", "arg": "swapflags"}] 1252 | }, 1253 | "0xe1": {"name": "swapoff", "number": "0xe1", "arguments": [{"type": "const char *", "arg": "path"}]}, 1254 | "0xe2": { 1255 | "name": "mprotect", 1256 | "number": "0xe2", 1257 | "arguments": [{"type": "void *", "arg": "addr"}, {"type": "size_t", "arg": "len"}, { 1258 | "type": "int", 1259 | "arg": "prot" 1260 | }] 1261 | }, 1262 | "0xe3": { 1263 | "name": "msync", 1264 | "number": "0xe3", 1265 | "arguments": [{"type": "void *", "arg": "addr"}, {"type": "size_t", "arg": "length"}, { 1266 | "type": "int", 1267 | "arg": "flags" 1268 | }] 1269 | }, 1270 | "0xe4": { 1271 | "name": "mlock", 1272 | "number": "0xe4", 1273 | "arguments": [{"type": "const void *", "arg": "addr"}, {"type": "size_t", "arg": "len"}] 1274 | }, 1275 | "0xe5": { 1276 | "name": "munlock", 1277 | "number": "0xe5", 1278 | "arguments": [{"type": "const void *", "arg": "addr"}, {"type": "size_t", "arg": "len"}] 1279 | }, 1280 | "0xe6": {"name": "mlockall", "number": "0xe6", "arguments": [{"type": "int", "arg": "flags"}]}, 1281 | "0xe7": {"name": "munlockall", "number": "0xe7", "arguments": []}, 1282 | "0xe8": { 1283 | "name": "mincore", 1284 | "number": "0xe8", 1285 | "arguments": [{"type": "void *", "arg": "addr"}, { 1286 | "type": "size_t", 1287 | "arg": "length" 1288 | }, {"type": "unsigned char *", "arg": "vec"}] 1289 | }, 1290 | "0xe9": { 1291 | "name": "madvise", 1292 | "number": "0xe9", 1293 | "arguments": [{"type": "void *", "arg": "addr"}, {"type": "size_t", "arg": "length"}, { 1294 | "type": "int", 1295 | "arg": "advice" 1296 | }] 1297 | }, 1298 | "0xea": { 1299 | "name": "remap_file_pages", 1300 | "number": "0xea", 1301 | "arguments": [{"type": "void *", "arg": "addr"}, {"type": "size_t", "arg": "size"}, { 1302 | "type": "int", 1303 | "arg": "prot" 1304 | }, {"type": "size_t", "arg": "pgoff"}, {"type": "int", "arg": "flags"}] 1305 | }, 1306 | "0xeb": { 1307 | "name": "mbind", 1308 | "number": "0xeb", 1309 | "arguments": [{"type": "void *", "arg": "addr"}, {"type": "unsigned long", "arg": "len"}, { 1310 | "type": "int", 1311 | "arg": "mode" 1312 | }, {"type": "const unsigned long *", "arg": "nodemask"}, { 1313 | "type": "unsigned long", 1314 | "arg": "maxnode" 1315 | }, {"type": "unsigned int", "arg": "flags"}] 1316 | }, 1317 | "0xec": { 1318 | "name": "get_mempolicy", 1319 | "number": "0xec", 1320 | "arguments": [{"type": "int *", "arg": "mode"}, { 1321 | "type": "unsigned long *", 1322 | "arg": "nodemask" 1323 | }, {"type": "unsigned long", "arg": "maxnode"}, {"type": "void *", "arg": "addr"}, { 1324 | "type": "unsigned long", 1325 | "arg": "flags" 1326 | }] 1327 | }, 1328 | "0xed": { 1329 | "name": "set_mempolicy", 1330 | "number": "0xed", 1331 | "arguments": [{"type": "int", "arg": "mode"}, { 1332 | "type": "const unsigned long *", 1333 | "arg": "nodemask" 1334 | }, {"type": "unsigned long", "arg": "maxnode"}] 1335 | }, 1336 | "0xee": { 1337 | "name": "migrate_pages", 1338 | "number": "0xee", 1339 | "arguments": [{"type": "int", "arg": "pid"}, { 1340 | "type": "unsigned long", 1341 | "arg": "maxnode" 1342 | }, {"type": "const unsigned long *", "arg": "old_nodes"}, {"type": "const unsigned long *", "arg": "new_nodes"}] 1343 | }, 1344 | "0xef": { 1345 | "name": "move_pages", 1346 | "number": "0xef", 1347 | "arguments": [{"type": "int", "arg": "pid"}, {"type": "unsigned long", "arg": "count"}, { 1348 | "type": "void **", 1349 | "arg": "pages" 1350 | }, {"type": "const int *", "arg": "nodes"}, {"type": "int *", "arg": "status"}, {"type": "int", "arg": "flags"}] 1351 | }, 1352 | "0xf0": { 1353 | "name": "rt_tgsigqueueinfo", 1354 | "number": "0xf0", 1355 | "arguments": [{"type": "pid_t", "arg": "tgid"}, {"type": "pid_t", "arg": "tid"}, { 1356 | "type": "int", 1357 | "arg": "sig" 1358 | }, {"type": "siginfo_t *", "arg": "info"}] 1359 | }, 1360 | "0xf1": { 1361 | "name": "perf_event_open", 1362 | "number": "0xf1", 1363 | "arguments": [{"type": "struct perf_event_attr *", "arg": "attr"}, { 1364 | "type": "pid_t", 1365 | "arg": "pid" 1366 | }, {"type": "int", "arg": "cpu"}, {"type": "int", "arg": "group_fd"}, {"type": "unsigned long", "arg": "flags"}] 1367 | }, 1368 | "0xf2": { 1369 | "name": "accept4", 1370 | "number": "0xf2", 1371 | "arguments": [{"type": "int", "arg": "sockfd"}, { 1372 | "type": "struct sockaddr *restrict", 1373 | "arg": "addr" 1374 | }, {"type": "socklen_t *restrict", "arg": "addrlen"}, {"type": "int", "arg": "flags"}] 1375 | }, 1376 | "0xf3": { 1377 | "name": "recvmmsg", 1378 | "number": "0xf3", 1379 | "arguments": [{"type": "int", "arg": "sockfd"}, { 1380 | "type": "struct mmsghdr *", 1381 | "arg": "msgvec" 1382 | }, {"type": "unsigned int", "arg": "vlen"}, {"type": "int", "arg": "flags"}, { 1383 | "type": "struct timespec *", 1384 | "arg": "timeout" 1385 | }] 1386 | }, 1387 | "0xf4": {"name": "arch_specific_syscall", "number": "0xf4", "arguments": null}, 1388 | "0x104": { 1389 | "name": "wait4", 1390 | "number": "0x104", 1391 | "arguments": [{"type": "pid_t", "arg": "pid"}, {"type": "int *", "arg": "wstatus"}, { 1392 | "type": "int", 1393 | "arg": "options" 1394 | }, {"type": "struct rusage *", "arg": "rusage"}] 1395 | }, 1396 | "0x105": {"name": "prlimit64", "number": "0x105", "arguments": null}, 1397 | "0x106": { 1398 | "name": "fanotify_init", 1399 | "number": "0x106", 1400 | "arguments": [{"type": "unsigned int", "arg": "flags"}, {"type": "unsigned int", "arg": "event_f_flags"}] 1401 | }, 1402 | "0x107": { 1403 | "name": "fanotify_mark", 1404 | "number": "0x107", 1405 | "arguments": [{"type": "int", "arg": "fanotify_fd"}, { 1406 | "type": "unsigned int", 1407 | "arg": "flags" 1408 | }, {"type": "uint64_t", "arg": "mask"}, {"type": "int", "arg": "dirfd"}, { 1409 | "type": "const char *", 1410 | "arg": "pathname" 1411 | }] 1412 | }, 1413 | "0x10a": { 1414 | "name": "clock_adjtime", 1415 | "number": "0x10a", 1416 | "arguments": [{"type": "clockid_t", "arg": "clk_id"}, {"type": "struct timex *", "arg": "buf"}] 1417 | }, 1418 | "0x10b": {"name": "syncfs", "number": "0x10b", "arguments": [{"type": "int", "arg": "fd"}]}, 1419 | "0x10c": { 1420 | "name": "setns", 1421 | "number": "0x10c", 1422 | "arguments": [{"type": "int", "arg": "fd"}, {"type": "int", "arg": "nstype"}] 1423 | }, 1424 | "0x10d": { 1425 | "name": "sendmmsg", 1426 | "number": "0x10d", 1427 | "arguments": [{"type": "int", "arg": "sockfd"}, { 1428 | "type": "struct mmsghdr *", 1429 | "arg": "msgvec" 1430 | }, {"type": "unsigned int", "arg": "vlen"}, {"type": "int", "arg": "flags"}] 1431 | }, 1432 | "0x10e": { 1433 | "name": "process_vm_readv", 1434 | "number": "0x10e", 1435 | "arguments": [{"type": "pid_t", "arg": "pid"}, { 1436 | "type": "const struct iovec *", 1437 | "arg": "local_iov" 1438 | }, {"type": "unsigned long", "arg": "liovcnt"}, { 1439 | "type": "const struct iovec *", 1440 | "arg": "remote_iov" 1441 | }, {"type": "unsigned long", "arg": "riovcnt"}, {"type": "unsigned long", "arg": "flags"}] 1442 | }, 1443 | "0x10f": { 1444 | "name": "process_vm_writev", 1445 | "number": "0x10f", 1446 | "arguments": [{"type": "pid_t", "arg": "pid"}, { 1447 | "type": "const struct iovec *", 1448 | "arg": "local_iov" 1449 | }, {"type": "unsigned long", "arg": "liovcnt"}, { 1450 | "type": "const struct iovec *", 1451 | "arg": "remote_iov" 1452 | }, {"type": "unsigned long", "arg": "riovcnt"}, {"type": "unsigned long", "arg": "flags"}] 1453 | }, 1454 | "0x110": { 1455 | "name": "kcmp", 1456 | "number": "0x110", 1457 | "arguments": [{"type": "pid_t", "arg": "pid1"}, {"type": "pid_t", "arg": "pid2"}, { 1458 | "type": "int", 1459 | "arg": "type" 1460 | }, {"type": "unsigned long", "arg": "idx1"}, {"type": "unsigned long", "arg": "idx2"}] 1461 | }, 1462 | "0x111": { 1463 | "name": "finit_module", 1464 | "number": "0x111", 1465 | "arguments": [{"type": "int", "arg": "fd"}, {"type": "const char *", "arg": "param_values"}, { 1466 | "type": "int", 1467 | "arg": "flags" 1468 | }] 1469 | }, 1470 | "0x112": { 1471 | "name": "sched_setattr", 1472 | "number": "0x112", 1473 | "arguments": [{"type": "pid_t", "arg": "pid"}, { 1474 | "type": "struct sched_attr *", 1475 | "arg": "attr" 1476 | }, {"type": "unsigned int", "arg": "flags"}] 1477 | }, 1478 | "0x113": { 1479 | "name": "sched_getattr", 1480 | "number": "0x113", 1481 | "arguments": [{"type": "pid_t", "arg": "pid"}, { 1482 | "type": "struct sched_attr *", 1483 | "arg": "attr" 1484 | }, {"type": "unsigned int", "arg": "size"}, {"type": "unsigned int", "arg": "flags"}] 1485 | }, 1486 | "0x114": { 1487 | "name": "renameat2", 1488 | "number": "0x114", 1489 | "arguments": [{"type": "int", "arg": "olddirfd"}, {"type": "const char *", "arg": "oldpath"}, { 1490 | "type": "int", 1491 | "arg": "newdirfd" 1492 | }, {"type": "const char *", "arg": "newpath"}, {"type": "unsigned int", "arg": "flags"}] 1493 | }, 1494 | "0x115": { 1495 | "name": "seccomp", 1496 | "number": "0x115", 1497 | "arguments": [{"type": "unsigned int", "arg": "operation"}, { 1498 | "type": "unsigned int", 1499 | "arg": "flags" 1500 | }, {"type": "void *", "arg": "args"}] 1501 | }, 1502 | "0x116": { 1503 | "name": "getrandom", 1504 | "number": "0x116", 1505 | "arguments": [{"type": "void *", "arg": "buf"}, {"type": "size_t", "arg": "buflen"}, { 1506 | "type": "unsigned int", 1507 | "arg": "flags" 1508 | }] 1509 | }, 1510 | "0x117": { 1511 | "name": "memfd_create", 1512 | "number": "0x117", 1513 | "arguments": [{"type": "const char *", "arg": "name"}, {"type": "unsigned int", "arg": "flags"}] 1514 | }, 1515 | "0x118": { 1516 | "name": "bpf", 1517 | "number": "0x118", 1518 | "arguments": [{"type": "int", "arg": "cmd"}, { 1519 | "type": "union bpf_attr *", 1520 | "arg": "attr" 1521 | }, {"type": "unsigned int", "arg": "size"}] 1522 | }, 1523 | "0x119": { 1524 | "name": "execveat", 1525 | "number": "0x119", 1526 | "arguments": [{"type": "int", "arg": "dirfd"}, {"type": "const char *", "arg": "pathname"}, { 1527 | "type": "int", 1528 | "arg": "flags" 1529 | }] 1530 | }, 1531 | "0x11a": {"name": "userfaultfd", "number": "0x11a", "arguments": [{"type": "int", "arg": "flags"}]}, 1532 | "0x11b": { 1533 | "name": "membarrier", 1534 | "number": "0x11b", 1535 | "arguments": [{"type": "int", "arg": "cmd"}, {"type": "unsigned int", "arg": "flags"}, { 1536 | "type": "int", 1537 | "arg": "cpu_id" 1538 | }] 1539 | }, 1540 | "0x11c": { 1541 | "name": "mlock2", 1542 | "number": "0x11c", 1543 | "arguments": [{"type": "const void *", "arg": "addr"}, { 1544 | "type": "size_t", 1545 | "arg": "len" 1546 | }, {"type": "unsigned int", "arg": "flags"}] 1547 | }, 1548 | "0x11d": { 1549 | "name": "copy_file_range", 1550 | "number": "0x11d", 1551 | "arguments": [{"type": "int", "arg": "fd_in"}, {"type": "off64_t *", "arg": "off_in"}, { 1552 | "type": "int", 1553 | "arg": "fd_out" 1554 | }, {"type": "off64_t *", "arg": "off_out"}, {"type": "size_t", "arg": "len"}, { 1555 | "type": "unsigned int", 1556 | "arg": "flags" 1557 | }] 1558 | }, 1559 | "0x11e": { 1560 | "name": "preadv2", 1561 | "number": "0x11e", 1562 | "arguments": [{"type": "int", "arg": "fd"}, {"type": "const struct iovec *", "arg": "iov"}, { 1563 | "type": "int", 1564 | "arg": "iovcnt" 1565 | }, {"type": "off_t", "arg": "offset"}, {"type": "int", "arg": "flags"}] 1566 | }, 1567 | "0x11f": { 1568 | "name": "pwritev2", 1569 | "number": "0x11f", 1570 | "arguments": [{"type": "int", "arg": "fd"}, {"type": "const struct iovec *", "arg": "iov"}, { 1571 | "type": "int", 1572 | "arg": "iovcnt" 1573 | }, {"type": "off_t", "arg": "offset"}, {"type": "int", "arg": "flags"}] 1574 | }, 1575 | "0x120": { 1576 | "name": "pkey_mprotect", 1577 | "number": "0x120", 1578 | "arguments": [{"type": "void *", "arg": "addr"}, {"type": "size_t", "arg": "len"}, { 1579 | "type": "int", 1580 | "arg": "prot" 1581 | }, {"type": "int", "arg": "pkey"}] 1582 | }, 1583 | "0x121": { 1584 | "name": "pkey_alloc", 1585 | "number": "0x121", 1586 | "arguments": [{"type": "unsigned int", "arg": "flags"}, {"type": "unsigned int", "arg": "access_rights"}] 1587 | }, 1588 | "0x122": {"name": "pkey_free", "number": "0x122", "arguments": [{"type": "int", "arg": "pkey"}]}, 1589 | "0x123": { 1590 | "name": "statx", 1591 | "number": "0x123", 1592 | "arguments": [{"type": "int", "arg": "dirfd"}, { 1593 | "type": "const char *restrict", 1594 | "arg": "pathname" 1595 | }, {"type": "int", "arg": "flags"}, {"type": "unsigned int", "arg": "mask"}, { 1596 | "type": "struct statx *restrict", 1597 | "arg": "statxbuf" 1598 | }] 1599 | }, 1600 | "0x124": {"name": "io_pgetevents", "number": "0x124", "arguments": null}, 1601 | "0x125": {"name": "rseq", "number": "0x125", "arguments": null}, 1602 | "0x126": { 1603 | "name": "kexec_file_load", 1604 | "number": "0x126", 1605 | "arguments": [{"type": "int", "arg": "kernel_fd"}, { 1606 | "type": "int", 1607 | "arg": "initrd_fd" 1608 | }, {"type": "unsigned long", "arg": "cmdline_len"}, { 1609 | "type": "const char *", 1610 | "arg": "cmdline" 1611 | }, {"type": "unsigned long", "arg": "flags"}] 1612 | }, 1613 | "0x193": {"name": "clock_gettime64", "number": "0x193", "arguments": null}, 1614 | "0x194": {"name": "clock_settime64", "number": "0x194", "arguments": null}, 1615 | "0x195": {"name": "clock_adjtime64", "number": "0x195", "arguments": null}, 1616 | "0x196": {"name": "clock_getres_time64", "number": "0x196", "arguments": null}, 1617 | "0x197": {"name": "clock_nanosleep_time64", "number": "0x197", "arguments": null}, 1618 | "0x198": {"name": "timer_gettime64", "number": "0x198", "arguments": null}, 1619 | "0x199": {"name": "timer_settime64", "number": "0x199", "arguments": null}, 1620 | "0x19a": {"name": "timerfd_gettime64", "number": "0x19a", "arguments": null}, 1621 | "0x19b": {"name": "timerfd_settime64", "number": "0x19b", "arguments": null}, 1622 | "0x19c": {"name": "utimensat_time64", "number": "0x19c", "arguments": null}, 1623 | "0x19d": {"name": "pselect6_time64", "number": "0x19d", "arguments": null}, 1624 | "0x19e": {"name": "ppoll_time64", "number": "0x19e", "arguments": null}, 1625 | "0x1a0": {"name": "io_pgetevents_time64", "number": "0x1a0", "arguments": null}, 1626 | "0x1a1": {"name": "recvmmsg_time64", "number": "0x1a1", "arguments": null}, 1627 | "0x1a2": {"name": "mq_timedsend_time64", "number": "0x1a2", "arguments": null}, 1628 | "0x1a3": {"name": "mq_timedreceive_time64", "number": "0x1a3", "arguments": null}, 1629 | "0x1a4": {"name": "semtimedop_time64", "number": "0x1a4", "arguments": null}, 1630 | "0x1a5": {"name": "rt_sigtimedwait_time64", "number": "0x1a5", "arguments": null}, 1631 | "0x1a6": {"name": "futex_time64", "number": "0x1a6", "arguments": null}, 1632 | "0x1a7": {"name": "sched_rr_get_interval_time64", "number": "0x1a7", "arguments": null}, 1633 | "0x1a8": { 1634 | "name": "pidfd_send_signal", 1635 | "number": "0x1a8", 1636 | "arguments": [{"type": "int", "arg": "pidfd"}, {"type": "int", "arg": "sig"}, { 1637 | "type": "siginfo_t *", 1638 | "arg": "info" 1639 | }, {"type": "unsigned int", "arg": "flags"}] 1640 | }, 1641 | "0x1a9": { 1642 | "name": "io_uring_setup", 1643 | "number": "0x1a9", 1644 | "arguments": [{"type": "u32", "arg": "entries"}, {"type": "struct io_uring_params *", "arg": "p"}] 1645 | }, 1646 | "0x1aa": { 1647 | "name": "io_uring_enter", 1648 | "number": "0x1aa", 1649 | "arguments": [{"type": "unsigned int", "arg": "fd"}, { 1650 | "type": "unsigned int", 1651 | "arg": "to_submit" 1652 | }, {"type": "unsigned int", "arg": "min_complete"}, { 1653 | "type": "unsigned int", 1654 | "arg": "flags" 1655 | }, {"type": "sigset_t *", "arg": "sig"}] 1656 | }, 1657 | "0x1ab": { 1658 | "name": "io_uring_register", 1659 | "number": "0x1ab", 1660 | "arguments": [{"type": "unsigned int", "arg": "fd"}, { 1661 | "type": "unsigned int", 1662 | "arg": "opcode" 1663 | }, {"type": "void *", "arg": "arg"}, {"type": "unsigned int", "arg": "nr_args"}] 1664 | }, 1665 | "0x1ac": {"name": "open_tree", "number": "0x1ac", "arguments": null}, 1666 | "0x1ad": {"name": "move_mount", "number": "0x1ad", "arguments": null}, 1667 | "0x1ae": {"name": "fsopen", "number": "0x1ae", "arguments": null}, 1668 | "0x1af": {"name": "fsconfig", "number": "0x1af", "arguments": null}, 1669 | "0x1b0": {"name": "fsmount", "number": "0x1b0", "arguments": null}, 1670 | "0x1b1": {"name": "fspick", "number": "0x1b1", "arguments": null}, 1671 | "0x1b2": { 1672 | "name": "pidfd_open", 1673 | "number": "0x1b2", 1674 | "arguments": [{"type": "pid_t", "arg": "pid"}, {"type": "unsigned int", "arg": "flags"}] 1675 | }, 1676 | "0x1b3": { 1677 | "name": "clone3", 1678 | "number": "0x1b3", 1679 | "arguments": [{"type": "struct clone_args *", "arg": "cl_args"}, {"type": "size_t", "arg": "size"}] 1680 | }, 1681 | "0x1b4": { 1682 | "name": "close_range", 1683 | "number": "0x1b4", 1684 | "arguments": [{"type": "unsigned int", "arg": "first"}, { 1685 | "type": "unsigned int", 1686 | "arg": "last" 1687 | }, {"type": "unsigned int", "arg": "flags"}] 1688 | }, 1689 | "0x1b5": { 1690 | "name": "openat2", 1691 | "number": "0x1b5", 1692 | "arguments": [{"type": "int", "arg": "dirfd"}, { 1693 | "type": "const char *", 1694 | "arg": "pathname" 1695 | }, {"type": "struct open_how *", "arg": "how"}, {"type": "size_t", "arg": "size"}] 1696 | }, 1697 | "0x1b6": { 1698 | "name": "pidfd_getfd", 1699 | "number": "0x1b6", 1700 | "arguments": [{"type": "int", "arg": "pidfd"}, {"type": "int", "arg": "targetfd"}, { 1701 | "type": "unsigned int", 1702 | "arg": "flags" 1703 | }] 1704 | }, 1705 | "0x1b7": { 1706 | "name": "faccessat2", 1707 | "number": "0x1b7", 1708 | "arguments": [{"type": "int", "arg": "dirfd"}, {"type": "const char *", "arg": "pathname"}, { 1709 | "type": "int", 1710 | "arg": "mode" 1711 | }, {"type": "int", "arg": "flags"}] 1712 | }, 1713 | "0x1b8": { 1714 | "name": "process_madvise", 1715 | "number": "0x1b8", 1716 | "arguments": [{"type": "int", "arg": "pidfd"}, { 1717 | "type": "const struct iovec *", 1718 | "arg": "iovec" 1719 | }, {"type": "size_t", "arg": "vlen"}, {"type": "int", "arg": "advice"}, { 1720 | "type": "unsigned int", 1721 | "arg": "flags" 1722 | }] 1723 | }, 1724 | "0x1b9": { 1725 | "name": "epoll_pwait2", 1726 | "number": "0x1b9", 1727 | "arguments": [{"type": "int", "arg": "epfd"}, {"type": "struct epoll_event *", "arg": "events"}, { 1728 | "type": "int", 1729 | "arg": "maxevents" 1730 | }, {"type": "const struct timespec *", "arg": "timeout"}, {"type": "const sigset_t *", "arg": "sigmask"}] 1731 | }, 1732 | "0x1ba": {"name": "mount_setattr", "number": "0x1ba", "arguments": null}, 1733 | "0x1bc": {"name": "landlock_create_ruleset", "number": "0x1bc", "arguments": null}, 1734 | "0x1bd": {"name": "landlock_add_rule", "number": "0x1bd", "arguments": null}, 1735 | "0x1be": {"name": "landlock_restrict_self", "number": "0x1be", "arguments": null}, 1736 | "0x1bf": {"name": "syscalls", "number": "0x1bf", "arguments": null} 1737 | } 1738 | -------------------------------------------------------------------------------- /data/arm64.json: -------------------------------------------------------------------------------- 1 | { 2 | "0x0": { 3 | "name": "setup", 4 | "number": "0x0" 5 | }, 6 | "0x1": { 7 | "name": "destroy", 8 | "number": "0x1" 9 | }, 10 | "0x2": { 11 | "name": "submit", 12 | "number": "0x2" 13 | }, 14 | "0x3": { 15 | "name": "cancel", 16 | "number": "0x3" 17 | }, 18 | "0x4": { 19 | "name": "getevents", 20 | "number": "0x4" 21 | }, 22 | "0x5": { 23 | "name": "setxattr", 24 | "number": "0x5" 25 | }, 26 | "0x6": { 27 | "name": "lsetxattr", 28 | "number": "0x6" 29 | }, 30 | "0x7": { 31 | "name": "fsetxattr", 32 | "number": "0x7" 33 | }, 34 | "0x8": { 35 | "name": "getxattr", 36 | "number": "0x8" 37 | }, 38 | "0x9": { 39 | "name": "lgetxattr", 40 | "number": "0x9" 41 | }, 42 | "0xa": { 43 | "name": "fgetxattr", 44 | "number": "0xa" 45 | }, 46 | "0xb": { 47 | "name": "listxattr", 48 | "number": "0xb" 49 | }, 50 | "0xc": { 51 | "name": "llistxattr", 52 | "number": "0xc" 53 | }, 54 | "0xd": { 55 | "name": "flistxattr", 56 | "number": "0xd" 57 | }, 58 | "0xe": { 59 | "name": "removexattr", 60 | "number": "0xe" 61 | }, 62 | "0xf": { 63 | "name": "lremovexattr", 64 | "number": "0xf" 65 | }, 66 | "0x10": { 67 | "name": "fremovexattr", 68 | "number": "0x10" 69 | }, 70 | "0x11": { 71 | "name": "getcwd", 72 | "number": "0x11" 73 | }, 74 | "0x12": { 75 | "name": "dcookie", 76 | "number": "0x12" 77 | }, 78 | "0x13": { 79 | "name": "eventfd2", 80 | "number": "0x13" 81 | }, 82 | "0x14": { 83 | "name": "create1", 84 | "number": "0x14" 85 | }, 86 | "0x15": { 87 | "name": "ctl", 88 | "number": "0x15" 89 | }, 90 | "0x16": { 91 | "name": "pwait", 92 | "number": "0x16" 93 | }, 94 | "0x17": { 95 | "name": "dup", 96 | "number": "0x17" 97 | }, 98 | "0x18": { 99 | "name": "dup3", 100 | "number": "0x18" 101 | }, 102 | "0x19": { 103 | "name": "fcntl", 104 | "number": "0x19" 105 | }, 106 | "0x1a": { 107 | "name": "init1", 108 | "number": "0x1a" 109 | }, 110 | "0x1b": { 111 | "name": "watch", 112 | "number": "0x1b" 113 | }, 114 | "0x1c": { 115 | "name": "watch", 116 | "number": "0x1c" 117 | }, 118 | "0x1d": { 119 | "name": "ioctl", 120 | "parameters": ["int", "int"], 121 | "number": "0x1d" 122 | }, 123 | "0x1e": { 124 | "name": "set", 125 | "number": "0x1e" 126 | }, 127 | "0x1f": { 128 | "name": "get", 129 | "number": "0x1f" 130 | }, 131 | "0x20": { 132 | "name": "flock", 133 | "number": "0x20" 134 | }, 135 | "0x21": { 136 | "name": "mknodat", 137 | "number": "0x21" 138 | }, 139 | "0x22": { 140 | "name": "mkdirat", 141 | "number": "0x22" 142 | }, 143 | "0x23": { 144 | "name": "unlinkat", 145 | "number": "0x23" 146 | }, 147 | "0x24": { 148 | "name": "symlinkat", 149 | "number": "0x24" 150 | }, 151 | "0x25": { 152 | "name": "linkat", 153 | "number": "0x25" 154 | }, 155 | "0x26": { 156 | "name": "renameat", 157 | "number": "0x26" 158 | }, 159 | "0x27": { 160 | "name": "umount2", 161 | "number": "0x27" 162 | }, 163 | "0x28": { 164 | "name": "mount", 165 | "number": "0x28" 166 | }, 167 | "0x29": { 168 | "name": "root", 169 | "number": "0x29" 170 | }, 171 | "0x2a": { 172 | "name": "nfsservctl", 173 | "number": "0x2a" 174 | }, 175 | "0x2b": { 176 | "name": "statfs", 177 | "number": "0x2b" 178 | }, 179 | "0x2c": { 180 | "name": "fstatfs", 181 | "number": "0x2c" 182 | }, 183 | "0x2d": { 184 | "name": "truncate", 185 | "number": "0x2d" 186 | }, 187 | "0x2e": { 188 | "name": "ftruncate", 189 | "number": "0x2e" 190 | }, 191 | "0x2f": { 192 | "name": "fallocate", 193 | "number": "0x2f" 194 | }, 195 | "0x30": { 196 | "name": "faccessat", 197 | "parameters": ["int", "cstring", "int", "int"], 198 | "number": "0x30" 199 | }, 200 | "0x31": { 201 | "name": "chdir", 202 | "number": "0x31" 203 | }, 204 | "0x32": { 205 | "name": "fchdir", 206 | "number": "0x32" 207 | }, 208 | "0x33": { 209 | "name": "chroot", 210 | "number": "0x33" 211 | }, 212 | "0x34": { 213 | "name": "fchmod", 214 | "number": "0x34" 215 | }, 216 | "0x35": { 217 | "name": "fchmodat", 218 | "number": "0x35" 219 | }, 220 | "0x36": { 221 | "name": "fchownat", 222 | "number": "0x36" 223 | }, 224 | "0x37": { 225 | "name": "fchown", 226 | "number": "0x37" 227 | }, 228 | "0x38": { 229 | "name": "openat", 230 | "number": "0x38", 231 | "parameters": ["int", "cstring", "int"], 232 | "return" : "int" 233 | }, 234 | "0x39": { 235 | "name": "close", 236 | "number": "0x39" 237 | }, 238 | "0x3a": { 239 | "name": "vhangup", 240 | "number": "0x3a" 241 | }, 242 | "0x3b": { 243 | "name": "pipe2", 244 | "number": "0x3b" 245 | }, 246 | "0x3c": { 247 | "name": "quotactl", 248 | "number": "0x3c" 249 | }, 250 | "0x3d": { 251 | "name": "getdents64", 252 | "return": "int", 253 | "parameters": ["uint", "*dirp", "uint"], 254 | "number": "0x3d" 255 | }, 256 | "0x3e": { 257 | "name": "lseek", 258 | "number": "0x3e" 259 | }, 260 | "0x3f": { 261 | "name": "read", 262 | "number": "0x3f" 263 | }, 264 | "0x40": { 265 | "name": "write", 266 | "number": "0x40" 267 | }, 268 | "0x41": { 269 | "name": "readv", 270 | "number": "0x41" 271 | }, 272 | "0x42": { 273 | "name": "writev", 274 | "number": "0x42" 275 | }, 276 | "0x43": { 277 | "name": "pread64", 278 | "number": "0x43" 279 | }, 280 | "0x44": { 281 | "name": "pwrite64", 282 | "number": "0x44" 283 | }, 284 | "0x45": { 285 | "name": "preadv", 286 | "number": "0x45" 287 | }, 288 | "0x46": { 289 | "name": "pwritev", 290 | "number": "0x46" 291 | }, 292 | "0x47": { 293 | "name": "sendfile", 294 | "number": "0x47" 295 | }, 296 | "0x48": { 297 | "name": "pselect6", 298 | "number": "0x48" 299 | }, 300 | "0x49": { 301 | "name": "ppoll", 302 | "number": "0x49" 303 | }, 304 | "0x4a": { 305 | "name": "signalfd4", 306 | "number": "0x4a" 307 | }, 308 | "0x4b": { 309 | "name": "vmsplice", 310 | "number": "0x4b" 311 | }, 312 | "0x4c": { 313 | "name": "splice", 314 | "number": "0x4c" 315 | }, 316 | "0x4d": { 317 | "name": "tee", 318 | "number": "0x4d" 319 | }, 320 | "0x4e": { 321 | "name": "readlinkat", 322 | "number": "0x4e" 323 | }, 324 | "0x4f": { 325 | "name": "fstatat", 326 | "number": "0x4f" 327 | }, 328 | "0x50": { 329 | "name": "fstat", 330 | "number": "0x50" 331 | }, 332 | "0x51": { 333 | "name": "sync", 334 | "number": "0x51" 335 | }, 336 | "0x52": { 337 | "name": "fsync", 338 | "number": "0x52" 339 | }, 340 | "0x53": { 341 | "name": "fdatasync", 342 | "number": "0x53" 343 | }, 344 | "0x54": { 345 | "name": "range", 346 | "number": "0x54" 347 | }, 348 | "0x55": { 349 | "name": "create", 350 | "number": "0x55" 351 | }, 352 | "0x56": { 353 | "name": "settime", 354 | "number": "0x56" 355 | }, 356 | "0x57": { 357 | "name": "gettime", 358 | "number": "0x57" 359 | }, 360 | "0x58": { 361 | "name": "utimensat", 362 | "number": "0x58" 363 | }, 364 | "0x59": { 365 | "name": "acct", 366 | "number": "0x59" 367 | }, 368 | "0x5a": { 369 | "name": "capget", 370 | "number": "0x5a" 371 | }, 372 | "0x5b": { 373 | "name": "capset", 374 | "number": "0x5b" 375 | }, 376 | "0x5c": { 377 | "name": "personality", 378 | "number": "0x5c" 379 | }, 380 | "0x5d": { 381 | "name": "exit", 382 | "number": "0x5d" 383 | }, 384 | "0x5e": { 385 | "name": "group", 386 | "number": "0x5e" 387 | }, 388 | "0x5f": { 389 | "name": "waitid", 390 | "number": "0x5f" 391 | }, 392 | "0x60": { 393 | "name": "address", 394 | "number": "0x60" 395 | }, 396 | "0x61": { 397 | "name": "unshare", 398 | "number": "0x61" 399 | }, 400 | "0x62": { 401 | "name": "futex", 402 | "number": "0x62" 403 | }, 404 | "0x63": { 405 | "name": "list", 406 | "number": "0x63" 407 | }, 408 | "0x64": { 409 | "name": "list", 410 | "number": "0x64" 411 | }, 412 | "0x65": { 413 | "name": "nanosleep", 414 | "number": "0x65" 415 | }, 416 | "0x66": { 417 | "name": "getitimer", 418 | "number": "0x66" 419 | }, 420 | "0x67": { 421 | "name": "setitimer", 422 | "number": "0x67" 423 | }, 424 | "0x68": { 425 | "name": "load", 426 | "number": "0x68" 427 | }, 428 | "0x69": { 429 | "name": "module", 430 | "number": "0x69" 431 | }, 432 | "0x6a": { 433 | "name": "module", 434 | "number": "0x6a" 435 | }, 436 | "0x6b": { 437 | "name": "create", 438 | "number": "0x6b" 439 | }, 440 | "0x6c": { 441 | "name": "gettime", 442 | "number": "0x6c" 443 | }, 444 | "0x6d": { 445 | "name": "getoverrun", 446 | "number": "0x6d" 447 | }, 448 | "0x6e": { 449 | "name": "settime", 450 | "number": "0x6e" 451 | }, 452 | "0x6f": { 453 | "name": "delete", 454 | "number": "0x6f" 455 | }, 456 | "0x70": { 457 | "name": "settime", 458 | "number": "0x70" 459 | }, 460 | "0x71": { 461 | "name": "gettime", 462 | "number": "0x71" 463 | }, 464 | "0x72": { 465 | "name": "getres", 466 | "number": "0x72" 467 | }, 468 | "0x73": { 469 | "name": "nanosleep", 470 | "number": "0x73" 471 | }, 472 | "0x74": { 473 | "name": "syslog", 474 | "number": "0x74" 475 | }, 476 | "0x75": { 477 | "name": "ptrace", 478 | "number": "0x75" 479 | }, 480 | "0x76": { 481 | "name": "setparam", 482 | "number": "0x76" 483 | }, 484 | "0x77": { 485 | "name": "setscheduler", 486 | "number": "0x77" 487 | }, 488 | "0x78": { 489 | "name": "getscheduler", 490 | "number": "0x78" 491 | }, 492 | "0x79": { 493 | "name": "getparam", 494 | "number": "0x79" 495 | }, 496 | "0x7a": { 497 | "name": "setaffinity", 498 | "number": "0x7a" 499 | }, 500 | "0x7b": { 501 | "name": "getaffinity", 502 | "number": "0x7b" 503 | }, 504 | "0x7c": { 505 | "name": "yield", 506 | "number": "0x7c" 507 | }, 508 | "0x7d": { 509 | "name": "max", 510 | "number": "0x7d" 511 | }, 512 | "0x7e": { 513 | "name": "min", 514 | "number": "0x7e" 515 | }, 516 | "0x7f": { 517 | "name": "interval", 518 | "number": "0x7f" 519 | }, 520 | "0x80": { 521 | "name": "syscall", 522 | "number": "0x80" 523 | }, 524 | "0x81": { 525 | "name": "kill", 526 | "number": "0x81" 527 | }, 528 | "0x82": { 529 | "name": "tkill", 530 | "number": "0x82" 531 | }, 532 | "0x83": { 533 | "name": "tgkill", 534 | "number": "0x83" 535 | }, 536 | "0x84": { 537 | "name": "sigaltstack", 538 | "number": "0x84" 539 | }, 540 | "0x85": { 541 | "name": "sigsuspend", 542 | "number": "0x85" 543 | }, 544 | "0x86": { 545 | "name": "sigaction", 546 | "number": "0x86" 547 | }, 548 | "0x87": { 549 | "name": "sigprocmask", 550 | "number": "0x87" 551 | }, 552 | "0x88": { 553 | "name": "sigpending", 554 | "number": "0x88" 555 | }, 556 | "0x89": { 557 | "name": "sigtimedwait", 558 | "number": "0x89" 559 | }, 560 | "0x8a": { 561 | "name": "sigqueueinfo", 562 | "number": "0x8a" 563 | }, 564 | "0x8b": { 565 | "name": "sigreturn", 566 | "number": "0x8b" 567 | }, 568 | "0x8c": { 569 | "name": "setpriority", 570 | "number": "0x8c" 571 | }, 572 | "0x8d": { 573 | "name": "getpriority", 574 | "number": "0x8d" 575 | }, 576 | "0x8e": { 577 | "name": "reboot", 578 | "number": "0x8e" 579 | }, 580 | "0x8f": { 581 | "name": "setregid", 582 | "number": "0x8f" 583 | }, 584 | "0x90": { 585 | "name": "setgid", 586 | "number": "0x90" 587 | }, 588 | "0x91": { 589 | "name": "setreuid", 590 | "number": "0x91" 591 | }, 592 | "0x92": { 593 | "name": "setuid", 594 | "number": "0x92" 595 | }, 596 | "0x93": { 597 | "name": "setresuid", 598 | "number": "0x93" 599 | }, 600 | "0x94": { 601 | "name": "getresuid", 602 | "number": "0x94" 603 | }, 604 | "0x95": { 605 | "name": "setresgid", 606 | "number": "0x95" 607 | }, 608 | "0x96": { 609 | "name": "getresgid", 610 | "number": "0x96" 611 | }, 612 | "0x97": { 613 | "name": "setfsuid", 614 | "number": "0x97" 615 | }, 616 | "0x98": { 617 | "name": "setfsgid", 618 | "number": "0x98" 619 | }, 620 | "0x99": { 621 | "name": "times", 622 | "number": "0x99" 623 | }, 624 | "0x9a": { 625 | "name": "setpgid", 626 | "number": "0x9a" 627 | }, 628 | "0x9b": { 629 | "name": "getpgid", 630 | "number": "0x9b" 631 | }, 632 | "0x9c": { 633 | "name": "getsid", 634 | "number": "0x9c" 635 | }, 636 | "0x9d": { 637 | "name": "setsid", 638 | "number": "0x9d" 639 | }, 640 | "0x9e": { 641 | "name": "getgroups", 642 | "number": "0x9e" 643 | }, 644 | "0x9f": { 645 | "name": "setgroups", 646 | "number": "0x9f" 647 | }, 648 | "0xa0": { 649 | "name": "uname", 650 | "number": "0xa0" 651 | }, 652 | "0xa1": { 653 | "name": "sethostname", 654 | "number": "0xa1" 655 | }, 656 | "0xa2": { 657 | "name": "setdomainname", 658 | "number": "0xa2" 659 | }, 660 | "0xa3": { 661 | "name": "getrlimit", 662 | "number": "0xa3" 663 | }, 664 | "0xa4": { 665 | "name": "setrlimit", 666 | "number": "0xa4" 667 | }, 668 | "0xa5": { 669 | "name": "getrusage", 670 | "number": "0xa5" 671 | }, 672 | "0xa6": { 673 | "name": "umask", 674 | "number": "0xa6" 675 | }, 676 | "0xa7": { 677 | "name": "prctl", 678 | "number": "0xa7" 679 | }, 680 | "0xa8": { 681 | "name": "getcpu", 682 | "number": "0xa8" 683 | }, 684 | "0xa9": { 685 | "name": "gettimeofday", 686 | "number": "0xa9" 687 | }, 688 | "0xaa": { 689 | "name": "settimeofday", 690 | "number": "0xaa" 691 | }, 692 | "0xab": { 693 | "name": "adjtimex", 694 | "number": "0xab" 695 | }, 696 | "0xac": { 697 | "name": "getpid", 698 | "number": "0xac" 699 | }, 700 | "0xad": { 701 | "name": "getppid", 702 | "number": "0xad" 703 | }, 704 | "0xae": { 705 | "name": "getuid", 706 | "number": "0xae" 707 | }, 708 | "0xaf": { 709 | "name": "geteuid", 710 | "number": "0xaf" 711 | }, 712 | "0xb0": { 713 | "name": "getgid", 714 | "number": "0xb0" 715 | }, 716 | "0xb1": { 717 | "name": "getegid", 718 | "number": "0xb1" 719 | }, 720 | "0xb2": { 721 | "name": "gettid", 722 | "number": "0xb2" 723 | }, 724 | "0xb3": { 725 | "name": "sysinfo", 726 | "number": "0xb3" 727 | }, 728 | "0xb4": { 729 | "name": "open", 730 | "number": "0xb4", 731 | "return": "int", 732 | "parameters": ["cstring", "int"] 733 | }, 734 | "0xb5": { 735 | "name": "unlink", 736 | "number": "0xb5" 737 | }, 738 | "0xb6": { 739 | "name": "timedsend", 740 | "number": "0xb6" 741 | }, 742 | "0xb7": { 743 | "name": "timedreceive", 744 | "number": "0xb7" 745 | }, 746 | "0xb8": { 747 | "name": "notify", 748 | "number": "0xb8" 749 | }, 750 | "0xb9": { 751 | "name": "getsetattr", 752 | "number": "0xb9" 753 | }, 754 | "0xba": { 755 | "name": "msgget", 756 | "number": "0xba" 757 | }, 758 | "0xbb": { 759 | "name": "msgctl", 760 | "number": "0xbb" 761 | }, 762 | "0xbc": { 763 | "name": "msgrcv", 764 | "number": "0xbc" 765 | }, 766 | "0xbd": { 767 | "name": "msgsnd", 768 | "number": "0xbd" 769 | }, 770 | "0xbe": { 771 | "name": "semget", 772 | "number": "0xbe" 773 | }, 774 | "0xbf": { 775 | "name": "semctl", 776 | "number": "0xbf" 777 | }, 778 | "0xc0": { 779 | "name": "semtimedop", 780 | "number": "0xc0" 781 | }, 782 | "0xc1": { 783 | "name": "semop", 784 | "number": "0xc1" 785 | }, 786 | "0xc2": { 787 | "name": "shmget", 788 | "number": "0xc2" 789 | }, 790 | "0xc3": { 791 | "name": "shmctl", 792 | "number": "0xc3" 793 | }, 794 | "0xc4": { 795 | "name": "shmat", 796 | "number": "0xc4" 797 | }, 798 | "0xc5": { 799 | "name": "shmdt", 800 | "number": "0xc5" 801 | }, 802 | "0xc6": { 803 | "name": "socket", 804 | "number": "0xc6" 805 | }, 806 | "0xc7": { 807 | "name": "socketpair", 808 | "number": "0xc7" 809 | }, 810 | "0xc8": { 811 | "name": "bind", 812 | "number": "0xc8" 813 | }, 814 | "0xc9": { 815 | "name": "listen", 816 | "number": "0xc9" 817 | }, 818 | "0xca": { 819 | "name": "accept", 820 | "number": "0xca" 821 | }, 822 | "0xcb": { 823 | "name": "connect", 824 | "number": "0xcb" 825 | }, 826 | "0xcc": { 827 | "name": "getsockname", 828 | "number": "0xcc" 829 | }, 830 | "0xcd": { 831 | "name": "getpeername", 832 | "number": "0xcd" 833 | }, 834 | "0xce": { 835 | "name": "sendto", 836 | "number": "0xce" 837 | }, 838 | "0xcf": { 839 | "name": "recvfrom", 840 | "number": "0xcf" 841 | }, 842 | "0xd0": { 843 | "name": "setsockopt", 844 | "number": "0xd0" 845 | }, 846 | "0xd1": { 847 | "name": "getsockopt", 848 | "number": "0xd1" 849 | }, 850 | "0xd2": { 851 | "name": "shutdown", 852 | "number": "0xd2" 853 | }, 854 | "0xd3": { 855 | "name": "sendmsg", 856 | "number": "0xd3" 857 | }, 858 | "0xd4": { 859 | "name": "recvmsg", 860 | "number": "0xd4" 861 | }, 862 | "0xd5": { 863 | "name": "readahead", 864 | "number": "0xd5" 865 | }, 866 | "0xd6": { 867 | "name": "brk", 868 | "number": "0xd6" 869 | }, 870 | "0xd7": { 871 | "name": "munmap", 872 | "number": "0xd7" 873 | }, 874 | "0xd8": { 875 | "name": "mremap", 876 | "number": "0xd8" 877 | }, 878 | "0xd9": { 879 | "name": "key", 880 | "number": "0xd9" 881 | }, 882 | "0xda": { 883 | "name": "key", 884 | "number": "0xda" 885 | }, 886 | "0xdb": { 887 | "name": "keyctl", 888 | "number": "0xdb" 889 | }, 890 | "0xdc": { 891 | "name": "clone", 892 | "number": "0xdc" 893 | }, 894 | "0xdd": { 895 | "name": "execve", 896 | "number": "0xdd" 897 | }, 898 | "0xde": { 899 | "name": "mmap", 900 | "number": "0xde" 901 | }, 902 | "0xdf": { 903 | "name": "fadvise64", 904 | "number": "0xdf" 905 | }, 906 | "0xe0": { 907 | "name": "swapon", 908 | "number": "0xe0" 909 | }, 910 | "0xe1": { 911 | "name": "swapoff", 912 | "number": "0xe1" 913 | }, 914 | "0xe2": { 915 | "name": "mprotect", 916 | "number": "0xe2" 917 | }, 918 | "0xe3": { 919 | "name": "msync", 920 | "number": "0xe3" 921 | }, 922 | "0xe4": { 923 | "name": "mlock", 924 | "number": "0xe4" 925 | }, 926 | "0xe5": { 927 | "name": "munlock", 928 | "number": "0xe5" 929 | }, 930 | "0xe6": { 931 | "name": "mlockall", 932 | "number": "0xe6" 933 | }, 934 | "0xe7": { 935 | "name": "munlockall", 936 | "number": "0xe7" 937 | }, 938 | "0xe8": { 939 | "name": "mincore", 940 | "number": "0xe8" 941 | }, 942 | "0xe9": { 943 | "name": "madvise", 944 | "number": "0xe9" 945 | }, 946 | "0xea": { 947 | "name": "pages", 948 | "number": "0xea" 949 | }, 950 | "0xeb": { 951 | "name": "mbind", 952 | "number": "0xeb" 953 | }, 954 | "0xec": { 955 | "name": "mempolicy", 956 | "number": "0xec" 957 | }, 958 | "0xed": { 959 | "name": "mempolicy", 960 | "number": "0xed" 961 | }, 962 | "0xee": { 963 | "name": "pages", 964 | "number": "0xee" 965 | }, 966 | "0xef": { 967 | "name": "pages", 968 | "number": "0xef" 969 | }, 970 | "0xf0": { 971 | "name": "tgsigqueueinfo", 972 | "number": "0xf0" 973 | }, 974 | "0xf1": { 975 | "name": "open", 976 | "number": "0xf1" 977 | }, 978 | "0xf2": { 979 | "name": "accept4", 980 | "number": "0xf2" 981 | }, 982 | "0xf3": { 983 | "name": "recvmmsg", 984 | "number": "0xf3" 985 | }, 986 | "0xf4": { 987 | "name": "syscall", 988 | "number": "0xf4" 989 | }, 990 | "0x104": { 991 | "name": "wait4", 992 | "number": "0x104" 993 | }, 994 | "0x105": { 995 | "name": "prlimit64", 996 | "number": "0x105" 997 | }, 998 | "0x106": { 999 | "name": "init", 1000 | "number": "0x106" 1001 | }, 1002 | "0x107": { 1003 | "name": "mark", 1004 | "number": "0x107" 1005 | }, 1006 | "0x108": { 1007 | "name": "at ", 1008 | "number": "0x108" 1009 | }, 1010 | "0x109": { 1011 | "name": "at ", 1012 | "number": "0x109" 1013 | }, 1014 | "0x10a": { 1015 | "name": "adjtime", 1016 | "number": "0x10a" 1017 | }, 1018 | "0x10b": { 1019 | "name": "syncfs", 1020 | "number": "0x10b" 1021 | }, 1022 | "0x10c": { 1023 | "name": "setns", 1024 | "number": "0x10c" 1025 | }, 1026 | "0x10d": { 1027 | "name": "sendmmsg", 1028 | "number": "0x10d" 1029 | }, 1030 | "0x10e": { 1031 | "name": "readv", 1032 | "number": "0x10e" 1033 | }, 1034 | "0x10f": { 1035 | "name": "writev", 1036 | "number": "0x10f" 1037 | }, 1038 | "0x110": { 1039 | "name": "kcmp", 1040 | "number": "0x110" 1041 | }, 1042 | "0x111": { 1043 | "name": "module", 1044 | "number": "0x111" 1045 | }, 1046 | "0x112": { 1047 | "name": "setattr", 1048 | "number": "0x112" 1049 | }, 1050 | "0x113": { 1051 | "name": "getattr", 1052 | "number": "0x113" 1053 | }, 1054 | "0x114": { 1055 | "name": "renameat2", 1056 | "number": "0x114" 1057 | }, 1058 | "0x115": { 1059 | "name": "seccomp", 1060 | "number": "0x115" 1061 | }, 1062 | "0x116": { 1063 | "name": "getrandom", 1064 | "number": "0x116" 1065 | }, 1066 | "0x117": { 1067 | "name": "create", 1068 | "number": "0x117" 1069 | }, 1070 | "0x118": { 1071 | "name": "bpf", 1072 | "number": "0x118" 1073 | }, 1074 | "0x119": { 1075 | "name": "execveat", 1076 | "number": "0x119" 1077 | }, 1078 | "0x11a": { 1079 | "name": "userfaultfd", 1080 | "number": "0x11a" 1081 | }, 1082 | "0x11b": { 1083 | "name": "membarrier", 1084 | "number": "0x11b" 1085 | }, 1086 | "0x11c": { 1087 | "name": "mlock2", 1088 | "number": "0x11c" 1089 | }, 1090 | "0x11d": { 1091 | "name": "range", 1092 | "number": "0x11d" 1093 | }, 1094 | "0x11e": { 1095 | "name": "preadv2", 1096 | "number": "0x11e" 1097 | }, 1098 | "0x11f": { 1099 | "name": "pwritev2", 1100 | "number": "0x11f" 1101 | }, 1102 | "0x120": { 1103 | "name": "mprotect", 1104 | "number": "0x120" 1105 | }, 1106 | "0x121": { 1107 | "name": "alloc", 1108 | "number": "0x121" 1109 | }, 1110 | "0x122": { 1111 | "name": "free", 1112 | "number": "0x122" 1113 | }, 1114 | "0x123": { 1115 | "name": "statx", 1116 | "number": "0x123" 1117 | }, 1118 | "0x124": { 1119 | "name": "pgetevents", 1120 | "number": "0x124" 1121 | }, 1122 | "0x125": { 1123 | "name": "rseq", 1124 | "number": "0x125" 1125 | }, 1126 | "0x126": { 1127 | "name": "load", 1128 | "number": "0x126" 1129 | }, 1130 | "0x193": { 1131 | "name": "gettime64", 1132 | "number": "0x193" 1133 | }, 1134 | "0x194": { 1135 | "name": "settime64", 1136 | "number": "0x194" 1137 | }, 1138 | "0x195": { 1139 | "name": "adjtime64", 1140 | "number": "0x195" 1141 | }, 1142 | "0x196": { 1143 | "name": "time64", 1144 | "number": "0x196" 1145 | }, 1146 | "0x197": { 1147 | "name": "time64", 1148 | "number": "0x197" 1149 | }, 1150 | "0x198": { 1151 | "name": "gettime64", 1152 | "number": "0x198" 1153 | }, 1154 | "0x199": { 1155 | "name": "settime64", 1156 | "number": "0x199" 1157 | }, 1158 | "0x19a": { 1159 | "name": "gettime64", 1160 | "number": "0x19a" 1161 | }, 1162 | "0x19b": { 1163 | "name": "settime64", 1164 | "number": "0x19b" 1165 | }, 1166 | "0x19c": { 1167 | "name": "time64", 1168 | "number": "0x19c" 1169 | }, 1170 | "0x19d": { 1171 | "name": "time64", 1172 | "number": "0x19d" 1173 | }, 1174 | "0x19e": { 1175 | "name": "time64", 1176 | "number": "0x19e" 1177 | }, 1178 | "0x1a0": { 1179 | "name": "time64", 1180 | "number": "0x1a0" 1181 | }, 1182 | "0x1a1": { 1183 | "name": "time64", 1184 | "number": "0x1a1" 1185 | }, 1186 | "0x1a2": { 1187 | "name": "time64", 1188 | "number": "0x1a2" 1189 | }, 1190 | "0x1a3": { 1191 | "name": "time64", 1192 | "number": "0x1a3" 1193 | }, 1194 | "0x1a4": { 1195 | "name": "time64", 1196 | "number": "0x1a4" 1197 | }, 1198 | "0x1a5": { 1199 | "name": "time64", 1200 | "number": "0x1a5" 1201 | }, 1202 | "0x1a6": { 1203 | "name": "time64", 1204 | "number": "0x1a6" 1205 | }, 1206 | "0x1a7": { 1207 | "name": "time64", 1208 | "number": "0x1a7" 1209 | }, 1210 | "0x1a8": { 1211 | "name": "signal", 1212 | "number": "0x1a8" 1213 | }, 1214 | "0x1a9": { 1215 | "name": "setup", 1216 | "number": "0x1a9" 1217 | }, 1218 | "0x1aa": { 1219 | "name": "enter", 1220 | "number": "0x1aa" 1221 | }, 1222 | "0x1ab": { 1223 | "name": "register", 1224 | "number": "0x1ab" 1225 | }, 1226 | "0x1ac": { 1227 | "name": "tree", 1228 | "number": "0x1ac" 1229 | }, 1230 | "0x1ad": { 1231 | "name": "mount", 1232 | "number": "0x1ad" 1233 | }, 1234 | "0x1ae": { 1235 | "name": "fsopen", 1236 | "number": "0x1ae" 1237 | }, 1238 | "0x1af": { 1239 | "name": "fsconfig", 1240 | "number": "0x1af" 1241 | }, 1242 | "0x1b0": { 1243 | "name": "fsmount", 1244 | "number": "0x1b0" 1245 | }, 1246 | "0x1b1": { 1247 | "name": "fspick", 1248 | "number": "0x1b1" 1249 | }, 1250 | "0x1b2": { 1251 | "name": "open", 1252 | "number": "0x1b2" 1253 | }, 1254 | "0x1b3": { 1255 | "name": "clone3", 1256 | "number": "0x1b3" 1257 | }, 1258 | "0x1b4": { 1259 | "name": "range", 1260 | "number": "0x1b4" 1261 | }, 1262 | "0x1b5": { 1263 | "name": "openat2", 1264 | "number": "0x1b5" 1265 | }, 1266 | "0x1b6": { 1267 | "name": "getfd", 1268 | "number": "0x1b6" 1269 | }, 1270 | "0x1b7": { 1271 | "name": "faccessat2", 1272 | "parameters": ["int", "cstring", "int", "int"], 1273 | "number": "0x1b7" 1274 | }, 1275 | "0x1b8": { 1276 | "name": "madvise", 1277 | "number": "0x1b8" 1278 | }, 1279 | "0x1b9": { 1280 | "name": "pwait2", 1281 | "number": "0x1b9" 1282 | }, 1283 | "0x1ba": { 1284 | "name": "setattr", 1285 | "number": "0x1ba" 1286 | }, 1287 | "0x1bc": { 1288 | "name": "ruleset", 1289 | "number": "0x1bc" 1290 | }, 1291 | "0x1bd": { 1292 | "name": "rule", 1293 | "number": "0x1bd" 1294 | }, 1295 | "0x1be": { 1296 | "name": "self", 1297 | "number": "0x1be" 1298 | }, 1299 | "0x1bf": { 1300 | "name": "syscalls", 1301 | "number": "0x1bf" 1302 | } 1303 | } 1304 | -------------------------------------------------------------------------------- /main.py: -------------------------------------------------------------------------------- 1 | import json 2 | import frida 3 | import signal 4 | import sys 5 | 6 | events = [] 7 | 8 | 9 | def signal_handler(sig, frame): 10 | buffer = json.dumps({ 11 | "metadata": { 12 | "application": "TODO", 13 | "timeStarted": 1, 14 | "timeEnded": 5, 15 | }, 16 | "events": events 17 | }) 18 | with open('/tmp/x.json', 'w') as fd: 19 | fd.write(buffer) 20 | sys.exit(0) 21 | 22 | # TODO: Add argument parser 23 | # TODO: Syscall data should be passed to our frida script. RPC || Modify as required 24 | if __name__ == '__main__': 25 | appname = 'your.app.name.here' # Can't push with this naturally 26 | agentPath = './agents/arm64.default.js' 27 | syscallData = './data/arm64.json' 28 | styledOutput = True 29 | 30 | with open(agentPath, 'r') as fd: 31 | agentCode = fd.read() 32 | with open(syscallData, 'r') as fd: 33 | syscalls = json.load(fd) 34 | 35 | 36 | def onMessage(message, payload): 37 | syscallContext = message['payload'] 38 | events.append(syscallContext) 39 | 40 | 41 | device = frida.get_usb_device() 42 | pid = device.spawn([appname]) # TODO: Modify my initial script to support attaching and spawning 43 | session = device.attach(pid) 44 | script = session.create_script(agentCode) 45 | script.on("message", onMessage) 46 | script.load() 47 | device.resume(pid) 48 | 49 | signal.signal(signal.SIGINT, signal_handler) 50 | print('Control+C when your done, or the app crashes (TODO)') 51 | 52 | while 1==1: 53 | input() -------------------------------------------------------------------------------- /parseSyscallNumbers.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | import json 3 | 4 | if __name__ == '__main__': 5 | with open('./syscalls.txt') as fd: 6 | syscalls = fd.readlines() 7 | 8 | syscallMap = {} 9 | for line in syscalls: 10 | if "#define" in line: 11 | start = line.rfind('_') 12 | end = line.rfind(' ') 13 | syscall = line[start + 1:end] 14 | number = (line[end:]) 15 | if len(syscall) > 0 and len(number) > 0 and syscall != 'SYSCALL(x,': 16 | number = hex(int(number)) 17 | syscallMap[number] = { 18 | "name": syscall, 19 | "number": number 20 | } 21 | 22 | print(json.dumps(syscallMap)) -------------------------------------------------------------------------------- /reporter.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python3 2 | 3 | import json 4 | 5 | outFile = '/tmp/x.html' 6 | inFile = '/tmp/x.json' 7 | mode = 'html' 8 | regex = '.*' # TODO(connordp): Actually implement this. 9 | htmlBase = './table.html' 10 | 11 | 12 | if __name__ == '__main__': 13 | 14 | with open(inFile, 'r') as fd: 15 | obj = json.load(fd) 16 | with open(htmlBase, 'r') as fd: 17 | html = fd.read() 18 | 19 | # TODO(connordp): Template engines exist 20 | 21 | data = '' 22 | events = obj['events'] 23 | i = 1 24 | for event in events: 25 | # Only parse events containg the keyword open|access 26 | onEnter = event['onEnter'] 27 | onExit = event['onExit'] 28 | if onEnter.get('syscall') is not None: # When syscall isn't defined, onEnter == {}. Bug? 29 | syscall = onEnter['syscall']['name'] 30 | 31 | eventData = "" 32 | eventData += f'{i}' 33 | eventData += f'{onEnter["tid"]}' 34 | eventData += f'{onEnter["syscall"]["name"]}' 35 | if onEnter["syscall"].get('arguments') is not None: 36 | arguments = onEnter["syscall"]["arguments"] 37 | x = "" 38 | i = 0 39 | for arg in arguments: 40 | x += f'{arguments[i]["arg"]}={arguments[i]["value"]},' 41 | i += 1 42 | x = x[:-1] 43 | eventData += f'{x}' 44 | else: 45 | eventData += '' 46 | eventData += f'{onExit["syscall"]["returnValue"]}' 47 | i = i + 1 48 | 49 | 50 | eventData += "" 51 | data += eventData 52 | 53 | html = html.replace('', data) 54 | with open(outFile, 'w') as fd: 55 | fd.write(html) 56 | 57 | print('Wrote event data to ' + outFile) -------------------------------------------------------------------------------- /syscalls.txt: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 2 | #include 3 | 4 | /* 5 | * This file contains the system call numbers, based on the 6 | * layout of the x86-64 architecture, which embeds the 7 | * pointer to the syscall in the table. 8 | * 9 | * As a basic principle, no duplication of functionality 10 | * should be added, e.g. we don't use lseek when llseek 11 | * is present. New architectures should use this file 12 | * and implement the less feature-full calls in user space. 13 | */ 14 | 15 | #ifndef __SYSCALL 16 | #define __SYSCALL(x, y) 17 | #endif 18 | 19 | #if __BITS_PER_LONG == 32 || defined(__SYSCALL_COMPAT) 20 | #define __SC_3264(_nr, _32, _64) __SYSCALL(_nr, _32) 21 | #else 22 | #define __SC_3264(_nr, _32, _64) __SYSCALL(_nr, _64) 23 | #endif 24 | 25 | #ifdef __SYSCALL_COMPAT 26 | #define __SC_COMP(_nr, _sys, _comp) __SYSCALL(_nr, _comp) 27 | #define __SC_COMP_3264(_nr, _32, _64, _comp) __SYSCALL(_nr, _comp) 28 | #else 29 | #define __SC_COMP(_nr, _sys, _comp) __SYSCALL(_nr, _sys) 30 | #define __SC_COMP_3264(_nr, _32, _64, _comp) __SC_3264(_nr, _32, _64) 31 | #endif 32 | 33 | #define __NR_io_setup 0 34 | __SC_COMP(__NR_io_setup, sys_io_setup, compat_sys_io_setup) 35 | #define __NR_io_destroy 1 36 | __SYSCALL(__NR_io_destroy, sys_io_destroy) 37 | #define __NR_io_submit 2 38 | __SC_COMP(__NR_io_submit, sys_io_submit, compat_sys_io_submit) 39 | #define __NR_io_cancel 3 40 | __SYSCALL(__NR_io_cancel, sys_io_cancel) 41 | #if defined(__ARCH_WANT_TIME32_SYSCALLS) || __BITS_PER_LONG != 32 42 | #define __NR_io_getevents 4 43 | __SC_3264(__NR_io_getevents, sys_io_getevents_time32, sys_io_getevents) 44 | #endif 45 | 46 | /* fs/xattr.c */ 47 | #define __NR_setxattr 5 48 | __SYSCALL(__NR_setxattr, sys_setxattr) 49 | #define __NR_lsetxattr 6 50 | __SYSCALL(__NR_lsetxattr, sys_lsetxattr) 51 | #define __NR_fsetxattr 7 52 | __SYSCALL(__NR_fsetxattr, sys_fsetxattr) 53 | #define __NR_getxattr 8 54 | __SYSCALL(__NR_getxattr, sys_getxattr) 55 | #define __NR_lgetxattr 9 56 | __SYSCALL(__NR_lgetxattr, sys_lgetxattr) 57 | #define __NR_fgetxattr 10 58 | __SYSCALL(__NR_fgetxattr, sys_fgetxattr) 59 | #define __NR_listxattr 11 60 | __SYSCALL(__NR_listxattr, sys_listxattr) 61 | #define __NR_llistxattr 12 62 | __SYSCALL(__NR_llistxattr, sys_llistxattr) 63 | #define __NR_flistxattr 13 64 | __SYSCALL(__NR_flistxattr, sys_flistxattr) 65 | #define __NR_removexattr 14 66 | __SYSCALL(__NR_removexattr, sys_removexattr) 67 | #define __NR_lremovexattr 15 68 | __SYSCALL(__NR_lremovexattr, sys_lremovexattr) 69 | #define __NR_fremovexattr 16 70 | __SYSCALL(__NR_fremovexattr, sys_fremovexattr) 71 | 72 | /* fs/dcache.c */ 73 | #define __NR_getcwd 17 74 | __SYSCALL(__NR_getcwd, sys_getcwd) 75 | 76 | /* fs/cookies.c */ 77 | #define __NR_lookup_dcookie 18 78 | __SC_COMP(__NR_lookup_dcookie, sys_lookup_dcookie, compat_sys_lookup_dcookie) 79 | 80 | /* fs/eventfd.c */ 81 | #define __NR_eventfd2 19 82 | __SYSCALL(__NR_eventfd2, sys_eventfd2) 83 | 84 | /* fs/eventpoll.c */ 85 | #define __NR_epoll_create1 20 86 | __SYSCALL(__NR_epoll_create1, sys_epoll_create1) 87 | #define __NR_epoll_ctl 21 88 | __SYSCALL(__NR_epoll_ctl, sys_epoll_ctl) 89 | #define __NR_epoll_pwait 22 90 | __SC_COMP(__NR_epoll_pwait, sys_epoll_pwait, compat_sys_epoll_pwait) 91 | 92 | /* fs/fcntl.c */ 93 | #define __NR_dup 23 94 | __SYSCALL(__NR_dup, sys_dup) 95 | #define __NR_dup3 24 96 | __SYSCALL(__NR_dup3, sys_dup3) 97 | #define __NR3264_fcntl 25 98 | __SC_COMP_3264(__NR3264_fcntl, sys_fcntl64, sys_fcntl, compat_sys_fcntl64) 99 | 100 | /* fs/inotify_user.c */ 101 | #define __NR_inotify_init1 26 102 | __SYSCALL(__NR_inotify_init1, sys_inotify_init1) 103 | #define __NR_inotify_add_watch 27 104 | __SYSCALL(__NR_inotify_add_watch, sys_inotify_add_watch) 105 | #define __NR_inotify_rm_watch 28 106 | __SYSCALL(__NR_inotify_rm_watch, sys_inotify_rm_watch) 107 | 108 | /* fs/ioctl.c */ 109 | #define __NR_ioctl 29 110 | __SC_COMP(__NR_ioctl, sys_ioctl, compat_sys_ioctl) 111 | 112 | /* fs/ioprio.c */ 113 | #define __NR_ioprio_set 30 114 | __SYSCALL(__NR_ioprio_set, sys_ioprio_set) 115 | #define __NR_ioprio_get 31 116 | __SYSCALL(__NR_ioprio_get, sys_ioprio_get) 117 | 118 | /* fs/locks.c */ 119 | #define __NR_flock 32 120 | __SYSCALL(__NR_flock, sys_flock) 121 | 122 | /* fs/namei.c */ 123 | #define __NR_mknodat 33 124 | __SYSCALL(__NR_mknodat, sys_mknodat) 125 | #define __NR_mkdirat 34 126 | __SYSCALL(__NR_mkdirat, sys_mkdirat) 127 | #define __NR_unlinkat 35 128 | __SYSCALL(__NR_unlinkat, sys_unlinkat) 129 | #define __NR_symlinkat 36 130 | __SYSCALL(__NR_symlinkat, sys_symlinkat) 131 | #define __NR_linkat 37 132 | __SYSCALL(__NR_linkat, sys_linkat) 133 | #ifdef __ARCH_WANT_RENAMEAT 134 | /* renameat is superseded with flags by renameat2 */ 135 | #define __NR_renameat 38 136 | __SYSCALL(__NR_renameat, sys_renameat) 137 | #endif /* __ARCH_WANT_RENAMEAT */ 138 | 139 | /* fs/namespace.c */ 140 | #define __NR_umount2 39 141 | __SYSCALL(__NR_umount2, sys_umount) 142 | #define __NR_mount 40 143 | __SYSCALL(__NR_mount, sys_mount) 144 | #define __NR_pivot_root 41 145 | __SYSCALL(__NR_pivot_root, sys_pivot_root) 146 | 147 | /* fs/nfsctl.c */ 148 | #define __NR_nfsservctl 42 149 | __SYSCALL(__NR_nfsservctl, sys_ni_syscall) 150 | 151 | /* fs/open.c */ 152 | #define __NR3264_statfs 43 153 | __SC_COMP_3264(__NR3264_statfs, sys_statfs64, sys_statfs, \ 154 | compat_sys_statfs64) 155 | #define __NR3264_fstatfs 44 156 | __SC_COMP_3264(__NR3264_fstatfs, sys_fstatfs64, sys_fstatfs, \ 157 | compat_sys_fstatfs64) 158 | #define __NR3264_truncate 45 159 | __SC_COMP_3264(__NR3264_truncate, sys_truncate64, sys_truncate, \ 160 | compat_sys_truncate64) 161 | #define __NR3264_ftruncate 46 162 | __SC_COMP_3264(__NR3264_ftruncate, sys_ftruncate64, sys_ftruncate, \ 163 | compat_sys_ftruncate64) 164 | 165 | #define __NR_fallocate 47 166 | __SC_COMP(__NR_fallocate, sys_fallocate, compat_sys_fallocate) 167 | #define __NR_faccessat 48 168 | __SYSCALL(__NR_faccessat, sys_faccessat) 169 | #define __NR_chdir 49 170 | __SYSCALL(__NR_chdir, sys_chdir) 171 | #define __NR_fchdir 50 172 | __SYSCALL(__NR_fchdir, sys_fchdir) 173 | #define __NR_chroot 51 174 | __SYSCALL(__NR_chroot, sys_chroot) 175 | #define __NR_fchmod 52 176 | __SYSCALL(__NR_fchmod, sys_fchmod) 177 | #define __NR_fchmodat 53 178 | __SYSCALL(__NR_fchmodat, sys_fchmodat) 179 | #define __NR_fchownat 54 180 | __SYSCALL(__NR_fchownat, sys_fchownat) 181 | #define __NR_fchown 55 182 | __SYSCALL(__NR_fchown, sys_fchown) 183 | #define __NR_openat 56 184 | __SYSCALL(__NR_openat, sys_openat) 185 | #define __NR_close 57 186 | __SYSCALL(__NR_close, sys_close) 187 | #define __NR_vhangup 58 188 | __SYSCALL(__NR_vhangup, sys_vhangup) 189 | 190 | /* fs/pipe.c */ 191 | #define __NR_pipe2 59 192 | __SYSCALL(__NR_pipe2, sys_pipe2) 193 | 194 | /* fs/quota.c */ 195 | #define __NR_quotactl 60 196 | __SYSCALL(__NR_quotactl, sys_quotactl) 197 | 198 | /* fs/readdir.c */ 199 | #define __NR_getdents64 61 200 | __SYSCALL(__NR_getdents64, sys_getdents64) 201 | 202 | /* fs/read_write.c */ 203 | #define __NR3264_lseek 62 204 | __SC_3264(__NR3264_lseek, sys_llseek, sys_lseek) 205 | #define __NR_read 63 206 | __SYSCALL(__NR_read, sys_read) 207 | #define __NR_write 64 208 | __SYSCALL(__NR_write, sys_write) 209 | #define __NR_readv 65 210 | __SC_COMP(__NR_readv, sys_readv, sys_readv) 211 | #define __NR_writev 66 212 | __SC_COMP(__NR_writev, sys_writev, sys_writev) 213 | #define __NR_pread64 67 214 | __SC_COMP(__NR_pread64, sys_pread64, compat_sys_pread64) 215 | #define __NR_pwrite64 68 216 | __SC_COMP(__NR_pwrite64, sys_pwrite64, compat_sys_pwrite64) 217 | #define __NR_preadv 69 218 | __SC_COMP(__NR_preadv, sys_preadv, compat_sys_preadv) 219 | #define __NR_pwritev 70 220 | __SC_COMP(__NR_pwritev, sys_pwritev, compat_sys_pwritev) 221 | 222 | /* fs/sendfile.c */ 223 | #define __NR3264_sendfile 71 224 | __SYSCALL(__NR3264_sendfile, sys_sendfile64) 225 | 226 | /* fs/select.c */ 227 | #if defined(__ARCH_WANT_TIME32_SYSCALLS) || __BITS_PER_LONG != 32 228 | #define __NR_pselect6 72 229 | __SC_COMP_3264(__NR_pselect6, sys_pselect6_time32, sys_pselect6, compat_sys_pselect6_time32) 230 | #define __NR_ppoll 73 231 | __SC_COMP_3264(__NR_ppoll, sys_ppoll_time32, sys_ppoll, compat_sys_ppoll_time32) 232 | #endif 233 | 234 | /* fs/signalfd.c */ 235 | #define __NR_signalfd4 74 236 | __SC_COMP(__NR_signalfd4, sys_signalfd4, compat_sys_signalfd4) 237 | 238 | /* fs/splice.c */ 239 | #define __NR_vmsplice 75 240 | __SYSCALL(__NR_vmsplice, sys_vmsplice) 241 | #define __NR_splice 76 242 | __SYSCALL(__NR_splice, sys_splice) 243 | #define __NR_tee 77 244 | __SYSCALL(__NR_tee, sys_tee) 245 | 246 | /* fs/stat.c */ 247 | #define __NR_readlinkat 78 248 | __SYSCALL(__NR_readlinkat, sys_readlinkat) 249 | #if defined(__ARCH_WANT_NEW_STAT) || defined(__ARCH_WANT_STAT64) 250 | #define __NR3264_fstatat 79 251 | __SC_3264(__NR3264_fstatat, sys_fstatat64, sys_newfstatat) 252 | #define __NR3264_fstat 80 253 | __SC_3264(__NR3264_fstat, sys_fstat64, sys_newfstat) 254 | #endif 255 | 256 | /* fs/sync.c */ 257 | #define __NR_sync 81 258 | __SYSCALL(__NR_sync, sys_sync) 259 | #define __NR_fsync 82 260 | __SYSCALL(__NR_fsync, sys_fsync) 261 | #define __NR_fdatasync 83 262 | __SYSCALL(__NR_fdatasync, sys_fdatasync) 263 | #ifdef __ARCH_WANT_SYNC_FILE_RANGE2 264 | #define __NR_sync_file_range2 84 265 | __SC_COMP(__NR_sync_file_range2, sys_sync_file_range2, \ 266 | compat_sys_sync_file_range2) 267 | #else 268 | #define __NR_sync_file_range 84 269 | __SC_COMP(__NR_sync_file_range, sys_sync_file_range, \ 270 | compat_sys_sync_file_range) 271 | #endif 272 | 273 | /* fs/timerfd.c */ 274 | #define __NR_timerfd_create 85 275 | __SYSCALL(__NR_timerfd_create, sys_timerfd_create) 276 | #if defined(__ARCH_WANT_TIME32_SYSCALLS) || __BITS_PER_LONG != 32 277 | #define __NR_timerfd_settime 86 278 | __SC_3264(__NR_timerfd_settime, sys_timerfd_settime32, \ 279 | sys_timerfd_settime) 280 | #define __NR_timerfd_gettime 87 281 | __SC_3264(__NR_timerfd_gettime, sys_timerfd_gettime32, \ 282 | sys_timerfd_gettime) 283 | #endif 284 | 285 | /* fs/utimes.c */ 286 | #if defined(__ARCH_WANT_TIME32_SYSCALLS) || __BITS_PER_LONG != 32 287 | #define __NR_utimensat 88 288 | __SC_3264(__NR_utimensat, sys_utimensat_time32, sys_utimensat) 289 | #endif 290 | 291 | /* kernel/acct.c */ 292 | #define __NR_acct 89 293 | __SYSCALL(__NR_acct, sys_acct) 294 | 295 | /* kernel/capability.c */ 296 | #define __NR_capget 90 297 | __SYSCALL(__NR_capget, sys_capget) 298 | #define __NR_capset 91 299 | __SYSCALL(__NR_capset, sys_capset) 300 | 301 | /* kernel/exec_domain.c */ 302 | #define __NR_personality 92 303 | __SYSCALL(__NR_personality, sys_personality) 304 | 305 | /* kernel/exit.c */ 306 | #define __NR_exit 93 307 | __SYSCALL(__NR_exit, sys_exit) 308 | #define __NR_exit_group 94 309 | __SYSCALL(__NR_exit_group, sys_exit_group) 310 | #define __NR_waitid 95 311 | __SC_COMP(__NR_waitid, sys_waitid, compat_sys_waitid) 312 | 313 | /* kernel/fork.c */ 314 | #define __NR_set_tid_address 96 315 | __SYSCALL(__NR_set_tid_address, sys_set_tid_address) 316 | #define __NR_unshare 97 317 | __SYSCALL(__NR_unshare, sys_unshare) 318 | 319 | /* kernel/futex.c */ 320 | #if defined(__ARCH_WANT_TIME32_SYSCALLS) || __BITS_PER_LONG != 32 321 | #define __NR_futex 98 322 | __SC_3264(__NR_futex, sys_futex_time32, sys_futex) 323 | #endif 324 | #define __NR_set_robust_list 99 325 | __SC_COMP(__NR_set_robust_list, sys_set_robust_list, \ 326 | compat_sys_set_robust_list) 327 | #define __NR_get_robust_list 100 328 | __SC_COMP(__NR_get_robust_list, sys_get_robust_list, \ 329 | compat_sys_get_robust_list) 330 | 331 | /* kernel/hrtimer.c */ 332 | #if defined(__ARCH_WANT_TIME32_SYSCALLS) || __BITS_PER_LONG != 32 333 | #define __NR_nanosleep 101 334 | __SC_3264(__NR_nanosleep, sys_nanosleep_time32, sys_nanosleep) 335 | #endif 336 | 337 | /* kernel/itimer.c */ 338 | #define __NR_getitimer 102 339 | __SC_COMP(__NR_getitimer, sys_getitimer, compat_sys_getitimer) 340 | #define __NR_setitimer 103 341 | __SC_COMP(__NR_setitimer, sys_setitimer, compat_sys_setitimer) 342 | 343 | /* kernel/kexec.c */ 344 | #define __NR_kexec_load 104 345 | __SC_COMP(__NR_kexec_load, sys_kexec_load, compat_sys_kexec_load) 346 | 347 | /* kernel/module.c */ 348 | #define __NR_init_module 105 349 | __SYSCALL(__NR_init_module, sys_init_module) 350 | #define __NR_delete_module 106 351 | __SYSCALL(__NR_delete_module, sys_delete_module) 352 | 353 | /* kernel/posix-timers.c */ 354 | #define __NR_timer_create 107 355 | __SC_COMP(__NR_timer_create, sys_timer_create, compat_sys_timer_create) 356 | #if defined(__ARCH_WANT_TIME32_SYSCALLS) || __BITS_PER_LONG != 32 357 | #define __NR_timer_gettime 108 358 | __SC_3264(__NR_timer_gettime, sys_timer_gettime32, sys_timer_gettime) 359 | #endif 360 | #define __NR_timer_getoverrun 109 361 | __SYSCALL(__NR_timer_getoverrun, sys_timer_getoverrun) 362 | #if defined(__ARCH_WANT_TIME32_SYSCALLS) || __BITS_PER_LONG != 32 363 | #define __NR_timer_settime 110 364 | __SC_3264(__NR_timer_settime, sys_timer_settime32, sys_timer_settime) 365 | #endif 366 | #define __NR_timer_delete 111 367 | __SYSCALL(__NR_timer_delete, sys_timer_delete) 368 | #if defined(__ARCH_WANT_TIME32_SYSCALLS) || __BITS_PER_LONG != 32 369 | #define __NR_clock_settime 112 370 | __SC_3264(__NR_clock_settime, sys_clock_settime32, sys_clock_settime) 371 | #define __NR_clock_gettime 113 372 | __SC_3264(__NR_clock_gettime, sys_clock_gettime32, sys_clock_gettime) 373 | #define __NR_clock_getres 114 374 | __SC_3264(__NR_clock_getres, sys_clock_getres_time32, sys_clock_getres) 375 | #define __NR_clock_nanosleep 115 376 | __SC_3264(__NR_clock_nanosleep, sys_clock_nanosleep_time32, \ 377 | sys_clock_nanosleep) 378 | #endif 379 | 380 | /* kernel/printk.c */ 381 | #define __NR_syslog 116 382 | __SYSCALL(__NR_syslog, sys_syslog) 383 | 384 | /* kernel/ptrace.c */ 385 | #define __NR_ptrace 117 386 | __SYSCALL(__NR_ptrace, sys_ptrace) 387 | 388 | /* kernel/sched/core.c */ 389 | #define __NR_sched_setparam 118 390 | __SYSCALL(__NR_sched_setparam, sys_sched_setparam) 391 | #define __NR_sched_setscheduler 119 392 | __SYSCALL(__NR_sched_setscheduler, sys_sched_setscheduler) 393 | #define __NR_sched_getscheduler 120 394 | __SYSCALL(__NR_sched_getscheduler, sys_sched_getscheduler) 395 | #define __NR_sched_getparam 121 396 | __SYSCALL(__NR_sched_getparam, sys_sched_getparam) 397 | #define __NR_sched_setaffinity 122 398 | __SC_COMP(__NR_sched_setaffinity, sys_sched_setaffinity, \ 399 | compat_sys_sched_setaffinity) 400 | #define __NR_sched_getaffinity 123 401 | __SC_COMP(__NR_sched_getaffinity, sys_sched_getaffinity, \ 402 | compat_sys_sched_getaffinity) 403 | #define __NR_sched_yield 124 404 | __SYSCALL(__NR_sched_yield, sys_sched_yield) 405 | #define __NR_sched_get_priority_max 125 406 | __SYSCALL(__NR_sched_get_priority_max, sys_sched_get_priority_max) 407 | #define __NR_sched_get_priority_min 126 408 | __SYSCALL(__NR_sched_get_priority_min, sys_sched_get_priority_min) 409 | #if defined(__ARCH_WANT_TIME32_SYSCALLS) || __BITS_PER_LONG != 32 410 | #define __NR_sched_rr_get_interval 127 411 | __SC_3264(__NR_sched_rr_get_interval, sys_sched_rr_get_interval_time32, \ 412 | sys_sched_rr_get_interval) 413 | #endif 414 | 415 | /* kernel/signal.c */ 416 | #define __NR_restart_syscall 128 417 | __SYSCALL(__NR_restart_syscall, sys_restart_syscall) 418 | #define __NR_kill 129 419 | __SYSCALL(__NR_kill, sys_kill) 420 | #define __NR_tkill 130 421 | __SYSCALL(__NR_tkill, sys_tkill) 422 | #define __NR_tgkill 131 423 | __SYSCALL(__NR_tgkill, sys_tgkill) 424 | #define __NR_sigaltstack 132 425 | __SC_COMP(__NR_sigaltstack, sys_sigaltstack, compat_sys_sigaltstack) 426 | #define __NR_rt_sigsuspend 133 427 | __SC_COMP(__NR_rt_sigsuspend, sys_rt_sigsuspend, compat_sys_rt_sigsuspend) 428 | #define __NR_rt_sigaction 134 429 | __SC_COMP(__NR_rt_sigaction, sys_rt_sigaction, compat_sys_rt_sigaction) 430 | #define __NR_rt_sigprocmask 135 431 | __SC_COMP(__NR_rt_sigprocmask, sys_rt_sigprocmask, compat_sys_rt_sigprocmask) 432 | #define __NR_rt_sigpending 136 433 | __SC_COMP(__NR_rt_sigpending, sys_rt_sigpending, compat_sys_rt_sigpending) 434 | #if defined(__ARCH_WANT_TIME32_SYSCALLS) || __BITS_PER_LONG != 32 435 | #define __NR_rt_sigtimedwait 137 436 | __SC_COMP_3264(__NR_rt_sigtimedwait, sys_rt_sigtimedwait_time32, \ 437 | sys_rt_sigtimedwait, compat_sys_rt_sigtimedwait_time32) 438 | #endif 439 | #define __NR_rt_sigqueueinfo 138 440 | __SC_COMP(__NR_rt_sigqueueinfo, sys_rt_sigqueueinfo, \ 441 | compat_sys_rt_sigqueueinfo) 442 | #define __NR_rt_sigreturn 139 443 | __SC_COMP(__NR_rt_sigreturn, sys_rt_sigreturn, compat_sys_rt_sigreturn) 444 | 445 | /* kernel/sys.c */ 446 | #define __NR_setpriority 140 447 | __SYSCALL(__NR_setpriority, sys_setpriority) 448 | #define __NR_getpriority 141 449 | __SYSCALL(__NR_getpriority, sys_getpriority) 450 | #define __NR_reboot 142 451 | __SYSCALL(__NR_reboot, sys_reboot) 452 | #define __NR_setregid 143 453 | __SYSCALL(__NR_setregid, sys_setregid) 454 | #define __NR_setgid 144 455 | __SYSCALL(__NR_setgid, sys_setgid) 456 | #define __NR_setreuid 145 457 | __SYSCALL(__NR_setreuid, sys_setreuid) 458 | #define __NR_setuid 146 459 | __SYSCALL(__NR_setuid, sys_setuid) 460 | #define __NR_setresuid 147 461 | __SYSCALL(__NR_setresuid, sys_setresuid) 462 | #define __NR_getresuid 148 463 | __SYSCALL(__NR_getresuid, sys_getresuid) 464 | #define __NR_setresgid 149 465 | __SYSCALL(__NR_setresgid, sys_setresgid) 466 | #define __NR_getresgid 150 467 | __SYSCALL(__NR_getresgid, sys_getresgid) 468 | #define __NR_setfsuid 151 469 | __SYSCALL(__NR_setfsuid, sys_setfsuid) 470 | #define __NR_setfsgid 152 471 | __SYSCALL(__NR_setfsgid, sys_setfsgid) 472 | #define __NR_times 153 473 | __SC_COMP(__NR_times, sys_times, compat_sys_times) 474 | #define __NR_setpgid 154 475 | __SYSCALL(__NR_setpgid, sys_setpgid) 476 | #define __NR_getpgid 155 477 | __SYSCALL(__NR_getpgid, sys_getpgid) 478 | #define __NR_getsid 156 479 | __SYSCALL(__NR_getsid, sys_getsid) 480 | #define __NR_setsid 157 481 | __SYSCALL(__NR_setsid, sys_setsid) 482 | #define __NR_getgroups 158 483 | __SYSCALL(__NR_getgroups, sys_getgroups) 484 | #define __NR_setgroups 159 485 | __SYSCALL(__NR_setgroups, sys_setgroups) 486 | #define __NR_uname 160 487 | __SYSCALL(__NR_uname, sys_newuname) 488 | #define __NR_sethostname 161 489 | __SYSCALL(__NR_sethostname, sys_sethostname) 490 | #define __NR_setdomainname 162 491 | __SYSCALL(__NR_setdomainname, sys_setdomainname) 492 | 493 | #ifdef __ARCH_WANT_SET_GET_RLIMIT 494 | /* getrlimit and setrlimit are superseded with prlimit64 */ 495 | #define __NR_getrlimit 163 496 | __SC_COMP(__NR_getrlimit, sys_getrlimit, compat_sys_getrlimit) 497 | #define __NR_setrlimit 164 498 | __SC_COMP(__NR_setrlimit, sys_setrlimit, compat_sys_setrlimit) 499 | #endif 500 | 501 | #define __NR_getrusage 165 502 | __SC_COMP(__NR_getrusage, sys_getrusage, compat_sys_getrusage) 503 | #define __NR_umask 166 504 | __SYSCALL(__NR_umask, sys_umask) 505 | #define __NR_prctl 167 506 | __SYSCALL(__NR_prctl, sys_prctl) 507 | #define __NR_getcpu 168 508 | __SYSCALL(__NR_getcpu, sys_getcpu) 509 | 510 | /* kernel/time.c */ 511 | #if defined(__ARCH_WANT_TIME32_SYSCALLS) || __BITS_PER_LONG != 32 512 | #define __NR_gettimeofday 169 513 | __SC_COMP(__NR_gettimeofday, sys_gettimeofday, compat_sys_gettimeofday) 514 | #define __NR_settimeofday 170 515 | __SC_COMP(__NR_settimeofday, sys_settimeofday, compat_sys_settimeofday) 516 | #define __NR_adjtimex 171 517 | __SC_3264(__NR_adjtimex, sys_adjtimex_time32, sys_adjtimex) 518 | #endif 519 | 520 | /* kernel/sys.c */ 521 | #define __NR_getpid 172 522 | __SYSCALL(__NR_getpid, sys_getpid) 523 | #define __NR_getppid 173 524 | __SYSCALL(__NR_getppid, sys_getppid) 525 | #define __NR_getuid 174 526 | __SYSCALL(__NR_getuid, sys_getuid) 527 | #define __NR_geteuid 175 528 | __SYSCALL(__NR_geteuid, sys_geteuid) 529 | #define __NR_getgid 176 530 | __SYSCALL(__NR_getgid, sys_getgid) 531 | #define __NR_getegid 177 532 | __SYSCALL(__NR_getegid, sys_getegid) 533 | #define __NR_gettid 178 534 | __SYSCALL(__NR_gettid, sys_gettid) 535 | #define __NR_sysinfo 179 536 | __SC_COMP(__NR_sysinfo, sys_sysinfo, compat_sys_sysinfo) 537 | 538 | /* ipc/mqueue.c */ 539 | #define __NR_mq_open 180 540 | __SC_COMP(__NR_mq_open, sys_mq_open, compat_sys_mq_open) 541 | #define __NR_mq_unlink 181 542 | __SYSCALL(__NR_mq_unlink, sys_mq_unlink) 543 | #if defined(__ARCH_WANT_TIME32_SYSCALLS) || __BITS_PER_LONG != 32 544 | #define __NR_mq_timedsend 182 545 | __SC_3264(__NR_mq_timedsend, sys_mq_timedsend_time32, sys_mq_timedsend) 546 | #define __NR_mq_timedreceive 183 547 | __SC_3264(__NR_mq_timedreceive, sys_mq_timedreceive_time32, \ 548 | sys_mq_timedreceive) 549 | #endif 550 | #define __NR_mq_notify 184 551 | __SC_COMP(__NR_mq_notify, sys_mq_notify, compat_sys_mq_notify) 552 | #define __NR_mq_getsetattr 185 553 | __SC_COMP(__NR_mq_getsetattr, sys_mq_getsetattr, compat_sys_mq_getsetattr) 554 | 555 | /* ipc/msg.c */ 556 | #define __NR_msgget 186 557 | __SYSCALL(__NR_msgget, sys_msgget) 558 | #define __NR_msgctl 187 559 | __SC_COMP(__NR_msgctl, sys_msgctl, compat_sys_msgctl) 560 | #define __NR_msgrcv 188 561 | __SC_COMP(__NR_msgrcv, sys_msgrcv, compat_sys_msgrcv) 562 | #define __NR_msgsnd 189 563 | __SC_COMP(__NR_msgsnd, sys_msgsnd, compat_sys_msgsnd) 564 | 565 | /* ipc/sem.c */ 566 | #define __NR_semget 190 567 | __SYSCALL(__NR_semget, sys_semget) 568 | #define __NR_semctl 191 569 | __SC_COMP(__NR_semctl, sys_semctl, compat_sys_semctl) 570 | #if defined(__ARCH_WANT_TIME32_SYSCALLS) || __BITS_PER_LONG != 32 571 | #define __NR_semtimedop 192 572 | __SC_3264(__NR_semtimedop, sys_semtimedop_time32, sys_semtimedop) 573 | #endif 574 | #define __NR_semop 193 575 | __SYSCALL(__NR_semop, sys_semop) 576 | 577 | /* ipc/shm.c */ 578 | #define __NR_shmget 194 579 | __SYSCALL(__NR_shmget, sys_shmget) 580 | #define __NR_shmctl 195 581 | __SC_COMP(__NR_shmctl, sys_shmctl, compat_sys_shmctl) 582 | #define __NR_shmat 196 583 | __SC_COMP(__NR_shmat, sys_shmat, compat_sys_shmat) 584 | #define __NR_shmdt 197 585 | __SYSCALL(__NR_shmdt, sys_shmdt) 586 | 587 | /* net/socket.c */ 588 | #define __NR_socket 198 589 | __SYSCALL(__NR_socket, sys_socket) 590 | #define __NR_socketpair 199 591 | __SYSCALL(__NR_socketpair, sys_socketpair) 592 | #define __NR_bind 200 593 | __SYSCALL(__NR_bind, sys_bind) 594 | #define __NR_listen 201 595 | __SYSCALL(__NR_listen, sys_listen) 596 | #define __NR_accept 202 597 | __SYSCALL(__NR_accept, sys_accept) 598 | #define __NR_connect 203 599 | __SYSCALL(__NR_connect, sys_connect) 600 | #define __NR_getsockname 204 601 | __SYSCALL(__NR_getsockname, sys_getsockname) 602 | #define __NR_getpeername 205 603 | __SYSCALL(__NR_getpeername, sys_getpeername) 604 | #define __NR_sendto 206 605 | __SYSCALL(__NR_sendto, sys_sendto) 606 | #define __NR_recvfrom 207 607 | __SC_COMP(__NR_recvfrom, sys_recvfrom, compat_sys_recvfrom) 608 | #define __NR_setsockopt 208 609 | __SC_COMP(__NR_setsockopt, sys_setsockopt, sys_setsockopt) 610 | #define __NR_getsockopt 209 611 | __SC_COMP(__NR_getsockopt, sys_getsockopt, sys_getsockopt) 612 | #define __NR_shutdown 210 613 | __SYSCALL(__NR_shutdown, sys_shutdown) 614 | #define __NR_sendmsg 211 615 | __SC_COMP(__NR_sendmsg, sys_sendmsg, compat_sys_sendmsg) 616 | #define __NR_recvmsg 212 617 | __SC_COMP(__NR_recvmsg, sys_recvmsg, compat_sys_recvmsg) 618 | 619 | /* mm/filemap.c */ 620 | #define __NR_readahead 213 621 | __SC_COMP(__NR_readahead, sys_readahead, compat_sys_readahead) 622 | 623 | /* mm/nommu.c, also with MMU */ 624 | #define __NR_brk 214 625 | __SYSCALL(__NR_brk, sys_brk) 626 | #define __NR_munmap 215 627 | __SYSCALL(__NR_munmap, sys_munmap) 628 | #define __NR_mremap 216 629 | __SYSCALL(__NR_mremap, sys_mremap) 630 | 631 | /* security/keys/keyctl.c */ 632 | #define __NR_add_key 217 633 | __SYSCALL(__NR_add_key, sys_add_key) 634 | #define __NR_request_key 218 635 | __SYSCALL(__NR_request_key, sys_request_key) 636 | #define __NR_keyctl 219 637 | __SC_COMP(__NR_keyctl, sys_keyctl, compat_sys_keyctl) 638 | 639 | /* arch/example/kernel/sys_example.c */ 640 | #define __NR_clone 220 641 | __SYSCALL(__NR_clone, sys_clone) 642 | #define __NR_execve 221 643 | __SC_COMP(__NR_execve, sys_execve, compat_sys_execve) 644 | 645 | #define __NR3264_mmap 222 646 | __SC_3264(__NR3264_mmap, sys_mmap2, sys_mmap) 647 | /* mm/fadvise.c */ 648 | #define __NR3264_fadvise64 223 649 | __SC_COMP(__NR3264_fadvise64, sys_fadvise64_64, compat_sys_fadvise64_64) 650 | 651 | /* mm/, CONFIG_MMU only */ 652 | #ifndef __ARCH_NOMMU 653 | #define __NR_swapon 224 654 | __SYSCALL(__NR_swapon, sys_swapon) 655 | #define __NR_swapoff 225 656 | __SYSCALL(__NR_swapoff, sys_swapoff) 657 | #define __NR_mprotect 226 658 | __SYSCALL(__NR_mprotect, sys_mprotect) 659 | #define __NR_msync 227 660 | __SYSCALL(__NR_msync, sys_msync) 661 | #define __NR_mlock 228 662 | __SYSCALL(__NR_mlock, sys_mlock) 663 | #define __NR_munlock 229 664 | __SYSCALL(__NR_munlock, sys_munlock) 665 | #define __NR_mlockall 230 666 | __SYSCALL(__NR_mlockall, sys_mlockall) 667 | #define __NR_munlockall 231 668 | __SYSCALL(__NR_munlockall, sys_munlockall) 669 | #define __NR_mincore 232 670 | __SYSCALL(__NR_mincore, sys_mincore) 671 | #define __NR_madvise 233 672 | __SYSCALL(__NR_madvise, sys_madvise) 673 | #define __NR_remap_file_pages 234 674 | __SYSCALL(__NR_remap_file_pages, sys_remap_file_pages) 675 | #define __NR_mbind 235 676 | __SC_COMP(__NR_mbind, sys_mbind, compat_sys_mbind) 677 | #define __NR_get_mempolicy 236 678 | __SC_COMP(__NR_get_mempolicy, sys_get_mempolicy, compat_sys_get_mempolicy) 679 | #define __NR_set_mempolicy 237 680 | __SC_COMP(__NR_set_mempolicy, sys_set_mempolicy, compat_sys_set_mempolicy) 681 | #define __NR_migrate_pages 238 682 | __SC_COMP(__NR_migrate_pages, sys_migrate_pages, compat_sys_migrate_pages) 683 | #define __NR_move_pages 239 684 | __SC_COMP(__NR_move_pages, sys_move_pages, compat_sys_move_pages) 685 | #endif 686 | 687 | #define __NR_rt_tgsigqueueinfo 240 688 | __SC_COMP(__NR_rt_tgsigqueueinfo, sys_rt_tgsigqueueinfo, \ 689 | compat_sys_rt_tgsigqueueinfo) 690 | #define __NR_perf_event_open 241 691 | __SYSCALL(__NR_perf_event_open, sys_perf_event_open) 692 | #define __NR_accept4 242 693 | __SYSCALL(__NR_accept4, sys_accept4) 694 | #if defined(__ARCH_WANT_TIME32_SYSCALLS) || __BITS_PER_LONG != 32 695 | #define __NR_recvmmsg 243 696 | __SC_COMP_3264(__NR_recvmmsg, sys_recvmmsg_time32, sys_recvmmsg, compat_sys_recvmmsg_time32) 697 | #endif 698 | 699 | /* 700 | * Architectures may provide up to 16 syscalls of their own 701 | * starting with this value. 702 | */ 703 | #define __NR_arch_specific_syscall 244 704 | 705 | #if defined(__ARCH_WANT_TIME32_SYSCALLS) || __BITS_PER_LONG != 32 706 | #define __NR_wait4 260 707 | __SC_COMP(__NR_wait4, sys_wait4, compat_sys_wait4) 708 | #endif 709 | #define __NR_prlimit64 261 710 | __SYSCALL(__NR_prlimit64, sys_prlimit64) 711 | #define __NR_fanotify_init 262 712 | __SYSCALL(__NR_fanotify_init, sys_fanotify_init) 713 | #define __NR_fanotify_mark 263 714 | __SYSCALL(__NR_fanotify_mark, sys_fanotify_mark) 715 | #define __NR_name_to_handle_at 264 716 | __SYSCALL(__NR_name_to_handle_at, sys_name_to_handle_at) 717 | #define __NR_open_by_handle_at 265 718 | __SYSCALL(__NR_open_by_handle_at, sys_open_by_handle_at) 719 | #if defined(__ARCH_WANT_TIME32_SYSCALLS) || __BITS_PER_LONG != 32 720 | #define __NR_clock_adjtime 266 721 | __SC_3264(__NR_clock_adjtime, sys_clock_adjtime32, sys_clock_adjtime) 722 | #endif 723 | #define __NR_syncfs 267 724 | __SYSCALL(__NR_syncfs, sys_syncfs) 725 | #define __NR_setns 268 726 | __SYSCALL(__NR_setns, sys_setns) 727 | #define __NR_sendmmsg 269 728 | __SC_COMP(__NR_sendmmsg, sys_sendmmsg, compat_sys_sendmmsg) 729 | #define __NR_process_vm_readv 270 730 | __SYSCALL(__NR_process_vm_readv, sys_process_vm_readv) 731 | #define __NR_process_vm_writev 271 732 | __SYSCALL(__NR_process_vm_writev, sys_process_vm_writev) 733 | #define __NR_kcmp 272 734 | __SYSCALL(__NR_kcmp, sys_kcmp) 735 | #define __NR_finit_module 273 736 | __SYSCALL(__NR_finit_module, sys_finit_module) 737 | #define __NR_sched_setattr 274 738 | __SYSCALL(__NR_sched_setattr, sys_sched_setattr) 739 | #define __NR_sched_getattr 275 740 | __SYSCALL(__NR_sched_getattr, sys_sched_getattr) 741 | #define __NR_renameat2 276 742 | __SYSCALL(__NR_renameat2, sys_renameat2) 743 | #define __NR_seccomp 277 744 | __SYSCALL(__NR_seccomp, sys_seccomp) 745 | #define __NR_getrandom 278 746 | __SYSCALL(__NR_getrandom, sys_getrandom) 747 | #define __NR_memfd_create 279 748 | __SYSCALL(__NR_memfd_create, sys_memfd_create) 749 | #define __NR_bpf 280 750 | __SYSCALL(__NR_bpf, sys_bpf) 751 | #define __NR_execveat 281 752 | __SC_COMP(__NR_execveat, sys_execveat, compat_sys_execveat) 753 | #define __NR_userfaultfd 282 754 | __SYSCALL(__NR_userfaultfd, sys_userfaultfd) 755 | #define __NR_membarrier 283 756 | __SYSCALL(__NR_membarrier, sys_membarrier) 757 | #define __NR_mlock2 284 758 | __SYSCALL(__NR_mlock2, sys_mlock2) 759 | #define __NR_copy_file_range 285 760 | __SYSCALL(__NR_copy_file_range, sys_copy_file_range) 761 | #define __NR_preadv2 286 762 | __SC_COMP(__NR_preadv2, sys_preadv2, compat_sys_preadv2) 763 | #define __NR_pwritev2 287 764 | __SC_COMP(__NR_pwritev2, sys_pwritev2, compat_sys_pwritev2) 765 | #define __NR_pkey_mprotect 288 766 | __SYSCALL(__NR_pkey_mprotect, sys_pkey_mprotect) 767 | #define __NR_pkey_alloc 289 768 | __SYSCALL(__NR_pkey_alloc, sys_pkey_alloc) 769 | #define __NR_pkey_free 290 770 | __SYSCALL(__NR_pkey_free, sys_pkey_free) 771 | #define __NR_statx 291 772 | __SYSCALL(__NR_statx, sys_statx) 773 | #if defined(__ARCH_WANT_TIME32_SYSCALLS) || __BITS_PER_LONG != 32 774 | #define __NR_io_pgetevents 292 775 | __SC_COMP_3264(__NR_io_pgetevents, sys_io_pgetevents_time32, sys_io_pgetevents, compat_sys_io_pgetevents) 776 | #endif 777 | #define __NR_rseq 293 778 | __SYSCALL(__NR_rseq, sys_rseq) 779 | #define __NR_kexec_file_load 294 780 | __SYSCALL(__NR_kexec_file_load, sys_kexec_file_load) 781 | /* 295 through 402 are unassigned to sync up with generic numbers, don't use */ 782 | #if __BITS_PER_LONG == 32 783 | #define __NR_clock_gettime64 403 784 | __SYSCALL(__NR_clock_gettime64, sys_clock_gettime) 785 | #define __NR_clock_settime64 404 786 | __SYSCALL(__NR_clock_settime64, sys_clock_settime) 787 | #define __NR_clock_adjtime64 405 788 | __SYSCALL(__NR_clock_adjtime64, sys_clock_adjtime) 789 | #define __NR_clock_getres_time64 406 790 | __SYSCALL(__NR_clock_getres_time64, sys_clock_getres) 791 | #define __NR_clock_nanosleep_time64 407 792 | __SYSCALL(__NR_clock_nanosleep_time64, sys_clock_nanosleep) 793 | #define __NR_timer_gettime64 408 794 | __SYSCALL(__NR_timer_gettime64, sys_timer_gettime) 795 | #define __NR_timer_settime64 409 796 | __SYSCALL(__NR_timer_settime64, sys_timer_settime) 797 | #define __NR_timerfd_gettime64 410 798 | __SYSCALL(__NR_timerfd_gettime64, sys_timerfd_gettime) 799 | #define __NR_timerfd_settime64 411 800 | __SYSCALL(__NR_timerfd_settime64, sys_timerfd_settime) 801 | #define __NR_utimensat_time64 412 802 | __SYSCALL(__NR_utimensat_time64, sys_utimensat) 803 | #define __NR_pselect6_time64 413 804 | __SC_COMP(__NR_pselect6_time64, sys_pselect6, compat_sys_pselect6_time64) 805 | #define __NR_ppoll_time64 414 806 | __SC_COMP(__NR_ppoll_time64, sys_ppoll, compat_sys_ppoll_time64) 807 | #define __NR_io_pgetevents_time64 416 808 | __SYSCALL(__NR_io_pgetevents_time64, sys_io_pgetevents) 809 | #define __NR_recvmmsg_time64 417 810 | __SC_COMP(__NR_recvmmsg_time64, sys_recvmmsg, compat_sys_recvmmsg_time64) 811 | #define __NR_mq_timedsend_time64 418 812 | __SYSCALL(__NR_mq_timedsend_time64, sys_mq_timedsend) 813 | #define __NR_mq_timedreceive_time64 419 814 | __SYSCALL(__NR_mq_timedreceive_time64, sys_mq_timedreceive) 815 | #define __NR_semtimedop_time64 420 816 | __SYSCALL(__NR_semtimedop_time64, sys_semtimedop) 817 | #define __NR_rt_sigtimedwait_time64 421 818 | __SC_COMP(__NR_rt_sigtimedwait_time64, sys_rt_sigtimedwait, compat_sys_rt_sigtimedwait_time64) 819 | #define __NR_futex_time64 422 820 | __SYSCALL(__NR_futex_time64, sys_futex) 821 | #define __NR_sched_rr_get_interval_time64 423 822 | __SYSCALL(__NR_sched_rr_get_interval_time64, sys_sched_rr_get_interval) 823 | #endif 824 | 825 | #define __NR_pidfd_send_signal 424 826 | __SYSCALL(__NR_pidfd_send_signal, sys_pidfd_send_signal) 827 | #define __NR_io_uring_setup 425 828 | __SYSCALL(__NR_io_uring_setup, sys_io_uring_setup) 829 | #define __NR_io_uring_enter 426 830 | __SYSCALL(__NR_io_uring_enter, sys_io_uring_enter) 831 | #define __NR_io_uring_register 427 832 | __SYSCALL(__NR_io_uring_register, sys_io_uring_register) 833 | #define __NR_open_tree 428 834 | __SYSCALL(__NR_open_tree, sys_open_tree) 835 | #define __NR_move_mount 429 836 | __SYSCALL(__NR_move_mount, sys_move_mount) 837 | #define __NR_fsopen 430 838 | __SYSCALL(__NR_fsopen, sys_fsopen) 839 | #define __NR_fsconfig 431 840 | __SYSCALL(__NR_fsconfig, sys_fsconfig) 841 | #define __NR_fsmount 432 842 | __SYSCALL(__NR_fsmount, sys_fsmount) 843 | #define __NR_fspick 433 844 | __SYSCALL(__NR_fspick, sys_fspick) 845 | #define __NR_pidfd_open 434 846 | __SYSCALL(__NR_pidfd_open, sys_pidfd_open) 847 | #ifdef __ARCH_WANT_SYS_CLONE3 848 | #define __NR_clone3 435 849 | __SYSCALL(__NR_clone3, sys_clone3) 850 | #endif 851 | #define __NR_close_range 436 852 | __SYSCALL(__NR_close_range, sys_close_range) 853 | 854 | #define __NR_openat2 437 855 | __SYSCALL(__NR_openat2, sys_openat2) 856 | #define __NR_pidfd_getfd 438 857 | __SYSCALL(__NR_pidfd_getfd, sys_pidfd_getfd) 858 | #define __NR_faccessat2 439 859 | __SYSCALL(__NR_faccessat2, sys_faccessat2) 860 | #define __NR_process_madvise 440 861 | __SYSCALL(__NR_process_madvise, sys_process_madvise) 862 | #define __NR_epoll_pwait2 441 863 | __SC_COMP(__NR_epoll_pwait2, sys_epoll_pwait2, compat_sys_epoll_pwait2) 864 | #define __NR_mount_setattr 442 865 | __SYSCALL(__NR_mount_setattr, sys_mount_setattr) 866 | /* 443 is reserved for quotactl_path */ 867 | 868 | #define __NR_landlock_create_ruleset 444 869 | __SYSCALL(__NR_landlock_create_ruleset, sys_landlock_create_ruleset) 870 | #define __NR_landlock_add_rule 445 871 | __SYSCALL(__NR_landlock_add_rule, sys_landlock_add_rule) 872 | #define __NR_landlock_restrict_self 446 873 | __SYSCALL(__NR_landlock_restrict_self, sys_landlock_restrict_self) 874 | 875 | #undef __NR_syscalls 876 | #define __NR_syscalls 447 877 | 878 | /* 879 | * 32 bit systems traditionally used different 880 | * syscalls for off_t and loff_t arguments, while 881 | * 64 bit systems only need the off_t version. 882 | * For new 32 bit platforms, there is no need to 883 | * implement the old 32 bit off_t syscalls, so 884 | * they take different names. 885 | * Here we map the numbers so that both versions 886 | * use the same syscall table layout. 887 | */ 888 | #if __BITS_PER_LONG == 64 && !defined(__SYSCALL_COMPAT) 889 | #define __NR_fcntl __NR3264_fcntl 890 | #define __NR_statfs __NR3264_statfs 891 | #define __NR_fstatfs __NR3264_fstatfs 892 | #define __NR_truncate __NR3264_truncate 893 | #define __NR_ftruncate __NR3264_ftruncate 894 | #define __NR_lseek __NR3264_lseek 895 | #define __NR_sendfile __NR3264_sendfile 896 | #if defined(__ARCH_WANT_NEW_STAT) || defined(__ARCH_WANT_STAT64) 897 | #define __NR_newfstatat __NR3264_fstatat 898 | #define __NR_fstat __NR3264_fstat 899 | #endif 900 | #define __NR_mmap __NR3264_mmap 901 | #define __NR_fadvise64 __NR3264_fadvise64 902 | #ifdef __NR3264_stat 903 | #define __NR_stat __NR3264_stat 904 | #define __NR_lstat __NR3264_lstat 905 | #endif 906 | #else 907 | #define __NR_fcntl64 __NR3264_fcntl 908 | #define __NR_statfs64 __NR3264_statfs 909 | #define __NR_fstatfs64 __NR3264_fstatfs 910 | #define __NR_truncate64 __NR3264_truncate 911 | #define __NR_ftruncate64 __NR3264_ftruncate 912 | #define __NR_llseek __NR3264_lseek 913 | #define __NR_sendfile64 __NR3264_sendfile 914 | #if defined(__ARCH_WANT_NEW_STAT) || defined(__ARCH_WANT_STAT64) 915 | #define __NR_fstatat64 __NR3264_fstatat 916 | #define __NR_fstat64 __NR3264_fstat 917 | #endif 918 | #define __NR_mmap2 __NR3264_mmap 919 | #define __NR_fadvise64_64 __NR3264_fadvise64 920 | #ifdef __NR3264_stat 921 | #define __NR_stat64 __NR3264_stat 922 | #define __NR_lstat64 __NR3264_lstat 923 | #endif 924 | #endif 925 | -------------------------------------------------------------------------------- /table.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Report 5 | 31 | 32 | 33 | 34 | Taken from https://www.tutorialspoint.com/html/html_tables.htm
35 | Some of the system calls aren't parsed correctly from the text file (need to fix)
36 | Parameters and descriptions can be taken from man pages. or manually added to overwrite
37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 |
IDTIDSyscallParametersReturn Value
49 | 50 | 106 | 107 | 108 | 109 | --------------------------------------------------------------------------------