mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-12-18 13:08:08 +07:00
powerpc/pkeys: Deny read/write/execute by default
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: cf43d3b264
("powerpc: Enable pkey subsystem")
Cc: stable@vger.kernel.org # v4.16+
Signed-off-by: Ram Pai <linuxram@us.ibm.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
This commit is contained in:
parent
a57a04c76e
commit
de113256f8
@ -124,12 +124,10 @@ int pkey_initialize(void)
|
|||||||
|
|
||||||
/* register mask is in BE format */
|
/* register mask is in BE format */
|
||||||
pkey_amr_mask = ~0x0ul;
|
pkey_amr_mask = ~0x0ul;
|
||||||
pkey_iamr_mask = ~0x0ul;
|
pkey_amr_mask &= ~(0x3ul << pkeyshift(0));
|
||||||
|
|
||||||
for (i = 0; i < (pkeys_total - os_reserved); i++) {
|
pkey_iamr_mask = ~0x0ul;
|
||||||
pkey_amr_mask &= ~(0x3ul << pkeyshift(i));
|
pkey_iamr_mask &= ~(0x3ul << pkeyshift(0));
|
||||||
pkey_iamr_mask &= ~(0x1ul << pkeyshift(i));
|
|
||||||
}
|
|
||||||
|
|
||||||
pkey_uamor_mask = ~0x0ul;
|
pkey_uamor_mask = ~0x0ul;
|
||||||
pkey_uamor_mask &= ~(0x3ul << pkeyshift(0));
|
pkey_uamor_mask &= ~(0x3ul << pkeyshift(0));
|
||||||
|
Loading…
Reference in New Issue
Block a user