Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S965735AbdGTWL5 (ORCPT ); Thu, 20 Jul 2017 18:11:57 -0400 Received: from mx0a-001b2d01.pphosted.com ([148.163.156.1]:60911 "EHLO mx0a-001b2d01.pphosted.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S965416AbdGTWLy (ORCPT ); Thu, 20 Jul 2017 18:11:54 -0400 Date: Thu, 20 Jul 2017 15:11:36 -0700 From: Ram Pai To: "Aneesh Kumar K.V" Cc: linuxppc-dev@lists.ozlabs.org, linux-kernel@vger.kernel.org, linux-arch@vger.kernel.org, linux-mm@kvack.org, x86@kernel.org, linux-doc@vger.kernel.org, linux-kselftest@vger.kernel.org, benh@kernel.crashing.org, paulus@samba.org, mpe@ellerman.id.au, khandual@linux.vnet.ibm.com, bsingharora@gmail.com, dave.hansen@intel.com, hbabu@us.ibm.com, arnd@arndb.de, akpm@linux-foundation.org, corbet@lwn.net, mingo@redhat.com, mhocko@kernel.org Subject: Re: [RFC v6 11/62] powerpc: initial pkey plumbing Reply-To: Ram Pai References: <1500177424-13695-1-git-send-email-linuxram@us.ibm.com> <1500177424-13695-12-git-send-email-linuxram@us.ibm.com> <87shhrprtx.fsf@skywalker.in.ibm.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <87shhrprtx.fsf@skywalker.in.ibm.com> User-Agent: Mutt/1.5.20 (2009-12-10) X-TM-AS-GCONF: 00 x-cbid: 17072022-0004-0000-0000-0000129F3A9E X-IBM-SpamModules-Scores: X-IBM-SpamModules-Versions: BY=3.00007395; HX=3.00000241; KW=3.00000007; PH=3.00000004; SC=3.00000214; SDB=6.00890471; UDB=6.00444896; IPR=6.00670638; BA=6.00005482; NDR=6.00000001; ZLA=6.00000005; ZF=6.00000009; ZB=6.00000000; ZP=6.00000000; ZH=6.00000000; ZU=6.00000002; MB=3.00016302; XFM=3.00000015; UTC=2017-07-20 22:11:52 X-IBM-AV-DETECTION: SAVI=unused REMOTE=unused XFE=unused x-cbparentid: 17072022-0005-0000-0000-00008053B9AC Message-Id: <20170720221136.GI5487@ram.oc3035372033.ibm.com> X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10432:,, definitions=2017-07-20_12:,, signatures=0 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 spamscore=0 suspectscore=0 malwarescore=0 phishscore=0 adultscore=0 bulkscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1706020000 definitions=main-1707200341 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2483 Lines: 62 On Thu, Jul 20, 2017 at 11:34:10AM +0530, Aneesh Kumar K.V wrote: > Ram Pai writes: > > > basic setup to initialize the pkey system. Only 64K kernel in HPT > > mode, enables the pkey system. > > > > Signed-off-by: Ram Pai > > --- > > arch/powerpc/Kconfig | 16 ++++++++++ > > arch/powerpc/include/asm/mmu_context.h | 5 +++ > > arch/powerpc/include/asm/pkeys.h | 51 ++++++++++++++++++++++++++++++++ > > arch/powerpc/kernel/setup_64.c | 4 ++ > > arch/powerpc/mm/Makefile | 1 + > > arch/powerpc/mm/hash_utils_64.c | 1 + > > arch/powerpc/mm/pkeys.c | 18 +++++++++++ > > 7 files changed, 96 insertions(+), 0 deletions(-) > > create mode 100644 arch/powerpc/include/asm/pkeys.h > > create mode 100644 arch/powerpc/mm/pkeys.c > > > > diff --git a/arch/powerpc/Kconfig b/arch/powerpc/Kconfig > > index bf4391d..5c60fd6 100644 > > --- a/arch/powerpc/Kconfig > > +++ b/arch/powerpc/Kconfig > > @@ -855,6 +855,22 @@ config SECCOMP > > > > If unsure, say Y. Only embedded should say N here. > > > > +config PPC64_MEMORY_PROTECTION_KEYS > > + prompt "PowerPC Memory Protection Keys" > > + def_bool y > > + # Note: only available in 64-bit mode > > + depends on PPC64 && PPC_64K_PAGES > > + select ARCH_USES_HIGH_VMA_FLAGS > > + select ARCH_HAS_PKEYS > > + ---help--- > > + Memory Protection Keys provides a mechanism for enforcing > > + page-based protections, but without requiring modification of the > > + page tables when an application changes protection domains. > > + > > + For details, see Documentation/vm/protection-keys.txt > > + > > + If unsure, say y. > > + > > endmenu > > > Shouldn't this come as the last patch ? Or can we enable this config by > this patch ? If so what does it do ? Did you test boot each of this > patch to make sure we don't break git bisect ? it partially enables the key subsystem. The code is there, but it does not do much. Essentially the behavior is the same as without the code. Yes. it is test booted but not extensively on all platforms/configurations. However this code is blindly enabling pkey subsystem without referring to the device tree. I have fixed this patch series to add that additional patch. In that patch series, I place all the code without enabling the subsystem. The last patch actually fires it up, depending on availability of the feature as told by the device-tree. RP