diff options
author | Dave Hansen <dave.hansen@linux.intel.com> | 2014-12-12 10:38:35 -0800 |
---|---|---|
committer | Thomas Gleixner <tglx@linutronix.de> | 2014-12-15 15:58:57 +0100 |
commit | 010e593b140decdc16bb0c1c754b07b1fccb6999 (patch) | |
tree | 960306184273c7ffd4480548b7631fa95e940b5d /arch | |
parent | e10abb2f770eeb673d23c19980216b0fb62b4f50 (diff) | |
download | linux-010e593b140decdc16bb0c1c754b07b1fccb6999.tar.gz linux-010e593b140decdc16bb0c1c754b07b1fccb6999.tar.bz2 linux-010e593b140decdc16bb0c1c754b07b1fccb6999.zip |
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>
Diffstat (limited to 'arch')
0 files changed, 0 insertions, 0 deletions