On fork, we inherit from the parent and on exec, we should switch to default_amr values. Also, avoid changing the AMR register value within the kernel. The kernel now runs with different AMR values. Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@linux.ibm.com> Reviewed-by: Sandipan Das <sandipan@linux.ibm.com> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au> Link: https://lore.kernel.org/r/20201127044424.40686-13-aneesh.kumar@linux.ibm.com
30 lines
636 B
C
30 lines
636 B
C
/* SPDX-License-Identifier: GPL-2.0+ */
|
|
|
|
#ifndef _ASM_POWERPC_BOOK3S_64_PKEYS_H
|
|
#define _ASM_POWERPC_BOOK3S_64_PKEYS_H
|
|
|
|
#include <asm/book3s/64/hash-pkey.h>
|
|
|
|
extern u64 __ro_after_init default_uamor;
|
|
extern u64 __ro_after_init default_amr;
|
|
extern u64 __ro_after_init default_iamr;
|
|
|
|
static inline u64 vmflag_to_pte_pkey_bits(u64 vm_flags)
|
|
{
|
|
if (!mmu_has_feature(MMU_FTR_PKEY))
|
|
return 0x0UL;
|
|
|
|
if (radix_enabled())
|
|
BUG();
|
|
return hash__vmflag_to_pte_pkey_bits(vm_flags);
|
|
}
|
|
|
|
static inline u16 pte_to_pkey_bits(u64 pteflags)
|
|
{
|
|
if (radix_enabled())
|
|
BUG();
|
|
return hash__pte_to_pkey_bits(pteflags);
|
|
}
|
|
|
|
#endif /*_ASM_POWERPC_KEYS_H */
|