Re: [PATCH RFC V3 9/9] x86/pks: Add PKS test code

From: Dave Hansen
Date: Tue Oct 13 2020 - 15:02:11 EST


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

> #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.

> + 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 going to be too picky about this. I'll just ask one question:
Has this found real bugs for you?

Reviewed-by: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx>