syscall.sh / x86 / process_vm_writev
process_vm_writev
transfer data between process address spaces
sys_process_vm_writev(pid_t pid, const struct iovec *lvec, unsigned long liovcnt, const struct iovec *rvec, unsigned long riovcnt, unsigned long flags)
| number | 348 (0x15c) |
|---|---|
| abi | i386 |
| entry point | sys_process_vm_writev |
| since | Linux 3.3 |
| man page | process_vm_writev(2) |
| source | elixir.bootlin.com |
Registers
| register | value |
|---|---|
eax | 348, the syscall number |
ebx | pid_t pid |
ecx | const struct iovec *lvec |
edx | unsigned long liovcnt |
esi | const struct iovec *rvec |
edi | unsigned long riovcnt |
ebp | unsigned long flags |
eax | the return value |
Then run int 0x80 to enter the kernel.
Same syscall on other architectures
- x64 311
- arm64 271
- arm 377
- riscv64 271
- x32 1073742364
- loongarch64 271
- ppc64 352
- ppc 352
- s390x 341
- mips64 5305
- mipsn32 6310
- mipso32 4346
- alpha 505
- arc 271
- csky 271
- hexagon 271
- m68k 346
- microblaze 378
- nios2 271
- openrisc 271
- parisc 331
- sh 366
- sparc 339
- sparc64 339
- xtensa 323
Get this as JSON: https://api.syscall.sh/v2/syscalls/x86/process_vm_writev