Message ID | 20180508145948.9492-6-mpe@ellerman.id.au (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On 05/08/2018 07:59 AM, Michael Ellerman wrote: > Move the last remaining pkey helper, vma_pkey() into asm/pkeys.h Fine with me, as long as it compiles. :) Reviewed-by: Dave Hansen <dave.hansen@intel.com>
Dave Hansen <dave.hansen@intel.com> writes: > On 05/08/2018 07:59 AM, Michael Ellerman wrote: >> Move the last remaining pkey helper, vma_pkey() into asm/pkeys.h > > Fine with me, as long as it compiles. :) Yeah fair point :) It survived the kbuild robot, so fingers crossed. I'll let it sit in linux-next for a while too. cheers From: kbuild test robot <lkp@intel.com> (Today 04:11) Subject: [powerpc:topic/pkey] BUILD SUCCESS 1a03cd3b474084aaa967f646379495a14716632d To: Michael Ellerman <mpe@ellerman.id.au> Date: Wed, 09 May 2018 02:11:24 +0800 tree/branch: https://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux.git topic/pkey branch HEAD: 1a03cd3b474084aaa967f646379495a14716632d mm/pkeys, x86, powerpc: Display pkey in smaps if arch supports pkeys elapsed time: 194m configs tested: 113 The following configs have been built successfully. More configs may be tested in the coming days. i386 tinyconfig i386 randconfig-x010-201818 i386 randconfig-x011-201818 i386 randconfig-x012-201818 i386 randconfig-x013-201818 i386 randconfig-x014-201818 i386 randconfig-x015-201818 i386 randconfig-x016-201818 i386 randconfig-x017-201818 i386 randconfig-x018-201818 i386 randconfig-x019-201818 microblaze mmu_defconfig microblaze nommu_defconfig i386 randconfig-i1-201818 i386 randconfig-i0-201818 alpha defconfig parisc allnoconfig parisc b180_defconfig parisc c3000_defconfig parisc defconfig x86_64 randconfig-x010-201818 x86_64 randconfig-x011-201818 x86_64 randconfig-x012-201818 x86_64 randconfig-x013-201818 x86_64 randconfig-x014-201818 x86_64 randconfig-x015-201818 x86_64 randconfig-x016-201818 x86_64 randconfig-x017-201818 x86_64 randconfig-x018-201818 x86_64 randconfig-x019-201818 x86_64 kexec x86_64 federa-25 x86_64 rhel x86_64 rhel-7.2 i386 randconfig-a0-201818 i386 randconfig-a1-201818 x86_64 randconfig-s0-05090041 x86_64 randconfig-s1-05090041 x86_64 randconfig-s2-05090041 openrisc or1ksim_defconfig um i386_defconfig um x86_64_defconfig x86_64 acpi-redef x86_64 allyesdebian x86_64 nfsroot m68k sun3_defconfig m68k multi_defconfig m68k m5475evb_defconfig i386 randconfig-s1-201818 i386 randconfig-s0-201818 x86_64 randconfig-s3-05090001 x86_64 randconfig-s4-05090001 x86_64 randconfig-s5-05090001 x86_64 randconfig-i0-201818 i386 randconfig-b0-05090042 x86_64 randconfig-u0-05090045 c6x evmc6678_defconfig h8300 h8300h-sim_defconfig nios2 10m50_defconfig xtensa common_defconfig xtensa iss_defconfig i386 allmodconfig i386 randconfig-x008-201818 i386 randconfig-x006-201818 i386 randconfig-x000-201818 i386 randconfig-x004-201818 i386 randconfig-x009-201818 i386 randconfig-x003-201818 i386 randconfig-x001-201818 i386 randconfig-x002-201818 i386 randconfig-x005-201818 i386 randconfig-x007-201818 arm at91_dt_defconfig arm allnoconfig arm efm32_defconfig arm64 defconfig arm multi_v5_defconfig arm sunxi_defconfig arm64 allnoconfig arm exynos_defconfig arm shmobile_defconfig arm multi_v7_defconfig i386 randconfig-x073-201818 i386 randconfig-x075-201818 i386 randconfig-x079-201818 i386 randconfig-x071-201818 i386 randconfig-x076-201818 i386 randconfig-x074-201818 i386 randconfig-x078-201818 i386 randconfig-x077-201818 i386 randconfig-x070-201818 i386 randconfig-x072-201818 x86_64 randconfig-x002-201818 x86_64 randconfig-x006-201818 x86_64 randconfig-x005-201818 x86_64 randconfig-x001-201818 x86_64 randconfig-x009-201818 x86_64 randconfig-x004-201818 x86_64 randconfig-x003-201818 x86_64 randconfig-x007-201818 x86_64 randconfig-x000-201818 x86_64 randconfig-x008-201818 ia64 alldefconfig ia64 allnoconfig ia64 defconfig i386 allnoconfig i386 defconfig i386 alldefconfig mips jz4740 mips malta_kvm_defconfig mips allnoconfig mips fuloong2e_defconfig mips txx9 --- 0-DAY kernel test infrastructure Open Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation
diff --git a/arch/x86/include/asm/mmu_context.h b/arch/x86/include/asm/mmu_context.h index 3d748bdf44a7..59e1fadef401 100644 --- a/arch/x86/include/asm/mmu_context.h +++ b/arch/x86/include/asm/mmu_context.h @@ -288,16 +288,6 @@ static inline void arch_unmap(struct mm_struct *mm, struct vm_area_struct *vma, mpx_notify_unmap(mm, vma, start, end); } -#ifdef CONFIG_X86_INTEL_MEMORY_PROTECTION_KEYS -static inline int vma_pkey(struct vm_area_struct *vma) -{ - unsigned long vma_pkey_mask = VM_PKEY_BIT0 | VM_PKEY_BIT1 | - VM_PKEY_BIT2 | VM_PKEY_BIT3; - - return (vma->vm_flags & vma_pkey_mask) >> VM_PKEY_SHIFT; -} -#endif - /* * We only want to enforce protection keys on the current process * because we effectively have no access to PKRU for other diff --git a/arch/x86/include/asm/pkeys.h b/arch/x86/include/asm/pkeys.h index a0ba1ffda0df..0e5f749158e4 100644 --- a/arch/x86/include/asm/pkeys.h +++ b/arch/x86/include/asm/pkeys.h @@ -106,4 +106,12 @@ extern int __arch_set_user_pkey_access(struct task_struct *tsk, int pkey, unsigned long init_val); extern void copy_init_pkru_to_fpregs(void); +static inline int vma_pkey(struct vm_area_struct *vma) +{ + unsigned long vma_pkey_mask = VM_PKEY_BIT0 | VM_PKEY_BIT1 | + VM_PKEY_BIT2 | VM_PKEY_BIT3; + + return (vma->vm_flags & vma_pkey_mask) >> VM_PKEY_SHIFT; +} + #endif /*_ASM_X86_PKEYS_H */ diff --git a/include/linux/pkeys.h b/include/linux/pkeys.h index aad54663763b..946cb773b79f 100644 --- a/include/linux/pkeys.h +++ b/include/linux/pkeys.h @@ -2,7 +2,7 @@ #ifndef _LINUX_PKEYS_H #define _LINUX_PKEYS_H -#include <linux/mm_types.h> +#include <linux/mm.h> #ifdef CONFIG_ARCH_HAS_PKEYS #include <asm/pkeys.h>
Move the last remaining pkey helper, vma_pkey() into asm/pkeys.h Signed-off-by: Michael Ellerman <mpe@ellerman.id.au> --- arch/x86/include/asm/mmu_context.h | 10 ---------- arch/x86/include/asm/pkeys.h | 8 ++++++++ include/linux/pkeys.h | 2 +- 3 files changed, 9 insertions(+), 11 deletions(-)