• Dave Hansen's avatar
    x86/mpx, selftests: Add MPX self test · e754aedc
    Dave Hansen authored
    I've had this code for a while, but never submitted it upstream.  Now
    that Skylake hardware is out in the wild, folks can actually run this
    for real.  It tests the following:
    
    	1. The MPX hardware is enabled by the kernel and doing what it
    	   is supposed to
    	2. The MPX management code is present and enabled in the kernel
    	3. MPX Signal handling
    	4. The MPX bounds table population code (on-demand population)
    	5. The MPX bounds table unmapping code (kernel-initiated freeing
    	   when unused)
    
    This has also caught bugs in the XSAVE code because MPX state is
    saved/restored with XSAVE.
    
    I'm submitting it now because it would have caught the recent issues
    with the compat_siginfo code not being properly augmented when new
    siginfo state is added.
    Signed-off-by: default avatarDave Hansen <dave.hansen@linux.intel.com>
    Cc: Al Viro <viro@zeniv.linux.org.uk>
    Cc: Andy Lutomirski <luto@kernel.org>
    Cc: Borislav Petkov <bp@alien8.de>
    Cc: Brian Gerst <brgerst@gmail.com>
    Cc: Dave Hansen <dave@sr71.net>
    Cc: Denys Vlasenko <dvlasenk@redhat.com>
    Cc: H. Peter Anvin <hpa@zytor.com>
    Cc: Linus Torvalds <torvalds@linux-foundation.org>
    Cc: Oleg Nesterov <oleg@redhat.com>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Cc: Shuah Khan <shuahkh@osg.samsung.com>
    Cc: Thomas Gleixner <tglx@linutronix.de>
    Link: http://lkml.kernel.org/r/20160608172535.5B40B0EE@viggo.jf.intel.comSigned-off-by: default avatarIngo Molnar <mingo@kernel.org>
    e754aedc
mpx-dig.c 12.4 KB