pkey_mprotect on nds32
set protection on a region of memory
sys_pkey_mprotect(unsigned long start, size_t len, unsigned long prot, int pkey)
| number | 288 (0x120) |
|---|---|
| abi | common |
| family | pkeys see the whole family on nds32 |
| entry point | sys_pkey_mprotect |
| since | Linux 4.17 or earlier (4.17 is the first release scanned for nds32) |
| man page | pkey_mprotect(2) |
| source | elixir.bootlin.com |
Registers
| register | value |
|---|---|
r15 | 288, the syscall number |
r0 | unsigned long start |
r1 | size_t len |
r2 | unsigned long prot |
r3 | int pkey |
r0 | the return value |
Then run syscall to enter the kernel.
This architecture was removed from the Linux kernel in Linux 5.18. The newest release with a syscall table here is Linux 5.17. The other removed architectures live on the historical architectures page.
Same syscall on other architectures
- x64 329
- x86 380
- arm64 288
- arm 394
- riscv64 288
- ia32 380
- x32 1073742153
- loongarch64 288
- ppc64 386
- ppc 386
- s390x 384
- mips64 5323
- mipsn32 6327
- mipso32 4363
- alpha 524
- arc 288
- csky 288
- hexagon 288
- ia64 1354, removed in 6.7
- m68k 381
- metag 288, removed in 4.17
- microblaze 395
- nios2 288
- openrisc 288
- parisc 351
- score 288, removed in 4.17
- sh 384
- sparc 362
- sparc64 362
- tilegx 288, removed in 4.17
- tilepro 288, removed in 4.17
- xtensa 348
Get this as JSON: https://api.syscall.sh/v2/syscalls/nds32/pkey_mprotect?kernel=all