Subject: [RFC][v2] x86: remove Intel MPX

Here's a second attempt at MPX removal.  The first one was not friendly
to KVM live migration.  We should probably apply the first two patches
(at least) for 4.20+1.


Unfortunately, GCC 9.1 is expected to be be released without support for
MPX.  This means that there was only a relatively small window where
folks could have ever used MPX.  It failed to gain wide adoption in the
industry, and Linux was the only mainstream OS to ever support it widely.

Support for the feature may also disappear on future processors.

The benefits of keeping the feature in the tree is not worth the ongoing
maintenance cost.  This is an incremental, bisectable, set that removes
MPX bit by bit.  The only MPX code left in the kernel is the XSAVE state
management which is currently still needed for guests that might use MPX.
Keeping this code prevents breaking live migration between kernels which
have MPX removed versus present.

It was a fun run, but it's time for it to go.  Adios, MPX!

Cc: Dave Hansen <>
Cc: Andy Lutomirski <>
Cc: Peter Zijlstra <>
Cc: Paolo Bonzini <>
Cc: Andrew Morton <>
x86/mpx: remove MPX from arch/x86

From: Dave Hansen <>

MPX is being removed from the kernel due to a lack of support
in the toolchain going forward (gcc).

This removes all the remaining (dead at this point) MPX handling
code remaining in the tree.  The only remaining code is the XSAVE
support for MPX state which is currently needd for KVM to handle
VMs which might use MPX.

Signed-off-by: Dave Hansen <>
18 files changed