aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Documentation/x86/intel_mpx.txt6
-rw-r--r--arch/x86/Kconfig30
2 files changed, 31 insertions, 5 deletions
diff --git a/Documentation/x86/intel_mpx.txt b/Documentation/x86/intel_mpx.txt
index 6ca6e2bd9ae9..818518a3ff01 100644
--- a/Documentation/x86/intel_mpx.txt
+++ b/Documentation/x86/intel_mpx.txt
@@ -7,11 +7,15 @@ that can be used in conjunction with compiler changes to check memory
7references, for those references whose compile-time normal intentions are 7references, for those references whose compile-time normal intentions are
8usurped at runtime due to buffer overflow or underflow. 8usurped at runtime due to buffer overflow or underflow.
9 9
10You can tell if your CPU supports MPX by looking in /proc/cpuinfo:
11
12 cat /proc/cpuinfo | grep ' mpx '
13
10For more information, please refer to Intel(R) Architecture Instruction 14For more information, please refer to Intel(R) Architecture Instruction
11Set Extensions Programming Reference, Chapter 9: Intel(R) Memory Protection 15Set Extensions Programming Reference, Chapter 9: Intel(R) Memory Protection
12Extensions. 16Extensions.
13 17
14Note: Currently no hardware with MPX ISA is available but it is always 18Note: As of December 2014, no hardware with MPX is available but it is
15possible to use SDE (Intel(R) Software Development Emulator) instead, which 19possible to use SDE (Intel(R) Software Development Emulator) instead, which
16can be downloaded from 20can be downloaded from
17http://software.intel.com/en-us/articles/intel-software-development-emulator 21http://software.intel.com/en-us/articles/intel-software-development-emulator
diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
index 967dfe0ba85e..cc91e5e55d13 100644
--- a/arch/x86/Kconfig
+++ b/arch/x86/Kconfig
@@ -248,10 +248,6 @@ config HAVE_INTEL_TXT
248 def_bool y 248 def_bool y
249 depends on INTEL_IOMMU && ACPI 249 depends on INTEL_IOMMU && ACPI
250 250
251config X86_INTEL_MPX
252 def_bool y
253 depends on CPU_SUP_INTEL
254
255config X86_32_SMP 251config X86_32_SMP
256 def_bool y 252 def_bool y
257 depends on X86_32 && SMP 253 depends on X86_32 && SMP
@@ -1575,6 +1571,32 @@ config X86_SMAP
1575 1571
1576 If unsure, say Y. 1572 If unsure, say Y.
1577 1573
1574config X86_INTEL_MPX
1575 prompt "Intel MPX (Memory Protection Extensions)"
1576 def_bool n
1577 depends on CPU_SUP_INTEL
1578 ---help---
1579 MPX provides hardware features that can be used in
1580 conjunction with compiler-instrumented code to check
1581 memory references. It is designed to detect buffer
1582 overflow or underflow bugs.
1583
1584 This option enables running applications which are
1585 instrumented or otherwise use MPX. It does not use MPX
1586 itself inside the kernel or to protect the kernel
1587 against bad memory references.
1588
1589 Enabling this option will make the kernel larger:
1590 ~8k of kernel text and 36 bytes of data on a 64-bit
1591 defconfig. It adds a long to the 'mm_struct' which
1592 will increase the kernel memory overhead of each
1593 process and adds some branches to paths used during
1594 exec() and munmap().
1595
1596 For details, see Documentation/x86/intel_mpx.txt
1597
1598 If unsure, say N.
1599
1578config EFI 1600config EFI
1579 bool "EFI runtime service support" 1601 bool "EFI runtime service support"
1580 depends on ACPI 1602 depends on ACPI