x86, mpx: Update documentation
authorDave Hansen <dave.hansen@linux.intel.com>
Fri, 12 Dec 2014 18:38:35 +0000 (10:38 -0800)
committerThomas Gleixner <tglx@linutronix.de>
Mon, 15 Dec 2014 14:58:57 +0000 (15:58 +0100)
commit010e593b140decdc16bb0c1c754b07b1fccb6999
tree960306184273c7ffd4480548b7631fa95e940b5d
parente10abb2f770eeb673d23c19980216b0fb62b4f50
x86, mpx: Update documentation

I was writing some MPX test programs and realized that the
current design makes it tricky.  I did something like:

bndcfgu |= bnd_dir | BNDCFGU_ENABLE;
xrstor();
printf("xrstor done");
// #BR bounds exception here
prctl(MPX_ENABLE_MANAGEMENT);

and then compiled the app with "-fcheck-pointer-bounds -mmpx"
to enable MPX instrumentation.

The problem is that there is MPX instrumentation inserted in
to the area of the printf().  The kernel gets a bounds exception
and since management isn't yet enabled, it SIGSEGV's.

Add a bit to the documentation to explain a way around this and
where apps need to be careful.

Signed-off-by: Dave Hansen <dave.hansen@linux.intel.com>
Cc: Dave Hansen <dave@sr71.net>
Link: http://lkml.kernel.org/r/20141212183835.8C581B3E@viggo.jf.intel.com
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Documentation/x86/intel_mpx.txt