From: Ram Pai Date: Tue, 27 Mar 2018 02:36:54 +0000 (-0700) Subject: powerpc/mm: Fix thread_pkey_regs_init() X-Git-Url: http://git.lede-project.org./?a=commitdiff_plain;h=f208638680e5cb4eb0d2871ce8c29a6cfbe44dce;p=openwrt%2Fstaging%2Fblogic.git powerpc/mm: Fix thread_pkey_regs_init() thread_pkey_regs_init() initializes the pkey related registers instead of initializing the fields in the task structures. Fortunately those key related registers are re-set to zero when the task gets scheduled on the cpu. However its good to fix this glaringly visible error. Fixes: 06bb53b33804 ("powerpc: store and restore the pkey state across context switches") Signed-off-by: Ram Pai Signed-off-by: Thiago Jung Bauermann Acked-by: Balbir Singh Signed-off-by: Michael Ellerman --- diff --git a/arch/powerpc/mm/pkeys.c b/arch/powerpc/mm/pkeys.c index ba71c5481f42..328737b4d73c 100644 --- a/arch/powerpc/mm/pkeys.c +++ b/arch/powerpc/mm/pkeys.c @@ -308,9 +308,9 @@ void thread_pkey_regs_init(struct thread_struct *thread) if (static_branch_likely(&pkey_disabled)) return; - write_amr(read_amr() & pkey_amr_uamor_mask); - write_iamr(read_iamr() & pkey_iamr_mask); - write_uamor(read_uamor() & pkey_amr_uamor_mask); + thread->amr = read_amr() & pkey_amr_uamor_mask; + thread->iamr = read_iamr() & pkey_iamr_mask; + thread->uamor = read_uamor() & pkey_amr_uamor_mask; } static inline bool pkey_allows_readwrite(int pkey)