syscall.sh / x64 / execveat
execveat
execute program relative to a directory file descriptor
sys_execveat(int dfd, const char *filename, const char *const *argv, const char *const *envp, int flags)
| number | 322 (0x142) |
|---|---|
| abi | 64 |
| entry point | sys_execveat |
| since | Linux 3.19 |
| man page | execveat(2) |
| source | elixir.bootlin.com |
Registers
| register | value |
|---|---|
rax | 322, the syscall number |
rdi | int dfd |
rsi | const char *filename |
rdx | const char *const *argv |
r10 | const char *const *envp |
r8 | int flags |
rax | the return value |
Then run syscall to enter the kernel.
Same syscall on other architectures
- x86 358
- arm64 281
- arm 387
- riscv64 281
- x32 1073742369
- loongarch64 281
- ppc64 362
- ppc 362
- s390x 354
- mips64 5316
- mipsn32 6320
- mipso32 4356
- alpha 513
- arc 281
- csky 281
- hexagon 281
- m68k 355
- microblaze 388
- nios2 281
- openrisc 281
- parisc 342
- sh 376
- sparc 350
- sparc64 350
- xtensa 341
Get this as JSON: https://api.syscall.sh/v2/syscalls/x64/execveat