Intel MPX

E637101

Intel MPX is a hardware-based memory protection extension for Intel processors designed to help prevent buffer overflows by enforcing bounds checking on pointer references.

All labels observed (4)

How this entity was disambiguated

Statements (49)

Predicate Object
instanceOf Intel processor extension ⓘ
hardware-based memory protection extension ⓘ
abbreviation MPX ⓘ
architecture x86 ⓘ
x86-64 ⓘ
checkingType spatial memory bounds checking ⓘ
comparedTo Intel MPX has higher overhead than some software-based bounds checking ⓘ
linked to: Intel MPX

Intel MPX is less widely adopted than Intel CET ⓘ
linked to: Intel MPX
developer Intel ⓘ
linked to: Intel Corporation
documentation Intel 64 and IA-32 Architectures Software Developer’s Manual ⓘ
doesNotMitigate temporal memory safety violations such as use-after-free ⓘ
effectOnPerformance can significantly slow down applications ⓘ
feature bounds registers ⓘ
bounds tables ⓘ
hardware-assisted bounds checking ⓘ
new x86 instructions for bounds checking ⓘ
fullName Intel Memory Protection Extensions ⓘ
linked to: Intel MPX
introducedBy Intel Skylake microarchitecture ⓘ
introducedIn Intel 6th generation Core processors ⓘ
mitigates buffer overflows ⓘ
out-of-bounds memory accesses ⓘ
some spatial memory safety violations ⓘ
operatingMode user space ⓘ
purpose enforce bounds checking on pointer references ⓘ
prevent buffer overflows ⓘ
reasonForDeprecation complex software support ⓘ
high runtime overhead ⓘ
limited security benefits compared to alternatives ⓘ
relatedTechnology AddressSanitizer ⓘ
Intel CET ⓘ
Intel SGX ⓘ
Software-based bounds checking ⓘ
requires changes to application code or recompilation ⓘ
compiler support ⓘ
operating system support ⓘ
runtime libraries ⓘ
securityDomain memory safety ⓘ
securityGoal reduce exploitation of memory corruption vulnerabilities ⓘ
standard part of Intel 64 and IA-32 Architectures extensions set ⓘ
status deprecated ⓘ
discontinued in newer Intel processors ⓘ
successorTechnology Intel Control-flow Enforcement Technology ⓘ
supportedBy Clang ⓘ
GCC ⓘ
Linux kernel (historically) ⓘ
linked to: Linux kernel
supportStatusInGCC marked as deprecated ⓘ
supportStatusInLinux removed from mainline Linux kernel ⓘ
uses bounds tables in memory to store additional bounds metadata ⓘ
dedicated bounds registers to store pointer bounds ⓘ

How these facts were elicited

Referenced by (8)

Full triples — surface form annotated when it differs from this entity's canonical label.

Goldmont → supports → Intel MPX ⓘ
Goldmont Plus → supports → Intel MPX ⓘ
Tremont → supports → Intel MPX ⓘ
Intel MPX → fullName → Intel Memory Protection Extensions ⓘ
linked to: Intel MPX
Intel MPX → comparedTo → Intel MPX has higher overhead than some software-based bounds checking ⓘ
linked to: Intel MPX
Intel MPX → comparedTo → Intel MPX is less widely adopted than Intel CET ⓘ
linked to: Intel MPX