Blame view

include/linux/prctl.h 3.99 KB
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
  #ifndef _LINUX_PRCTL_H
  #define _LINUX_PRCTL_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 */
3898b1b4e   Andrew G. Morgan   capabilities: imp...
18
19
  /* Get/set whether or not to drop capabilities on setuid() away from
   * uid 0 (as per security/commoncap.c) */
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
  #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 */
651d765d0   Anton Blanchard   [PATCH] Add a prc...
54
55
56
57
58
59
  /* 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 */
1d9d02fee   Andrea Arcangeli   move seccomp from...
60
61
62
  /* Get/set process seccomp mode */
  #define PR_GET_SECCOMP	21
  #define PR_SET_SECCOMP	22
3898b1b4e   Andrew G. Morgan   capabilities: imp...
63
  /* Get/set the capability bounding set (as per security/commoncap.c) */
3b7391de6   Serge E. Hallyn   capabilities: int...
64
65
  #define PR_CAPBSET_READ 23
  #define PR_CAPBSET_DROP 24
8fb402bcc   Erik Bosman   generic, x86: add...
66
67
68
69
70
  /* 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 */
3898b1b4e   Andrew G. Morgan   capabilities: imp...
71
72
73
  /* Get/set securebits (as per security/commoncap.c) */
  #define PR_GET_SECUREBITS 27
  #define PR_SET_SECUREBITS 28
6976675d9   Arjan van de Ven   hrtimer: create a...
74
75
76
77
78
79
  /*
   * 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
cdd6c482c   Ingo Molnar   perf: Do the big ...
80
81
  #define PR_TASK_PERF_EVENTS_DISABLE		31
  #define PR_TASK_PERF_EVENTS_ENABLE		32
1d1c7ddbf   Ingo Molnar   perf counters: ad...
82

1087e9b4f   Andi Kleen   HWPOISON: Clean u...
83
84
85
86
  /*
   * Set early/late kill mode for hwpoison memory corruption.
   * This influences when the process gets killed on a memory corruption.
   */
4db96cf07   Andi Kleen   HWPOISON: Add PR_...
87
  #define PR_MCE_KILL	33
1087e9b4f   Andi Kleen   HWPOISON: Clean u...
88
89
90
91
92
93
94
95
  # 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
4db96cf07   Andi Kleen   HWPOISON: Add PR_...
96

028ee4be3   Cyrill Gorcunov   c/r: prctl: add P...
97
98
99
100
101
102
103
104
105
106
107
  /*
   * 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
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
108
  #endif /* _LINUX_PRCTL_H */