On Tue, Oct 13, 2020 at 12:02:07PM -0700, Dave Hansen wrote: > On 10/9/20 12:42 PM, ira.weiny@xxxxxxxxx wrote: > > #ifdef CONFIG_X86_32 > > /* > > * We can fault-in kernel-space virtual memory on-demand. The > > diff --git a/include/linux/pkeys.h b/include/linux/pkeys.h > > index cc3510cde64e..f9552bd9341f 100644 > > --- a/include/linux/pkeys.h > > +++ b/include/linux/pkeys.h > > @@ -47,7 +47,6 @@ static inline bool arch_pkeys_enabled(void) > > static inline void copy_init_pkru_to_fpregs(void) > > { > > } > > - > > #endif /* ! CONFIG_ARCH_HAS_PKEYS */ > > ^ Whitespace damage Done. > > > #ifndef CONFIG_ARCH_HAS_SUPERVISOR_PKEYS > > diff --git a/lib/Kconfig.debug b/lib/Kconfig.debug > > index 0c781f912f9f..f015c09ba5a1 100644 > > --- a/lib/Kconfig.debug > > +++ b/lib/Kconfig.debug > > @@ -2400,6 +2400,18 @@ config HYPERV_TESTING > > help > > Select this option to enable Hyper-V vmbus testing. > > > > +config PKS_TESTING > > + bool "PKey(S)upervisor testing" > > Seems like we need a space in there somewhere. heheh... yea... > > > + pid = fork(); > > + if (pid == 0) { > > + fd = open("/sys/kernel/debug/x86/run_pks", O_RDWR); > > + if (fd < 0) { > > + printf("cannot open file\n"); > > + return -1; > > + } > > + > > Will this return code make anybody mad? Should we have a nicer return > code for when this is running on non-PKS hardware? I'm not sure it will matter much but I think it is better to report the missing file.[1] > > I'm not going to be too picky about this. I'll just ask one question: > Has this found real bugs for you? Many, especially regressions as things have changed. > > Reviewed-by: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx> > Thanks, Ira [1] diff --git a/tools/testing/selftests/x86/test_pks.c b/tools/testing/selftests/x86/test_pks.c index 8037a2a9ff5f..11be4e212d54 100644 --- a/tools/testing/selftests/x86/test_pks.c +++ b/tools/testing/selftests/x86/test_pks.c @@ -11,6 +11,8 @@ #include <sys/stat.h> #include <fcntl.h> +#define PKS_TEST_FILE "/sys/kernel/debug/x86/run_pks" + int main(void) { cpu_set_t cpuset; @@ -25,9 +27,9 @@ int main(void) pid = fork(); if (pid == 0) { - fd = open("/sys/kernel/debug/x86/run_pks", O_RDWR); + fd = open(PKS_TEST_FILE, O_RDWR); if (fd < 0) { - printf("cannot open file\n"); + printf("cannot open %s\n", PKS_TEST_FILE); return -1; } @@ -45,9 +47,9 @@ int main(void) } else { sleep(2); - fd = open("/sys/kernel/debug/x86/run_pks", O_RDWR); + fd = open(PKS_TEST_FILE, O_RDWR); if (fd < 0) { - printf("cannot open file\n"); + printf("cannot open %s\n", PKS_TEST_FILE); return -1; }