[PATCH v3] powerpc, pkey: make protection key 0 less special
Ram Pai
linuxram at us.ibm.com
Sat May 5 06:21:14 AEST 2018
On Fri, May 04, 2018 at 12:59:27PM -0700, Dave Hansen wrote:
> On 05/04/2018 12:22 PM, Ram Pai wrote:
> > @@ -407,9 +414,6 @@ static bool pkey_access_permitted(int pkey, bool write, bool execute)
> > int pkey_shift;
> > u64 amr;
> >
> > - if (!pkey)
> > - return true;
> > -
> > if (!is_pkey_enabled(pkey))
> > return true;
>
> Looks fine to me. Obviously doesn't have any impact on x86 or the
> generic code.
>
> One question, though. Which other check makes up for this removed !pkey
> check?
is_pkey_enabled() does take care of it. we do not enable userspace to
change permissions on pkey-0. This information is tracked in
UAMOR register. is_pkey_enabled() refers to UAMOR to determine
if the given key is modifiable by userspace. since UAMOR has the bit
corresponding to key-0 set to 0, is_pkey_enabled(key-0) will return
false.
The deleted code above, would have done the same job without
referring UAMOR. However having special checks on pkey-0 makes
pkey-0 special. It defeats the purpose of this patch; which is to make
pkey-0 less special :).
--
Ram Pai
More information about the Linuxppc-dev
mailing list