/* Get/set unaligned access control bits (if meaningful) */ #define PR_GET_UNALIGN 5 #define PR_SET_UNALIGN 6 # define PR_UNALIGN_NOPRINT 1 /* silently fix up unaligned user accesses */ # define PR_UNALIGN_SIGBUS 2 /* generate SIGBUS on unaligned user access */
/* Get/set whether or not to drop capabilities on setuid() away from
* uid 0 (as per security/commoncap.c) */ #define PR_GET_KEEPCAPS 7 #define PR_SET_KEEPCAPS 8
/* Get/set whether we use statistical process timing or accurate timestamp
* based process timing */ #define PR_GET_TIMING 13 #define PR_SET_TIMING 14 # define PR_TIMING_STATISTICAL 0 /* Normal, traditional,
statistical process timing */ # define PR_TIMING_TIMESTAMP 1 /* Accurate timestamp based
process timing */
#define PR_SET_NAME 15 /* Set process name */ #define PR_GET_NAME 16 /* Get process name */
/* Get/set the capability bounding set (as per security/commoncap.c) */ #define PR_CAPBSET_READ 23 #define PR_CAPBSET_DROP 24
/* Get/set the process' ability to use the timestamp counter instruction */ #define PR_GET_TSC 25 #define PR_SET_TSC 26 # define PR_TSC_ENABLE 1 /* allow the use of the timestamp counter */ # define PR_TSC_SIGSEGV 2 /* throw a SIGSEGV instead of reading the TSC */
/* * Get/set the timerslack as used by poll/select/nanosleep * A value of 0 means "use default"
*/ #define PR_SET_TIMERSLACK 29 #define PR_GET_TIMERSLACK 30
/* * Set early/late kill mode for hwpoison memory corruption. * This influences when the process gets killed on a memory corruption.
*/ #define PR_MCE_KILL 33 # define PR_MCE_KILL_CLEAR 0 # define PR_MCE_KILL_SET 1
/* * This structure provides new memory descriptor * map which mostly modifies /proc/pid/stat[m] * output for a task. This mostly done in a * sake of checkpoint/restore functionality.
*/ struct prctl_mm_map {
__u64 start_code; /* code section bounds */
__u64 end_code;
__u64 start_data; /* data section bounds */
__u64 end_data;
__u64 start_brk; /* heap for brk() syscall */
__u64 brk;
__u64 start_stack; /* stack starts at */
__u64 arg_start; /* command line arguments bounds */
__u64 arg_end;
__u64 env_start; /* environment variables bounds */
__u64 env_end;
__u64 *auxv; /* auxiliary vector */
__u32 auxv_size; /* vector size */
__u32 exe_fd; /* /proc/$pid/exe link file */
};
/* * Set specific pid that is allowed to ptrace the current task. * A value of 0 mean "no process".
*/ #define PR_SET_PTRACER 0x59616d61 # define PR_SET_PTRACER_ANY ((unsignedlong)-1)
/* * If no_new_privs is set, then operations that grant new privileges (i.e. * execve) will either fail or not grant them. This affects suid/sgid, * file capabilities, and LSMs. * * Operations that merely manipulate or drop existing privileges (setresuid, * capset, etc.) will still work. Drop those privileges if you want them gone. * * Changing LSM security domain is considered a new privilege. So, for example, * asking selinux for a specific new context (e.g. with runcon) will result * in execve returning -EPERM. * * See Documentation/userspace-api/no_new_privs.rst for more details.
*/ #define PR_SET_NO_NEW_PRIVS 38 #define PR_GET_NO_NEW_PRIVS 39
/* * No longer implemented, but left here to ensure the numbers stay reserved:
*/ #define PR_MPX_ENABLE_MANAGEMENT 43 #define PR_MPX_DISABLE_MANAGEMENT 44
/* Tagged user address controls for arm64 and RISC-V */ #define PR_SET_TAGGED_ADDR_CTRL 55 #define PR_GET_TAGGED_ADDR_CTRL 56 # define PR_TAGGED_ADDR_ENABLE (1UL << 0) /* MTE tag check fault modes */ # define PR_MTE_TCF_NONE 0UL # define PR_MTE_TCF_SYNC (1UL << 1) # define PR_MTE_TCF_ASYNC (1UL << 2) # define PR_MTE_TCF_MASK (PR_MTE_TCF_SYNC | PR_MTE_TCF_ASYNC) /* MTE tag inclusion mask */ # define PR_MTE_TAG_SHIFT 3 # define PR_MTE_TAG_MASK (0xffffUL << PR_MTE_TAG_SHIFT) /* Unused; kept only for source compatibility */ # define PR_MTE_TCF_SHIFT 1 /* MTE tag check store only */ # define PR_MTE_STORE_ONLY (1UL << 19) /* RISC-V pointer masking tag length */ # define PR_PMLEN_SHIFT 24 # define PR_PMLEN_MASK (0x7fUL << PR_PMLEN_SHIFT)
/* Control reclaim behavior when allocating memory */ #define PR_SET_IO_FLUSHER 57 #define PR_GET_IO_FLUSHER 58
/* Dispatch syscalls to a userspace handler */ #define PR_SET_SYSCALL_USER_DISPATCH 59 # define PR_SYS_DISPATCH_OFF 0 /* Enable dispatch except for the specified range */ # define PR_SYS_DISPATCH_EXCLUSIVE_ON 1 /* Enable dispatch for the specified range */ # define PR_SYS_DISPATCH_INCLUSIVE_ON 2 /* Legacy name for backwards compatibility */ # define PR_SYS_DISPATCH_ON PR_SYS_DISPATCH_EXCLUSIVE_ON /* The control values for the user space selector when dispatch is enabled */ # define SYSCALL_DISPATCH_FILTER_ALLOW 0 # define SYSCALL_DISPATCH_FILTER_BLOCK 1
/* PowerPC Dynamic Execution Control Register (DEXCR) controls */ #define PR_PPC_GET_DEXCR 72 #define PR_PPC_SET_DEXCR 73 /* DEXCR aspect to act on */ # define PR_PPC_DEXCR_SBHE 0 /* Speculative branch hint enable */ # define PR_PPC_DEXCR_IBRTPD 1 /* Indirect branch recurrent target prediction disable */ # define PR_PPC_DEXCR_SRAPD 2 /* Subroutine return address prediction disable */ # define PR_PPC_DEXCR_NPHIE 3 /* Non-privileged hash instruction enable */ /* Action to apply / return */ # define PR_PPC_DEXCR_CTRL_EDITABLE 0x1 /* Aspect can be modified with PR_PPC_SET_DEXCR */ # define PR_PPC_DEXCR_CTRL_SET 0x2 /* Set the aspect for this process */ # define PR_PPC_DEXCR_CTRL_CLEAR 0x4 /* Clear the aspect for this process */ # define PR_PPC_DEXCR_CTRL_SET_ONEXEC 0x8 /* Set the aspect on exec */ # define PR_PPC_DEXCR_CTRL_CLEAR_ONEXEC 0x10 /* Clear the aspect on exec */ # define PR_PPC_DEXCR_CTRL_MASK 0x1f
/* * Get the current shadow stack configuration for the current thread, * this will be the value configured via PR_SET_SHADOW_STACK_STATUS.
*/ #define PR_GET_SHADOW_STACK_STATUS 74
/* * Set the current shadow stack configuration. Enabling the shadow * stack will cause a shadow stack to be allocated for the thread.
*/ #define PR_SET_SHADOW_STACK_STATUS 75 # define PR_SHADOW_STACK_ENABLE (1UL << 0) # define PR_SHADOW_STACK_WRITE (1UL << 1) # define PR_SHADOW_STACK_PUSH (1UL << 2)
/* * Prevent further changes to the specified shadow stack * configuration. All bits may be locked via this call, including * undefined bits.
*/ #define PR_LOCK_SHADOW_STACK_STATUS 76
/* * Controls the mode of timer_create() for CRIU restore operations. * Enabling this allows CRIU to restore timers with explicit IDs. * * Don't use for normal operations as the result might be undefined.
*/ #define PR_TIMER_CREATE_RESTORE_IDS 77 # define PR_TIMER_CREATE_RESTORE_IDS_OFF 0 # define PR_TIMER_CREATE_RESTORE_IDS_ON 1 # define PR_TIMER_CREATE_RESTORE_IDS_GET 2
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.