• Dave Hansen's avatar
    x86, mpx: Update documentation · 010e593b
    Dave Hansen authored
    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: default avatarDave Hansen <dave.hansen@linux.intel.com>
    Cc: Dave Hansen <dave@sr71.net>
    Link: http://lkml.kernel.org/r/20141212183835.8C581B3E@viggo.jf.intel.comSigned-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
    010e593b
intel_mpx.txt 10.8 KB