Release 4.12 include/uapi/linux/prctl.h
#ifndef _LINUX_PRCTL_H
#define _LINUX_PRCTL_H
#include <linux/types.h>
/* Values to pass as first argument to prctl() */
#define PR_SET_PDEATHSIG 1
/* Second arg is a signal */
#define PR_GET_PDEATHSIG 2
/* Second arg is a ptr to return the signal */
/* Get/set current->mm->dumpable */
#define PR_GET_DUMPABLE 3
#define PR_SET_DUMPABLE 4
/* 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 floating-point emulation control bits (if meaningful) */
#define PR_GET_FPEMU 9
#define PR_SET_FPEMU 10
# define PR_FPEMU_NOPRINT 1
/* silently emulate fp operations accesses */
# define PR_FPEMU_SIGFPE 2
/* don't emulate fp operations, send SIGFPE instead */
/* Get/set floating-point exception mode (if meaningful) */
#define PR_GET_FPEXC 11
#define PR_SET_FPEXC 12
# define PR_FP_EXC_SW_ENABLE 0x80
/* Use FPEXC for FP exception enables */
# define PR_FP_EXC_DIV 0x010000
/* floating point divide by zero */
# define PR_FP_EXC_OVF 0x020000
/* floating point overflow */
# define PR_FP_EXC_UND 0x040000
/* floating point underflow */
# define PR_FP_EXC_RES 0x080000
/* floating point inexact result */
# define PR_FP_EXC_INV 0x100000
/* floating point invalid operation */
# define PR_FP_EXC_DISABLED 0
/* FP exceptions disabled */
# define PR_FP_EXC_NONRECOV 1
/* async non-recoverable exc. mode */
# define PR_FP_EXC_ASYNC 2
/* async recoverable exception mode */
# define PR_FP_EXC_PRECISE 3
/* precise exception mode */
/* 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 process endian */
#define PR_GET_ENDIAN 19
#define PR_SET_ENDIAN 20
# define PR_ENDIAN_BIG 0
# define PR_ENDIAN_LITTLE 1
/* True little endian mode */
# define PR_ENDIAN_PPC_LITTLE 2
/* "PowerPC" pseudo little endian */
/* Get/set process seccomp mode */
#define PR_GET_SECCOMP 21
#define PR_SET_SECCOMP 22
/* 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 securebits (as per security/commoncap.c) */
#define PR_GET_SECUREBITS 27
#define PR_SET_SECUREBITS 28
/*
* 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
#define PR_TASK_PERF_EVENTS_DISABLE 31
#define PR_TASK_PERF_EVENTS_ENABLE 32
/*
* 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
# define PR_MCE_KILL_LATE 0
# define PR_MCE_KILL_EARLY 1
# define PR_MCE_KILL_DEFAULT 2
#define PR_MCE_KILL_GET 34
/*
* Tune up process memory map specifics.
*/
#define PR_SET_MM 35
# define PR_SET_MM_START_CODE 1
# define PR_SET_MM_END_CODE 2
# define PR_SET_MM_START_DATA 3
# define PR_SET_MM_END_DATA 4
# define PR_SET_MM_START_STACK 5
# define PR_SET_MM_START_BRK 6
# define PR_SET_MM_BRK 7
# define PR_SET_MM_ARG_START 8
# define PR_SET_MM_ARG_END 9
# define PR_SET_MM_ENV_START 10
# define PR_SET_MM_ENV_END 11
# define PR_SET_MM_AUXV 12
# define PR_SET_MM_EXE_FILE 13
# define PR_SET_MM_MAP 14
# define PR_SET_MM_MAP_SIZE 15
/*
* 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 ((unsigned long)-1)
#define PR_SET_CHILD_SUBREAPER 36
#define PR_GET_CHILD_SUBREAPER 37
/*
* 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/prctl/no_new_privs.txt for more details.
*/
#define PR_SET_NO_NEW_PRIVS 38
#define PR_GET_NO_NEW_PRIVS 39
#define PR_GET_TID_ADDRESS 40
#define PR_SET_THP_DISABLE 41
#define PR_GET_THP_DISABLE 42
/*
* Tell the kernel to start/stop helping userspace manage bounds tables.
*/
#define PR_MPX_ENABLE_MANAGEMENT 43
#define PR_MPX_DISABLE_MANAGEMENT 44
#define PR_SET_FP_MODE 45
#define PR_GET_FP_MODE 46
# define PR_FP_MODE_FR (1 << 0)
/* 64b FP registers */
# define PR_FP_MODE_FRE (1 << 1)
/* 32b compatibility */
/* Control the ambient capability set */
#define PR_CAP_AMBIENT 47
# define PR_CAP_AMBIENT_IS_SET 1
# define PR_CAP_AMBIENT_RAISE 2
# define PR_CAP_AMBIENT_LOWER 3
# define PR_CAP_AMBIENT_CLEAR_ALL 4
#endif /* _LINUX_PRCTL_H */
Overall Contributors
Person | Tokens | Prop | Commits | CommitProp |
Cyrill V. Gorcunov | 130 | 26.48% | 5 | 13.89% |
Linus Torvalds (pre-git) | 55 | 11.20% | 5 | 13.89% |
Andi Kleen | 34 | 6.92% | 3 | 8.33% |
Kumar Gala | 30 | 6.11% | 1 | 2.78% |
Andrew Lutomirski | 30 | 6.11% | 3 | 8.33% |
Paul Mackerras | 29 | 5.91% | 1 | 2.78% |
Anton Blanchard | 23 | 4.68% | 1 | 2.78% |
David Mosberger-Tang | 19 | 3.87% | 1 | 2.78% |
Erik Bosman | 19 | 3.87% | 1 | 2.78% |
Doug Ledford | 19 | 3.87% | 1 | 2.78% |
Paul Burton | 18 | 3.67% | 1 | 2.78% |
Andrew G. Morgan | 11 | 2.24% | 1 | 2.78% |
Arjan van de Ven | 9 | 1.83% | 1 | 2.78% |
Dave Hansen | 9 | 1.83% | 1 | 2.78% |
Andrea Arcangeli | 9 | 1.83% | 1 | 2.78% |
Kees Cook | 9 | 1.83% | 2 | 5.56% |
Ingo Molnar | 8 | 1.63% | 2 | 5.56% |
Serge E. Hallyn | 8 | 1.63% | 1 | 2.78% |
Lennart Poettering | 8 | 1.63% | 1 | 2.78% |
Alex Thorlton | 8 | 1.63% | 1 | 2.78% |
Prasanna Meda | 5 | 1.02% | 1 | 2.78% |
Linus Torvalds | 1 | 0.20% | 1 | 2.78% |
Total | 491 | 100.00% | 36 | 100.00% |
Information contained on this website is for historical information purposes only and does not indicate or represent copyright ownership.