syscall.sh / x32 / clone
clone
create a child process
sys_clone(unsigned long clone_flags, unsigned long newsp, int *parent_tidptr, int *child_tidptr, unsigned long tls)
| number | 1073741880 (0x40000038) |
|---|---|
| abi | common |
| entry point | sys_clone |
| since | Linux 3.4 |
| man page | clone(2) |
| source | elixir.bootlin.com |
Registers
| register | value |
|---|---|
rax | 1073741880, the syscall number |
rdi | unsigned long clone_flags |
rsi | unsigned long newsp |
rdx | int *parent_tidptr |
r10 | int *child_tidptr |
r8 | unsigned long tls |
rax | the return value |
Then run syscall to enter the kernel.
Same syscall on other architectures
- x64 56
- x86 120
- arm64 220
- arm 120
- riscv64 220
- loongarch64 220
- ppc64 120
- ppc 120
- s390x 120
- mips64 5055
- mipsn32 6055
- mipso32 4120
- alpha 312
- arc 220
- csky 220
- hexagon 220
- m68k 120
- microblaze 120
- nios2 220
- openrisc 220
- parisc 120
- sh 120
- sparc 217
- sparc64 217
- xtensa 116
Get this as JSON: https://api.syscall.sh/v2/syscalls/x32/clone