1. Computers
  2. Display Drivers
  3. Graphics Cards
  4. Memory
  5. Motherboards
  6. Processors
  7. Software
  8. Storage
  9. Operating Systems


Facebook RSS Twitter Twitter Google Plus


Phoronix Test Suite

OpenBenchmarking.org

Intel MPX Memory Protection Still Baking For Linux

Intel

Published on 11 January 2014 09:15 PM EST
Written by Michael Larabel in Intel
Comment On This Article

Intel Linux developers are still working to land Memory Protection Extensions (MPX) support into the mainline Linux kernel for this new feature coming to Skylake.

While we are still waiting for Broadwell to land in the coming months as the next-gen processors succeeding Haswell, Intel Linux developers are already working on early steps towards Intel Skylake enablement. Intel MPX is short for the Memory Protection Extensions and is an x86 iextension for checking pointer references and trying to help developers better fend off possible buffer overflows.

MPX was first detailed by Intel last year as a mix of OS, compiler, and run-time work for increasing software security through checking pointer references. For those not yet familiar with Intel MPX, see the Intel.com articles.

Intel developers have been playing with Intel MPX for GCC since last year while on the kernel side they are still working to land the changes. Qiaowei Ren of Intel published a fresh set of five patches to the Linux kernel on Saturday with this patch series.
Intel(R) Memory Protection Extensions (Intel(R) MPX) is a new capability introduced into Intel Architecture. Intel MPX can increase the robustness of software when it is used in conjunction with compiler changes to check that memory references intended at compile time do not become unsafe at runtime.

Two of the most important goals of Intel MPX are to provide this capability at very low performance overhead for newly compiled code, and to provide compatibility mechanisms with legacy software components. A direct benefit Intel MPX provides is hardening software against malicious attacks designed to cause or exploit buffer overruns.

Intel MPX introduces new registers and new instructions that operate on these registers. Some of the registers added are bounds registers which store a pointer's lower bound and upper bound limits. Whenever the pointer is used, the requested reference is checked against the pointer's associated bounds, thereby preventing out-of-bound memory access (such as buffer overflows and overruns). Out-of-bounds memory references initiate a #BR exception which can then be handled in an appropriate manner.
This new code probably won't end up being mainlined until at least the Linux 3.15 kernel (but could be a surprise for the Linux 3.14 merge window that soon will be opening), but at least that's still well ahead of the expected Intel Skylake debut in 2015. Besides MPX, the 14nm Intel Skylake is expected to also offer new SHA extensions, ADX Add-Carry Instructions, AVX-512F, and various other improvements.

About The Author
Michael Larabel is the principal author of Phoronix.com and founded the web-site in 2004 with a focus on enriching the Linux hardware experience and being the largest web-site devoted to Linux hardware reviews, particularly for products relevant to Linux gamers and enthusiasts but also commonly reviewing servers/workstations and embedded Linux devices. Michael has written more than 10,000 articles covering the state of Linux hardware support, Linux performance, graphics hardware drivers, and other topics. Michael is also the lead developer of the Phoronix Test Suite, Phoromatic, and OpenBenchmarking.org automated testing software. He can be followed via and or contacted via .
Latest Linux Hardware Reviews
  1. Intel Launches The Core i7 5960X, Mighty Powerful Haswell-E CPUs
  2. AMD Radeon R9 290: Gallium3D vs. Catalyst Drivers
  3. AMD Radeon R9 290 Open-Source Driver Works, But Has A Ways To Go
  4. Trying The Configurable 45 Watt TDP With AMD's A10-7800 / A6-7400K
Latest Linux Articles
  1. Testing For The Latest Linux Kernel Power Regression
  2. The Most Energy Efficient Radeon GPU For AMD Linux Gaming
  3. 20-Way Radeon Comparison With Open-Source Graphics For Steam On Linux Gaming
  4. Preview: OS X 10.10 Yosemite vs. Ubuntu Linux GPU Performance
Latest Linux News
  1. LibreOffice Ported To 64-bit ARM (AArch64)
  2. Enlightenment E19 RC3 Shows Off The New Wayland Compositor
  3. Metro Redux Is Going To Require OpenGL 4.x On Linux
  4. Jailhouse v0.1 Released As A Basic Hypervisor For Linux
  5. Google's Chromebook "Samus" Now Supported By Coreboot
  6. Chrome 38 Now In Beta With Exciting Advancements
  7. Ubuntu's Utopic Unicorn 14.10 Beta 1 Released
  8. Genode OS 14.08 Has New GUI Architecture, Pluggable VFS
  9. Another Intel Linux Power Regression Is Being Investigated
  10. DNF Makes It A Step Closer To Replacing Yum On Fedora
Latest Forum Discussions
  1. Updated and Optimized Ubuntu Free Graphics Drivers
  2. Canonical Joined The Khronos Group To Help Mir/Wayland Drivers
  3. Users defect to Linux as OpenBSD removes Lynx from base system
  4. Radeon HD5670 and Ubuntu 14.04
  5. AMD Releases UVD Video Decode Support For R600 GPUs
  6. Best Radeon for a Power Mac G5?
  7. OC capability - Intel Core i5 4690K & Biostar Hi-Fi Z97WE
  8. Announcing radeontop, a tool for viewing the GPU usage