]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
mm: use ARCH_PKEY_BITS to define VM_PKEY_BITN
authorJoey Gouly <joey.gouly@arm.com>
Thu, 22 Aug 2024 15:10:46 +0000 (16:10 +0100)
committerWill Deacon <will@kernel.org>
Wed, 4 Sep 2024 11:52:40 +0000 (12:52 +0100)
Use the new CONFIG_ARCH_PKEY_BITS to simplify setting these bits
for different architectures.

Signed-off-by: Joey Gouly <joey.gouly@arm.com>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: linux-fsdevel@vger.kernel.org
Cc: linux-mm@kvack.org
Acked-by: Dave Hansen <dave.hansen@linux.intel.com>
Reviewed-by: Anshuman Khandual <anshuman.khandual@arm.com>
Link: https://lore.kernel.org/r/20240822151113.1479789-4-joey.gouly@arm.com
Signed-off-by: Will Deacon <will@kernel.org>
fs/proc/task_mmu.c
include/linux/mm.h

index 5f171ad7b436be5915e4564afba2c680a209c777..2c5f4814aef97cfe335dead945620778c7f7abf8 100644 (file)
@@ -976,7 +976,9 @@ static void show_smap_vma_flags(struct seq_file *m, struct vm_area_struct *vma)
                [ilog2(VM_PKEY_BIT0)]   = "",
                [ilog2(VM_PKEY_BIT1)]   = "",
                [ilog2(VM_PKEY_BIT2)]   = "",
+#if VM_PKEY_BIT3
                [ilog2(VM_PKEY_BIT3)]   = "",
+#endif
 #if VM_PKEY_BIT4
                [ilog2(VM_PKEY_BIT4)]   = "",
 #endif
index c4b238a20b76e906c4a29fe58cb76cb5e95a56a3..fb6ccd93f58915a3c7be4ad5ce47d778bff949ae 100644 (file)
@@ -330,12 +330,16 @@ extern unsigned int kobjsize(const void *objp);
 #endif /* CONFIG_ARCH_USES_HIGH_VMA_FLAGS */
 
 #ifdef CONFIG_ARCH_HAS_PKEYS
-# define VM_PKEY_SHIFT VM_HIGH_ARCH_BIT_0
-# define VM_PKEY_BIT0  VM_HIGH_ARCH_0  /* A protection key is a 4-bit value */
-# define VM_PKEY_BIT1  VM_HIGH_ARCH_1  /* on x86 and 5-bit value on ppc64   */
-# define VM_PKEY_BIT2  VM_HIGH_ARCH_2
-# define VM_PKEY_BIT3  VM_HIGH_ARCH_3
-#ifdef CONFIG_PPC
+# define VM_PKEY_SHIFT VM_HIGH_ARCH_BIT_0
+# define VM_PKEY_BIT0  VM_HIGH_ARCH_0
+# define VM_PKEY_BIT1  VM_HIGH_ARCH_1
+# define VM_PKEY_BIT2  VM_HIGH_ARCH_2
+#if CONFIG_ARCH_PKEY_BITS > 3
+# define VM_PKEY_BIT3  VM_HIGH_ARCH_3
+#else
+# define VM_PKEY_BIT3  0
+#endif
+#if CONFIG_ARCH_PKEY_BITS > 4
 # define VM_PKEY_BIT4  VM_HIGH_ARCH_4
 #else
 # define VM_PKEY_BIT4  0