process_vm_writev on score
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 | 271 (0x10f) |
|---|---|
| abi | common |
| entry point | sys_process_vm_writev |
| since | Linux 3.7 or earlier (3.7 is the first release scanned for score) |
| man page | process_vm_writev(2) |
| source | elixir.bootlin.com |
Registers
| register | value |
|---|---|
r27 | 271, the syscall number |
r4 | pid_t pid |
r5 | const struct iovec *lvec |
r6 | unsigned long liovcnt |
r7 | const struct iovec *rvec |
r8 | unsigned long riovcnt |
r9 | unsigned long flags |
r4 | the return value |
Then run syscall to enter the kernel.
r7 is the error flag and r4 then holds the positive error number.
This architecture was removed from the Linux kernel in Linux 4.17. The newest release with a syscall table here is Linux 4.16. The other removed architectures live on the historical architectures page.
Same syscall on other architectures
- x64 311
- x86 348
- arm64 271
- arm 377
- riscv64 271
- ia32 348
- x32 1073742364
- loongarch64 271
- ppc64 352
- ppc 352
- s390x 341
- mips64 5305
- mipsn32 6310
- mipso32 4346
- alpha 505
- arc 271
- blackfin 382, removed in 4.17
- cris 349, removed in 4.17
- csky 271
- hexagon 271
- ia64 1333, removed in 6.7
- m68k 346
- metag 271, removed in 4.17
- microblaze 378
- nds32 271, removed in 5.18
- nios2 271
- openrisc 271
- parisc 331
- sh 366
- sparc 339
- sparc64 339
- tilegx 271, removed in 4.17
- tilepro 271, removed in 4.17
- xtensa 323
Get this as JSON: https://api.syscall.sh/v2/syscalls/score/process_vm_writev?kernel=all