]> git.baikalelectronics.ru Git - kernel.git/commit
x86/mpx, selftests: Add MPX self test
authorDave Hansen <dave.hansen@linux.intel.com>
Wed, 8 Jun 2016 17:25:35 +0000 (10:25 -0700)
committerIngo Molnar <mingo@kernel.org>
Tue, 14 Jun 2016 10:19:24 +0000 (12:19 +0200)
commit9372f8ea9a7cc9a46a7f8d11f00318063f9105b4
tree6947b5bf3d98d72223719ea80d31c306ea421f94
parent634c203e6bb711470ddd3c0db2768b6a39af88e2
x86/mpx, selftests: Add MPX self test

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: Dave 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.com
Signed-off-by: Ingo Molnar <mingo@kernel.org>
tools/testing/selftests/x86/Makefile
tools/testing/selftests/x86/mpx-debug.h [new file with mode: 0644]
tools/testing/selftests/x86/mpx-dig.c [new file with mode: 0644]
tools/testing/selftests/x86/mpx-hw.h [new file with mode: 0644]
tools/testing/selftests/x86/mpx-mini-test.c [new file with mode: 0644]
tools/testing/selftests/x86/mpx-mm.h [new file with mode: 0644]