Re: [PATCH] x86/pkeys: add check for pkey "overflow"

From: Dave Hansen
Date: Wed Jan 22 2020 - 14:09:57 EST


On 1/22/20 10:51 AM, Cyrill Gorcunov wrote:
>> + /*
>> + * This code should only be called with valid 'pkey'
>> + * values originating from in-kernel users. Complain
>> + * if a bad value is observed.
>> + */
>> + WARN_ON_ONCE(pkey >= arch_max_pkey());
> Should not we rather abort this operation and exit with EINVAL
> or something similar instead of calling wrmsr with overflowed
> value? IOW,
>
> if (pkey >= arch_max_pkey()) {
> WARN_ON_ONCE(1);
> return -EINVAL;
> }

I don't feel strongly about it. The reason I didn't do that is to
minimize the chance that this would cause any functional regression.

It's not a huge chance, but I've certainly fat-fingered my share of
off-by-one bugs.