Received: by 10.192.165.148 with SMTP id m20csp4412219imm; Tue, 8 May 2018 08:04:19 -0700 (PDT) X-Google-Smtp-Source: AB8JxZr05akTakFQAMR3K4PewoU85mbOnIT6DsiVtAWrsFMi0azm0nJ/ldQ36MdcklYZcxJcH02Y X-Received: by 2002:a17:902:8f95:: with SMTP id z21-v6mr37619275plo.259.1525791859592; Tue, 08 May 2018 08:04:19 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1525791859; cv=none; d=google.com; s=arc-20160816; b=Nlywxptve65sbC1NeNcwp5sF7m0hI4k1t1MxVDvf0f8m1hl1Y6P6SY0FTI3M6gjnZi fHhapK8jUxPjUYIOwpOBEr4+vJ55OCAQVnC/DAULeczh6QTSdbqUMrSKYUPa1MkGIY5x ToTxe3kCwAvehAMPJRXQU3ye2+oXuKqiOGbuGK0wjtEMCM6V0jHguYg5n5VGPQK0n375 5H6AK7MjBkOM4kaTen95SICdOLqG1+hpXuR2ilRAmXcSWT9SAMT1kSY/SfZGP5/9c3g/ 6203JoVj7v26Jfu+r/ysA/jtzcyFPnFYNfQGf27wtOU1KoXeg30cs6tvqjMmIxPO69jn 7QFg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:references:in-reply-to:message-id:date :subject:cc:to:from:arc-authentication-results; bh=qgDk0bC6hxk4lJsqxALzoCNDcScE+riVEsOt9/XWBnI=; b=nhh+wV+qqIZXmX3bJfG/XiDpPTw91NpESUIUI0vIIWeosAbj1S4a3ITtEopTtI0Hrq PMTzMf0IkXLYeOsMJ3tFqvJyGP/ciuhvecG8OhtZUiLQl17Co99CDiDe7rue95MAhraT 9GBmwq83NO1gK9srvqTrfBtRJ0JGLXlS3kykVuH1YRt/gfbnja38bsfpZUwrWKeTK1CZ mltePv7xqoHJMH5NyOqQAhFRIfVwHwEz5yZ1mM1sLQkXls5k1ucBlPTe6d8k+7sPYUAB /4IuDOgRCgPacc32D1owfdZJpvHjc+kNDkvLrJcwa2QK8ujj2kY6MfXNs/SqSAtmyi37 7EGw== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id f5si19411956pfb.314.2018.05.08.08.04.04; Tue, 08 May 2018 08:04:19 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S933005AbeEHPBg (ORCPT + 99 others); Tue, 8 May 2018 11:01:36 -0400 Received: from ozlabs.org ([203.11.71.1]:37343 "EHLO ozlabs.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932683AbeEHO75 (ORCPT ); Tue, 8 May 2018 10:59:57 -0400 Received: by ozlabs.org (Postfix, from userid 1034) id 40gN2411Nzz9s2k; Wed, 9 May 2018 00:59:56 +1000 (AEST) From: Michael Ellerman To: linuxram@us.ibm.com Cc: mingo@redhat.com, linuxppc-dev@ozlabs.org, linux-mm@kvack.org, x86@kernel.org, linux-kernel@vger.kernel.org, dave.hansen@intel.com Subject: [PATCH 1/8] mm, powerpc, x86: define VM_PKEY_BITx bits if CONFIG_ARCH_HAS_PKEYS is enabled Date: Wed, 9 May 2018 00:59:41 +1000 Message-Id: <20180508145948.9492-2-mpe@ellerman.id.au> X-Mailer: git-send-email 2.14.1 In-Reply-To: <20180508145948.9492-1-mpe@ellerman.id.au> References: <20180508145948.9492-1-mpe@ellerman.id.au> Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Ram Pai 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. Reviewed-by: Dave Hansen Signed-off-by: Ram Pai Reviewed-by: Ingo Molnar Reviewed-by: Aneesh Kumar K.V Signed-off-by: Michael Ellerman --- arch/powerpc/include/asm/pkeys.h | 2 ++ fs/proc/task_mmu.c | 4 ++-- include/linux/mm.h | 9 +++++---- 3 files changed, 9 insertions(+), 6 deletions(-) diff --git a/arch/powerpc/include/asm/pkeys.h b/arch/powerpc/include/asm/pkeys.h index 0409c80c32c0..18ef59a9886d 100644 --- a/arch/powerpc/include/asm/pkeys.h +++ b/arch/powerpc/include/asm/pkeys.h @@ -26,6 +26,8 @@ extern u32 initial_allocation_mask; /* bits set for reserved keys */ # define VM_PKEY_BIT2 VM_HIGH_ARCH_2 # define VM_PKEY_BIT3 VM_HIGH_ARCH_3 # define VM_PKEY_BIT4 VM_HIGH_ARCH_4 +#elif !defined(VM_PKEY_BIT4) +# define VM_PKEY_BIT4 VM_HIGH_ARCH_4 #endif #define ARCH_VM_PKEY_FLAGS (VM_PKEY_BIT0 | VM_PKEY_BIT1 | VM_PKEY_BIT2 | \ diff --git a/fs/proc/task_mmu.c b/fs/proc/task_mmu.c index c486ad4b43f0..541392a62608 100644 --- a/fs/proc/task_mmu.c +++ b/fs/proc/task_mmu.c @@ -673,13 +673,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 1ac1f06a4be6..c6a6f2492c1b 100644 --- a/include/linux/mm.h +++ b/include/linux/mm.h @@ -228,15 +228,16 @@ extern unsigned int kobjsize(const void *objp); #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) -- 2.14.1