Re: [PATCH 28/34] x86: wire up mprotect_key() system call

From: Dave Hansen
Date: Tue Dec 08 2015 - 14:07:05 EST


On 12/08/2015 10:44 AM, Thomas Gleixner wrote:
> On Thu, 3 Dec 2015, Dave Hansen wrote:
>> #include <asm-generic/mman.h>
>> diff -puN mm/Kconfig~pkeys-16-x86-mprotect_key mm/Kconfig
>> --- a/mm/Kconfig~pkeys-16-x86-mprotect_key 2015-12-03 16:21:31.114920208 -0800
>> +++ b/mm/Kconfig 2015-12-03 16:21:31.119920435 -0800
>> @@ -679,4 +679,5 @@ config NR_PROTECTION_KEYS
>> # Everything supports a _single_ key, so allow folks to
>> # at least call APIs that take keys, but require that the
>> # key be 0.
>> + default 16 if X86_INTEL_MEMORY_PROTECTION_KEYS
>> default 1
>
> What happens if I set that to 42?
>
> I think we want to make this a runtime evaluated thingy. If pkeys are
> compiled in, but the machine does not support it then we don't support
> 16 keys, or do we?

We do have runtime evaluation:

#define arch_max_pkey() (boot_cpu_has(X86_FEATURE_OSPKE) ? \
CONFIG_NR_PROTECTION_KEYS : 1)

The config option really just sets the architectural limit for how many
are supported. So it probably needs a better name at least. Let me
take a look at getting rid of this config option entirely.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/