+.TP
+\fBPR_MPX_ENABLE_MANAGEMENT\fP, \fBPR_MPX_DISABLE_MANAGEMENT\fP (since Linux 3.19)
+.\" commit fe3d197f84319d3bce379a9c0dc17b1f48ad358c
+.\" See also http://lwn.net/Articles/582712/
+.\" See also https://gcc.gnu.org/wiki/Intel%20MPX%20support%20in%20the%20GCC%20compiler
+Enable or disable kernel management of Memory Protection eXtensions (MPX)
+bounds tables.
+
+MPX is a hardware\-assisted mechanism for performing bounds checking on
+pointers. It consists of a set of registers storing bounds information and
+a set of special instruction prefixes that tell the CPU on which
+instructions it should do bounds enforcement. There is a limited number of
+these registers and when there are more pointers than registers, their
+contents must be "spilled" into a set of tables. These tables are called
+"bounds tables" and the MPX \fBprctl\fP() operations control whether the
+kernel manages their allocation and freeing.
+
+When management is enabled, the kernel will take over allocation and freeing
+of the bounds tables. It does this by trapping the #BR exceptions that
+result at first use of missing bounds tables and instead of delivering the
+exception to user space, it allocates the table and populates the bounds
+directory with the location of the new table. For freeing, the kernel
+checks to see if bounds tables are present for memory which is not
+allocated, and frees them if so.
+
+Before enabling MPX management using \fBPR_MPX_ENABLE_MANAGEMENT\fP, the
+application must first have allocated a user\-space buffer for the bounds
+directory and placed the location of that directory in the \fIbndcfgu\fP
+register.
+
+These calls will fail if the CPU or kernel does not support MPX. Kernel
+support for MPX is enabled via the \fBCONFIG_X86_INTEL_MPX\fP configuration
+option. You can check whether the CPU supports MPX by looking for the 'mpx'
+CPUID bit, like with the following command:
+
+ cat /proc/cpuinfo | grep ' mpx '
+
+A thread may not switch in or out of long (64\-bit) mode while MPX is
+enabled.
+
+All threads in a process are affected by these calls.
+
+The child of a \fBfork\fP(2) inherits the state of MPX management. During
+\fBexecve\fP(2), MPX management is reset to a state as if
+\fBPR_MPX_DISABLE_MANAGEMENT\fP had been called.
+