From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-8.2 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS, USER_AGENT_SANE_1 autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 90D46C282DD for ; Wed, 8 Jan 2020 17:20:28 +0000 (UTC) Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.kernel.org (Postfix) with ESMTP id 4F9BC2067D for ; Wed, 8 Jan 2020 17:20:28 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 4F9BC2067D Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=deltatee.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=owner-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix) id D142F8E0008; Wed, 8 Jan 2020 12:20:27 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id CEB618E0001; Wed, 8 Jan 2020 12:20:27 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id C02178E0008; Wed, 8 Jan 2020 12:20:27 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0070.hostedemail.com [216.40.44.70]) by kanga.kvack.org (Postfix) with ESMTP id AB9A58E0001 for ; Wed, 8 Jan 2020 12:20:27 -0500 (EST) Received: from smtpin10.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay02.hostedemail.com (Postfix) with SMTP id 65EEE641D for ; Wed, 8 Jan 2020 17:20:27 +0000 (UTC) X-FDA: 76355130894.10.dolls86_3da7a282c703 X-HE-Tag: dolls86_3da7a282c703 X-Filterd-Recvd-Size: 6613 Received: from ale.deltatee.com (ale.deltatee.com [207.54.116.67]) by imf48.hostedemail.com (Postfix) with ESMTP for ; Wed, 8 Jan 2020 17:20:26 +0000 (UTC) Received: from s0106ac1f6bb1ecac.cg.shawcable.net ([70.73.163.230] helo=[192.168.11.155]) by ale.deltatee.com with esmtpsa (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92) (envelope-from ) id 1ipF00-0004MS-Qh; Wed, 08 Jan 2020 10:20:05 -0700 To: David Hildenbrand , linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-ia64@vger.kernel.org, linuxppc-dev@lists.ozlabs.org, linux-s390@vger.kernel.org, linux-sh@vger.kernel.org, platform-driver-x86@vger.kernel.org, linux-mm@kvack.org, Dan Williams , Michal Hocko , Andrew Morton Cc: Christoph Hellwig , Catalin Marinas , Will Deacon , Benjamin Herrenschmidt , Thomas Gleixner , Ingo Molnar , Borislav Petkov , Dave Hansen , Andy Lutomirski , Peter Zijlstra , Eric Badger , Heiko Carstens , Vasily Gorbik , Christian Borntraeger References: <20200107205959.7575-1-logang@deltatee.com> <20200107205959.7575-7-logang@deltatee.com> From: Logan Gunthorpe Message-ID: <9226e0e4-832b-d873-f433-f29a7853f11e@deltatee.com> Date: Wed, 8 Jan 2020 10:20:00 -0700 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.3.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=windows-1252 Content-Language: en-US Content-Transfer-Encoding: 7bit X-SA-Exim-Connect-IP: 70.73.163.230 X-SA-Exim-Rcpt-To: borntraeger@de.ibm.com, gor@linux.ibm.com, heiko.carstens@de.ibm.com, ebadger@gigaio.com, peterz@infradead.org, luto@kernel.org, dave.hansen@linux.intel.com, bp@alien8.de, mingo@redhat.com, tglx@linutronix.de, benh@kernel.crashing.org, will@kernel.org, catalin.marinas@arm.com, hch@lst.de, akpm@linux-foundation.org, mhocko@kernel.org, dan.j.williams@intel.com, linux-mm@kvack.org, platform-driver-x86@vger.kernel.org, linux-sh@vger.kernel.org, linux-s390@vger.kernel.org, linuxppc-dev@lists.ozlabs.org, linux-ia64@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, david@redhat.com X-SA-Exim-Mail-From: logang@deltatee.com Subject: Re: [PATCH v2 6/8] s390/mm: Thread pgprot_t through vmem_add_mapping() X-SA-Exim-Version: 4.2.1 (built Wed, 08 May 2019 21:11:16 +0000) X-SA-Exim-Scanned: Yes (on ale.deltatee.com) X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: On 2020-01-08 5:43 a.m., David Hildenbrand wrote: > On 07.01.20 21:59, Logan Gunthorpe wrote: >> In prepartion to support a pgprot_t argument for arch_add_memory(). >> >> Cc: Heiko Carstens >> Cc: Vasily Gorbik >> Cc: Christian Borntraeger >> Signed-off-by: Logan Gunthorpe >> --- >> arch/s390/include/asm/pgtable.h | 3 ++- >> arch/s390/mm/extmem.c | 3 ++- >> arch/s390/mm/init.c | 2 +- >> arch/s390/mm/vmem.c | 10 +++++----- >> 4 files changed, 10 insertions(+), 8 deletions(-) >> >> diff --git a/arch/s390/include/asm/pgtable.h b/arch/s390/include/asm/pgtable.h >> index 7b03037a8475..e667a1a96879 100644 >> --- a/arch/s390/include/asm/pgtable.h >> +++ b/arch/s390/include/asm/pgtable.h >> @@ -1640,7 +1640,8 @@ static inline swp_entry_t __swp_entry(unsigned long type, unsigned long offset) >> >> #define kern_addr_valid(addr) (1) >> >> -extern int vmem_add_mapping(unsigned long start, unsigned long size); >> +extern int vmem_add_mapping(unsigned long start, unsigned long size, >> + pgprot_t prot); >> extern int vmem_remove_mapping(unsigned long start, unsigned long size); >> extern int s390_enable_sie(void); >> extern int s390_enable_skey(void); >> diff --git a/arch/s390/mm/extmem.c b/arch/s390/mm/extmem.c >> index fd0dae9d10f4..6cf7029a7b35 100644 >> --- a/arch/s390/mm/extmem.c >> +++ b/arch/s390/mm/extmem.c >> @@ -313,7 +313,8 @@ __segment_load (char *name, int do_nonshared, unsigned long *addr, unsigned long >> goto out_free; >> } >> >> - rc = vmem_add_mapping(seg->start_addr, seg->end - seg->start_addr + 1); >> + rc = vmem_add_mapping(seg->start_addr, seg->end - seg->start_addr + 1, >> + PAGE_KERNEL); >> >> if (rc) >> goto out_free; >> diff --git a/arch/s390/mm/init.c b/arch/s390/mm/init.c >> index a0c88c1c9ad0..ef19522ddad2 100644 >> --- a/arch/s390/mm/init.c >> +++ b/arch/s390/mm/init.c >> @@ -277,7 +277,7 @@ int arch_add_memory(int nid, u64 start, u64 size, >> if (WARN_ON_ONCE(modifiers->altmap)) >> return -EINVAL; >> >> - rc = vmem_add_mapping(start, size); >> + rc = vmem_add_mapping(start, size, PAGE_KERNEL); >> if (rc) >> return rc; >> >> diff --git a/arch/s390/mm/vmem.c b/arch/s390/mm/vmem.c >> index b403fa14847d..8a5e95f184a2 100644 >> --- a/arch/s390/mm/vmem.c >> +++ b/arch/s390/mm/vmem.c >> @@ -66,7 +66,7 @@ pte_t __ref *vmem_pte_alloc(void) >> /* >> * Add a physical memory range to the 1:1 mapping. >> */ >> -static int vmem_add_mem(unsigned long start, unsigned long size) >> +static int vmem_add_mem(unsigned long start, unsigned long size, pgprot_t prot) >> { >> unsigned long pgt_prot, sgt_prot, r3_prot; >> unsigned long pages4k, pages1m, pages2g; >> @@ -79,7 +79,7 @@ static int vmem_add_mem(unsigned long start, unsigned long size) >> pte_t *pt_dir; >> int ret = -ENOMEM; >> >> - pgt_prot = pgprot_val(PAGE_KERNEL); >> + pgt_prot = pgprot_val(prot); >> sgt_prot = pgprot_val(SEGMENT_KERNEL); >> r3_prot = pgprot_val(REGION3_KERNEL); > > So, if we map as huge/gigantic pages, the protection would be discarded? > That looks wrong. > > s390x does not support ZONE_DEVICE yet. Maybe simply bail out for s390x > as you do for sh to make your life easier? Yeah, ok, makes sense to me; I'll change it for v3. Logan