Re: [PATCH v3] powerpc, pkey: make protection key 0 less special
From: Ram Pai <hidden>
Date: 2018-05-04 20:21:30
On Fri, May 04, 2018 at 12:59:27PM -0700, Dave Hansen wrote:
On 05/04/2018 12:22 PM, Ram Pai wrote:quoted
@@ -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