selftests, x86, protection_keys: fix wrong offset in siginfo
authorDave Hansen <dave.hansen@linux.intel.com>
Fri, 3 Feb 2017 18:51:35 +0000 (10:51 -0800)
committerShuah Khan <shuahkh@osg.samsung.com>
Wed, 8 Feb 2017 18:15:43 +0000 (11:15 -0700)
The siginfo contains a bunch of information about the fault.
For protection keys, it tells us which protection key's
permissions were violated.

The wrong offset in here leads to reading garbage and thus
failures in the tests.

We should probably eventually move this over to using the
kernel's headers defining the siginfo instead of a hard-coded
offset.  But, for now, just do the simplest fix.

Signed-off-by: Dave Hansen <dave.hansen@linux.intel.com>
Cc: Ingo Molnar <mingo@kernel.org>
Cc: Shuah Khan <shuahkh@osg.samsung.com>
Signed-off-by: Shuah Khan <shuahkh@osg.samsung.com>
tools/testing/selftests/x86/protection_keys.c

index bccc6f2a2f7e294601c6d8baa78b034413b9b404..f39c5bc6e01a6142ada895f88fd9f7719d105943 100644 (file)
@@ -192,7 +192,7 @@ void lots_o_noops_around_write(int *write_to_me)
 #define SYS_pkey_alloc  381
 #define SYS_pkey_free   382
 #define REG_IP_IDX REG_EIP
-#define si_pkey_offset 0x18
+#define si_pkey_offset 0x14
 #else
 #define SYS_mprotect_key 329
 #define SYS_pkey_alloc  330