keyctl on score
manipulate the kernel's key management facility
sys_keyctl(int cmd, unsigned long arg2, unsigned long arg3, unsigned long arg4, unsigned long arg5)
| number | 219 (0xdb) |
|---|---|
| abi | common |
| kconfig | CONFIG_KEYS |
| family | keys see the whole family on score |
| entry point | sys_keyctl |
| since | Linux 3.7 or earlier (3.7 is the first release scanned for score) |
| man page | keyctl(2) |
| source | elixir.bootlin.com |
Registers
| register | value |
|---|---|
r27 | 219, the syscall number |
r4 | int cmd |
r5 | unsigned long arg2 |
r6 | unsigned long arg3 |
r7 | unsigned long arg4 |
r8 | unsigned long arg5 |
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 250
- x86 288
- arm64 219
- arm 311
- riscv64 219
- ia32 288
- x32 1073742074
- loongarch64 219
- ppc64 271
- ppc 271
- s390x 280
- mips64 5241
- mipsn32 6245
- mipso32 4282
- alpha 441
- arc 219
- blackfin 288, removed in 4.17
- cris 288, removed in 4.17
- csky 219
- frv 288, removed in 4.17
- hexagon 219
- ia64 1273, removed in 6.7
- m32r 288, removed in 4.17
- m68k 281
- metag 219, removed in 4.17
- microblaze 288
- mn10300 288, removed in 4.17
- nds32 219, removed in 5.18
- nios2 219
- openrisc 219
- parisc 266
- sh 287
- sparc 283
- sparc64 283
- tilegx 219, removed in 4.17
- tilepro 219, removed in 4.17
- xtensa 258
Get this as JSON: https://api.syscall.sh/v2/syscalls/score/keyctl?kernel=all