4.18-stable review patch.  If anyone has any objections, please let me know.

------------------

From: Ram Pai <[email protected]>

commit de113256f8c1c24d8c79ae388bf2a5abd70f7577 upstream.

Deny all permissions on all keys, with some exceptions. pkey-0 must
allow all permissions, or else everything comes to a screaching halt.
Execute-only key must allow execute permission.

Fixes: cf43d3b26452 ("powerpc: Enable pkey subsystem")
Cc: [email protected] # v4.16+
Signed-off-by: Ram Pai <[email protected]>
Signed-off-by: Michael Ellerman <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>

---
 arch/powerpc/mm/pkeys.c |    8 +++-----
 1 file changed, 3 insertions(+), 5 deletions(-)

--- a/arch/powerpc/mm/pkeys.c
+++ b/arch/powerpc/mm/pkeys.c
@@ -124,12 +124,10 @@ int pkey_initialize(void)
 
        /* register mask is in BE format */
        pkey_amr_mask = ~0x0ul;
-       pkey_iamr_mask = ~0x0ul;
+       pkey_amr_mask &= ~(0x3ul << pkeyshift(0));
 
-       for (i = 0; i < (pkeys_total - os_reserved); i++) {
-               pkey_amr_mask &= ~(0x3ul << pkeyshift(i));
-               pkey_iamr_mask &= ~(0x1ul << pkeyshift(i));
-       }
+       pkey_iamr_mask = ~0x0ul;
+       pkey_iamr_mask &= ~(0x3ul << pkeyshift(0));
 
        pkey_uamor_mask = ~0x0ul;
        pkey_uamor_mask &= ~(0x3ul << pkeyshift(0));


Reply via email to