From c2ca1f2a94f7bc6f676d2e6a3313aa0817be2869 Mon Sep 17 00:00:00 2001 From: Dmitry Vyukov Date: Wed, 10 Mar 2021 17:20:21 +0100 Subject: sys/linux: add new prctl's --- sys/linux/prctl.txt | 17 ++++++++++++++++- sys/linux/prctl.txt.const | 18 ++++++++++++++++++ 2 files changed, 34 insertions(+), 1 deletion(-) (limited to 'sys') diff --git a/sys/linux/prctl.txt b/sys/linux/prctl.txt index 56bddb17b..bbae46c62 100644 --- a/sys/linux/prctl.txt +++ b/sys/linux/prctl.txt @@ -131,7 +131,7 @@ prctl$PR_GET_FP_MODE(option const[PR_GET_FP_MODE]) (breaks_returns, ignore_retur prctl_fp_mode = PR_FP_MODE_FR, PR_FP_MODE_FRE -prctl$PR_CAP_AMBIENT(option const[PR_CAP_AMBIENT], arg2 flags[prctl_cap_ambient], arg3 int32[0:CAP_LAST_CAP]) (breaks_returns, ignore_return) +prctl$PR_CAP_AMBIENT(option const[PR_CAP_AMBIENT], arg2 flags[prctl_cap_ambient], arg3 intptr[0:CAP_LAST_CAP]) (breaks_returns, ignore_return) prctl_cap_ambient = PR_CAP_AMBIENT_IS_SET, PR_CAP_AMBIENT_RAISE, PR_CAP_AMBIENT_LOWER, PR_CAP_AMBIENT_CLEAR_ALL @@ -143,6 +143,21 @@ prctl$PR_SET_SPECULATION_CTRL(option const[PR_SET_SPECULATION_CTRL], arg2 const[ pr_spec_mode = PR_SPEC_ENABLE, PR_SPEC_DISABLE, PR_SPEC_FORCE_DISABLE +prctl$PR_PAC_RESET_KEYS(option const[PR_PAC_RESET_KEYS], arg2 flags[prctl_pac_keys]) (breaks_returns, ignore_return) + +prctl_pac_keys = PR_PAC_APIAKEY, PR_PAC_APIBKEY, PR_PAC_APDAKEY, PR_PAC_APDBKEY, PR_PAC_APGAKEY + +prctl$PR_SET_TAGGED_ADDR_CTRL(option const[PR_SET_TAGGED_ADDR_CTRL], arg2 flags[prctl_mte_ctl]) (breaks_returns, ignore_return) +prctl$PR_GET_TAGGED_ADDR_CTRL(option const[PR_GET_TAGGED_ADDR_CTRL]) (breaks_returns, ignore_return) + +prctl_mte_ctl = PR_TAGGED_ADDR_ENABLE, PR_MTE_TCF_NONE, PR_MTE_TCF_SYNC, PR_MTE_TCF_ASYNC, PR_MTE_TAG_MASK + +prctl$PR_SET_IO_FLUSHER(option const[PR_SET_IO_FLUSHER], arg2 boolptr) (breaks_returns, ignore_return) +prctl$PR_GET_IO_FLUSHER(option const[PR_GET_IO_FLUSHER]) (breaks_returns, ignore_return) + +prctl$PR_SET_SYSCALL_USER_DISPATCH_OFF(option const[PR_SET_SYSCALL_USER_DISPATCH], mode const[PR_SYS_DISPATCH_OFF]) (breaks_returns, ignore_return) +prctl$PR_SET_SYSCALL_USER_DISPATCH_ON(option const[PR_SET_SYSCALL_USER_DISPATCH], mode const[PR_SYS_DISPATCH_ON], offset intptr, len intptr, selector ptr[in, bool8]) (breaks_returns, ignore_return) + arch_prctl$ARCH_GET_FS(code const[ARCH_GET_FS], arg ptr[out, intptr]) arch_prctl$ARCH_GET_GS(code const[ARCH_GET_GS], arg ptr[out, intptr]) arch_prctl$ARCH_SET_GS(code const[ARCH_SET_GS], arg ptr[out, intptr]) diff --git a/sys/linux/prctl.txt.const b/sys/linux/prctl.txt.const index 547cd8dd9..b74d05a0a 100644 --- a/sys/linux/prctl.txt.const +++ b/sys/linux/prctl.txt.const @@ -40,6 +40,7 @@ PR_GET_ENDIAN = 19 PR_GET_FPEMU = 9 PR_GET_FPEXC = 11 PR_GET_FP_MODE = 46 +PR_GET_IO_FLUSHER = 58 PR_GET_KEEPCAPS = 7 PR_GET_NAME = 16 PR_GET_NO_NEW_PRIVS = 39 @@ -47,6 +48,7 @@ PR_GET_PDEATHSIG = 2 PR_GET_SECCOMP = 21 PR_GET_SECUREBITS = 27 PR_GET_SPECULATION_CTRL = 52 +PR_GET_TAGGED_ADDR_CTRL = 56 PR_GET_THP_DISABLE = 42 PR_GET_TID_ADDRESS = 40 PR_GET_TIMERSLACK = 30 @@ -62,12 +64,23 @@ PR_MCE_KILL_LATE = 0 PR_MCE_KILL_SET = 1 PR_MPX_DISABLE_MANAGEMENT = 44 PR_MPX_ENABLE_MANAGEMENT = 43 +PR_MTE_TAG_MASK = 524280 +PR_MTE_TCF_ASYNC = 4 +PR_MTE_TCF_NONE = 0 +PR_MTE_TCF_SYNC = 2 +PR_PAC_APDAKEY = 4 +PR_PAC_APDBKEY = 8 +PR_PAC_APGAKEY = 16 +PR_PAC_APIAKEY = 1 +PR_PAC_APIBKEY = 2 +PR_PAC_RESET_KEYS = 54 PR_SET_CHILD_SUBREAPER = 36 PR_SET_DUMPABLE = 4 PR_SET_ENDIAN = 20 PR_SET_FPEMU = 10 PR_SET_FPEXC = 12 PR_SET_FP_MODE = 45 +PR_SET_IO_FLUSHER = 57 PR_SET_KEEPCAPS = 8 PR_SET_MM = 35 PR_SET_MM_ARG_END = 9 @@ -92,6 +105,8 @@ PR_SET_PTRACER = 1499557217 PR_SET_SECCOMP = 22 PR_SET_SECUREBITS = 28 PR_SET_SPECULATION_CTRL = 53 +PR_SET_SYSCALL_USER_DISPATCH = 59 +PR_SET_TAGGED_ADDR_CTRL = 55 PR_SET_THP_DISABLE = 41 PR_SET_TIMERSLACK = 29 PR_SET_TIMING = 14 @@ -105,6 +120,9 @@ PR_SVE_GET_VL = 51 PR_SVE_SET_VL = 50 PR_SVE_SET_VL_ONEXEC = 262144 PR_SVE_VL_INHERIT = 131072 +PR_SYS_DISPATCH_OFF = 0 +PR_SYS_DISPATCH_ON = 1 +PR_TAGGED_ADDR_ENABLE = 1 PR_TASK_PERF_EVENTS_DISABLE = 31 PR_TASK_PERF_EVENTS_ENABLE = 32 PR_TSC_ENABLE = 1 -- cgit mrf-deployment