Memory Protection Extensions (MPX) instructions set
Memory Protection Extensions (MPX) is a new capability introduced into Intel Architecture. MPX can increase the robustness of software when it is used in conjunction with compiler changes to check memory references, for those references whose compile-time normal intentions are usurped at runtime due to buffer overflow or underflow. Two of the most important goals of MPX are to provide this capability at low performance overhead for newly compiled code, and to provide compatibility mechanisms with legacy software components. A direct benefit MPX provides is hardening software against malicious attacks designed to cause or exploit buffer overruns.
Tip: For detailed information about each instruction please read: Intel Architectures Software Developer’s Manual Volume 2: Instruction Set Reference, A-Z
Instruction | Meaning |
---|---|
BNDMK | Create a LowerBound and a UpperBound in a register |
BNDCL | Check the address of a memory reference against a LowerBound |
BNDCU | Check the address of a memory reference against an UpperBound in 1’s compliment form |
BNDCN | Check the address of a memory reference against an UpperBound not in 1’s compliment form |
BNDMOV | Load from memory or store to memory of the LowerBound and UpperBound to a register or from a register |
BNDLDX | Load bounds using address translation |
BNDSTX | Store bounds using address translation |