98a93b46fd
* linux/32/syscallent.h: Add syscall entries for pkey_* calls. * linux/64/syscallent.h: Likewise. * linux/arm/syscallent.h: Likewise. * linux/i386/syscallent.h: Likewise. * linux/mips/syscallent-n32.h: Likewise. * linux/mips/syscallent-n64.h: Likewise. * linux/mips/syscallent-o32.h: Likewise. * linux/x32/syscallent.h: Likewise. * linux/x86_64/syscallent.h: Likewise. * mem.c (do_mprotect): New function, common handler for mprotect and pkey_mprotect. (SYS_FUNC(mprotect)): Convert to wrapper around do_mprotect. (SYS_FUNC(pkey_mprotect)): New function. * xlat/pkey_access.in: New file. * pkeys.c: New file containing implementation of pkey_alloc and pkey_free. * Makefile.am: Add it. * NEWS: Mention this enhancement. * tests/.gitignore: Add pkey_alloc, pkey_free, and pkey_mprotect. * tests/Makefile.am (check_PROGRAMS): Likewise. (DECODER_TESTS): Add pkey_alloc.test, pkey_free.test, and pkey_mprotect.test. * tests/pkey_alloc.c: New file. * tests/pkey_free.c: Likewise. * tests/pkey_mprotect.c: Likewise. * tests/pkey_alloc.test: New test. * tests/pkey_free.test: Likewise. * tests/pkey_mprotect.test: Likewise.
19 lines
284 B
C
19 lines
284 B
C
#include "defs.h"
|
|
|
|
#include "xlat/pkey_access.h"
|
|
|
|
SYS_FUNC(pkey_alloc)
|
|
{
|
|
tprintf("%#llx, ", getarg_ull(tcp, 0));
|
|
printflags64(pkey_access, getarg_ull(tcp, 1), "PKEY_???");
|
|
|
|
return RVAL_DECODED;
|
|
}
|
|
|
|
SYS_FUNC(pkey_free)
|
|
{
|
|
tprintf("%d", (int) tcp->u_arg[0]);
|
|
|
|
return RVAL_DECODED;
|
|
}
|