# Re: \[PATCH v12 16/22\] selftests/vm: fix an assertion in test\_pkey\_alloc\_exhaust()

- From: Dave Hansen \<hidden\>
- Date: 2018-03-16 22:28:28 
- List: linuxppc-dev
- Page: https://ratatoskr.run/linuxppc-dev/2018/03/5218937
- Thread: https://ratatoskr.run/linux-kselftest/2018/02/5195852/t.md

```text
On 02/21/2018 05:55 PM, Ram Pai wrote:
> +static inline int arch_reserved_keys(void)
> +{
> +#if defined(__i386__) || defined(__x86_64__) /* arch */
> +	return NR_RESERVED_PKEYS;
> +#elif __powerpc64__ /* arch */
> +	if (sysconf(_SC_PAGESIZE) == 4096)
> +		return NR_RESERVED_PKEYS_4K;
> +	else
> +		return NR_RESERVED_PKEYS_64K;
> +#else /* arch */
> +	NOT SUPPORTED
> +#endif /* arch */
> +}

Yeah, this is hideous.

Please either do it in one header:

#ifdef x86..
static inline int arch_reserved_keys(void)
{
}
...
#elif ppc
static inline int arch_reserved_keys(void)
{
}
...
#else
#error
#endif

Or in multiple:

#ifdef x86..
#include <pkey_x86.h>
#elif ppc
#include <pkey_ppc.h>
#else
#error
#endif
```
