lkml.org 
[lkml]   [2018]   [Jan]   [18]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH v10 01/27] mm, powerpc, x86: define VM_PKEY_BITx bits if CONFIG_ARCH_HAS_PKEYS is enabled
    Date
    VM_PKEY_BITx are defined only if CONFIG_X86_INTEL_MEMORY_PROTECTION_KEYS
    is enabled. Powerpc also needs these bits. Hence lets define the
    VM_PKEY_BITx bits for any architecture that enables
    CONFIG_ARCH_HAS_PKEYS.

    Signed-off-by: Ram Pai <linuxram@us.ibm.com>
    ---
    fs/proc/task_mmu.c | 4 ++--
    include/linux/mm.h | 9 +++++----
    2 files changed, 7 insertions(+), 6 deletions(-)

    diff --git a/fs/proc/task_mmu.c b/fs/proc/task_mmu.c
    index 339e4c1..b139617 100644
    --- a/fs/proc/task_mmu.c
    +++ b/fs/proc/task_mmu.c
    @@ -674,13 +674,13 @@ static void show_smap_vma_flags(struct seq_file *m, struct vm_area_struct *vma)
    [ilog2(VM_MERGEABLE)] = "mg",
    [ilog2(VM_UFFD_MISSING)]= "um",
    [ilog2(VM_UFFD_WP)] = "uw",
    -#ifdef CONFIG_X86_INTEL_MEMORY_PROTECTION_KEYS
    +#ifdef CONFIG_ARCH_HAS_PKEYS
    /* These come out via ProtectionKey: */
    [ilog2(VM_PKEY_BIT0)] = "",
    [ilog2(VM_PKEY_BIT1)] = "",
    [ilog2(VM_PKEY_BIT2)] = "",
    [ilog2(VM_PKEY_BIT3)] = "",
    -#endif
    +#endif /* CONFIG_ARCH_HAS_PKEYS */
    };
    size_t i;

    diff --git a/include/linux/mm.h b/include/linux/mm.h
    index ea818ff..01381d3 100644
    --- a/include/linux/mm.h
    +++ b/include/linux/mm.h
    @@ -228,15 +228,16 @@ extern int overcommit_kbytes_handler(struct ctl_table *, int, void __user *,
    #define VM_HIGH_ARCH_4 BIT(VM_HIGH_ARCH_BIT_4)
    #endif /* CONFIG_ARCH_USES_HIGH_VMA_FLAGS */

    -#if defined(CONFIG_X86)
    -# define VM_PAT VM_ARCH_1 /* PAT reserves whole VMA at once (x86) */
    -#if defined (CONFIG_X86_INTEL_MEMORY_PROTECTION_KEYS)
    +#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
    # define VM_PKEY_BIT2 VM_HIGH_ARCH_2
    # define VM_PKEY_BIT3 VM_HIGH_ARCH_3
    -#endif
    +#endif /* CONFIG_ARCH_HAS_PKEYS */
    +
    +#if defined(CONFIG_X86)
    +# define VM_PAT VM_ARCH_1 /* PAT reserves whole VMA at once (x86) */
    #elif defined(CONFIG_PPC)
    # define VM_SAO VM_ARCH_1 /* Strong Access Ordering (powerpc) */
    #elif defined(CONFIG_PARISC)
    --
    1.7.1
    \
     
     \ /
      Last update: 2018-01-19 02:53    [W:2.792 / U:0.048 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site