On Tue, Feb 02, 2021 at 08:30:50PM +0530, Sandipan Das wrote: > This removes arch_supports_pkeys(), arch_usable_pkeys() and > thread_pkey_regs_*() which are remnants from the following: > > commit 06bb53b33804 ("powerpc: store and restore the pkey state across > context switches") > commit 2cd4bd192ee9 ("powerpc/pkeys: Fix handling of pkey state across > fork()") > commit cf43d3b26452 ("powerpc: Enable pkey subsystem") > > arch_supports_pkeys() and arch_usable_pkeys() were unused > since their introduction while thread_pkey_regs_*() became > unused after the introduction of the following: > > commit d5fa30e6993f ("powerpc/book3s64/pkeys: Reset userspace AMR correctly > on exec") > commit 48a8ab4eeb82 ("powerpc/book3s64/pkeys: Don't update SPRN_AMR when in > kernel mode") > > Signed-off-by: Sandipan Das <sandi...@linux.ibm.com> > --- > arch/powerpc/include/asm/mmu_context.h | 3 --- > arch/powerpc/include/asm/pkeys.h | 6 ------ > 2 files changed, 9 deletions(-) > > diff --git a/arch/powerpc/include/asm/mmu_context.h > b/arch/powerpc/include/asm/mmu_context.h > index d5821834dba9..652ce85f9410 100644 > --- a/arch/powerpc/include/asm/mmu_context.h > +++ b/arch/powerpc/include/asm/mmu_context.h > @@ -282,9 +282,6 @@ static inline bool arch_vma_access_permitted(struct > vm_area_struct *vma, > } > > #define pkey_mm_init(mm) > -#define thread_pkey_regs_save(thread) > -#define thread_pkey_regs_restore(new_thread, old_thread) > -#define thread_pkey_regs_init(thread) > #define arch_dup_pkeys(oldmm, mm) > > static inline u64 pte_to_hpte_pkey_bits(u64 pteflags, unsigned long flags) > diff --git a/arch/powerpc/include/asm/pkeys.h > b/arch/powerpc/include/asm/pkeys.h > index a7951049e129..59a2c7dbc78f 100644 > --- a/arch/powerpc/include/asm/pkeys.h > +++ b/arch/powerpc/include/asm/pkeys.h > @@ -169,10 +169,4 @@ static inline bool arch_pkeys_enabled(void) > } > > extern void pkey_mm_init(struct mm_struct *mm); > -extern bool arch_supports_pkeys(int cap); > -extern unsigned int arch_usable_pkeys(void); > -extern void thread_pkey_regs_save(struct thread_struct *thread); > -extern void thread_pkey_regs_restore(struct thread_struct *new_thread, > - struct thread_struct *old_thread); > -extern void thread_pkey_regs_init(struct thread_struct *thread); > #endif /*_ASM_POWERPC_KEYS_H */
Looking at this code after a long time. Though I do not entirely understand, the reason to change the logic for save and restore of the AMR/IAMR register, I do understand that with those changes these three function-prototypes became unnecessary. Reviewed-by: Ram Pai <linux...@us.ibm.com> RP