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 Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id E0B34C77B7C for ; Wed, 25 Jun 2025 05:55:28 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 718956B00A2; Wed, 25 Jun 2025 01:55:28 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 6C9306B00A3; Wed, 25 Jun 2025 01:55:28 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 5B7EF6B00A5; Wed, 25 Jun 2025 01:55:28 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0012.hostedemail.com [216.40.44.12]) by kanga.kvack.org (Postfix) with ESMTP id 484786B00A2 for ; Wed, 25 Jun 2025 01:55:28 -0400 (EDT) Received: from smtpin08.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id 1D3E81066F6 for ; Wed, 25 Jun 2025 05:55:28 +0000 (UTC) X-FDA: 83592860736.08.2B70153 Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by imf11.hostedemail.com (Postfix) with ESMTP id C89E440006 for ; Wed, 25 Jun 2025 05:55:25 +0000 (UTC) Authentication-Results: imf11.hostedemail.com; dkim=none; spf=pass (imf11.hostedemail.com: domain of anshuman.khandual@arm.com designates 217.140.110.172 as permitted sender) smtp.mailfrom=anshuman.khandual@arm.com; dmarc=pass (policy=none) header.from=arm.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1750830926; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=PA3fGW6ukN+Hp5G4+kZyCeSvOHsAjH6ajGYjs57FIzU=; b=IrU8WqaHSAHCYcIIadPg8C0mjT5/ys2nw9EzIns2JcDouKBKTnzy98MusbrWiH8++UJIc6 VWfGYnkAodyj7I/kYR0oXcElNwjlGvNcXdyFv72m8yIY7EMykB+D2Z525qlOSurddt05iX OHWzAA3zgkpj0IZKIWOHjBUbsIYfQDc= ARC-Authentication-Results: i=1; imf11.hostedemail.com; dkim=none; spf=pass (imf11.hostedemail.com: domain of anshuman.khandual@arm.com designates 217.140.110.172 as permitted sender) smtp.mailfrom=anshuman.khandual@arm.com; dmarc=pass (policy=none) header.from=arm.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1750830926; a=rsa-sha256; cv=none; b=2f71h11w4Sj7vibT8jpQQXe0QRm+CZMTwLr5N8P0FK0X1r5pzgo1bQ4Qqhglizn4iRrUD5 pdIxOYMOA5O+Q/E8Up1ESCiSzRBV/fVb3GGkASJbGaMuZBpmP/0hUinZcaI/rRMcFKlsfJ q5rMUMd4woPsXIIEGiW7SXCz6V4e/NU= Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 486791063; Tue, 24 Jun 2025 22:55:06 -0700 (PDT) Received: from [10.164.146.16] (J09HK2D2RT.blr.arm.com [10.164.146.16]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 2270F3F63F; Tue, 24 Jun 2025 22:55:04 -0700 (PDT) Message-ID: <1a87887f-7c50-4412-91db-a5b4cf90e6db@arm.com> Date: Wed, 25 Jun 2025 11:25:01 +0530 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH 1/3] mm: change vm_get_page_prot() to accept vm_flags_t argument To: Lorenzo Stoakes , Andrew Morton Cc: Russell King , Catalin Marinas , Will Deacon , Madhavan Srinivasan , Michael Ellerman , Nicholas Piggin , Christophe Leroy , "David S . Miller" , Andreas Larsson , Jarkko Sakkinen , Dave Hansen , Thomas Gleixner , Ingo Molnar , Borislav Petkov , "H . Peter Anvin" , Andy Lutomirski , Peter Zijlstra , Alexander Viro , Christian Brauner , Jan Kara , Kees Cook , Peter Xu , David Hildenbrand , Zi Yan , Baolin Wang , "Liam R . Howlett" , Nico Pache , Ryan Roberts , Dev Jain , Barry Song , Xu Xin , Chengming Zhou , Hugh Dickins , Vlastimil Babka , Mike Rapoport , Suren Baghdasaryan , Michal Hocko , Rik van Riel , Harry Yoo , Dan Williams , Matthew Wilcox , Steven Rostedt , Masami Hiramatsu , Mathieu Desnoyers , Jason Gunthorpe , John Hubbard , Muchun Song , Oscar Salvador , Jann Horn , Pedro Falcato , Johannes Weiner , Qi Zheng , Shakeel Butt , linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, linuxppc-dev@lists.ozlabs.org, kvm@vger.kernel.org, sparclinux@vger.kernel.org, linux-sgx@vger.kernel.org, linux-fsdevel@vger.kernel.org, linux-mm@kvack.org, nvdimm@lists.linux.dev, linux-trace-kernel@vger.kernel.org References: Content-Language: en-US From: Anshuman Khandual In-Reply-To: Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Rspam-User: X-Rspamd-Server: rspam04 X-Rspamd-Queue-Id: C89E440006 X-Stat-Signature: h4qin84rwuai99reyh6n8199itx6h18t X-HE-Tag: 1750830925-628572 X-HE-Meta: U2FsdGVkX1+9AKVR2kXHLheWkOPCJ3asyJL3bqfyarQ34okuzGckKhzb7tsJh8i0YinnxG7M+iFYxuLfyNMopi4bJAISHSsEhsdrxmvTHBZTHk+J+BWYC47tsTyenYby/nqeJlIq9ReFvpTEIjrQ79yEyEnqL/cLsX9bRePM2TflPscUb2FPQkxTI9v4XLvZLgV9Ysv77LLvZro2U5WfeqnJoXvwfAcdpKHfdGs8XsTrCYbwXG/rahvwkUuwTrW0XML/9KvjmxDaaPUwsMB1PjUxDU7A+lxea8Z9ZplV0MF3bsdMUp3grJnhk3l5gQL+STMUMd0bYq8+nYoJRcFPdIUD9H/YYXETqeeZCJiZYdT05Rf/CvMn9lavBYjGzdoRvP9beuKc+r2I8PIq/noLbh/QOzU7i14SKiBwGB1t+cc+KdjKQdC8j724ZYbJDU9Gm4QXENrISEjFy3VnX1dWyN7KTEx9D0k+kMWdC2hqVwIMjAHXVofgxeZ1HJOI1dmPQSOqWf8E5tpfZMqCID6VYrrrVJ48LMRZCPRRPZCHqyChXhX3C99KqSnkDBmoWtj6OiLTM5DKJGbvt333ot5tOU5WOYEyJh6pvaQ+S9bf8ZKMoBMEUScqg66iuIR/Fkqs5Lo8svx8Uxs1hfXXwfD6sq/AtyCgRqlA6GQa7AzTzj7op47IpDmFoq6/PoxOXMFK5fwK7b7wTkTQ5vJ3VPYn/lMo/atXhQ2pe8FjGvtHRTmZquDVDAYrQOzKQTNonCGvGDHM4enCx+FHn56C5OKcdPJ+6BUYEqkV20FdkRiw4hAycd3eX9f0hOTHUS9ZGvzYiY+oMdUmFbtTjvUn1gkQLrzx+Z8Abh5gBheRZCoyHbCuS7R0z2AtfFQKkDocWXBSKFwhwjSojVk51sL6NfqgifTWt0L7jjOjOEH7CaKMH8zwuX4/ALhKMZiowsPr7icA2knK9lcycmyeyS4iRkV KJTxPB5Y Wju6ymqtdEDpZ5zfvr+XuBEZ5iiR69UJl444GtBsNSkbFz7xcwb0KwJMnJg941OXx4fa82S5Gl5wMLz4IYglT7kU6OHowsuYtlSa9gtD5vsSE3CPkxN3qEgfa+qCGSJ1btzAfoJLtLEXf3RO2wDeRQ6kHKc4Lj/UvuzfYHrTklA/nxzOBsqZh3pU3A/W47MI+DU6L3cEUtF+rINX3EWNmxiFU/qVm/BEYctiVgDAMEgKQ0iyZSapGLkkJI7McUdgtBR62PGrE2/Ta2G2d1ytmHWQEwnIebPZxdyWmH+CTeDYElN09FxYyD9ZF4g== 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: List-Subscribe: List-Unsubscribe: On 19/06/25 1:12 AM, Lorenzo Stoakes wrote: > We abstract the type of the VMA flags to vm_flags_t, however in may places > it is simply assumed this is unsigned long, which is simply incorrect. > > At the moment this is simply an incongruity, however in future we plan to > change this type and therefore this change is a critical requirement for > doing so. > > Overall, this patch does not introduce any functional change. > > Signed-off-by: Lorenzo Stoakes > --- > arch/arm64/mm/mmap.c | 2 +- > arch/powerpc/include/asm/book3s/64/pkeys.h | 3 ++- > arch/sparc/mm/init_64.c | 2 +- > arch/x86/mm/pgprot.c | 2 +- > include/linux/mm.h | 4 ++-- > include/linux/pgtable.h | 2 +- > tools/testing/vma/vma_internal.h | 2 +- > 7 files changed, 9 insertions(+), 8 deletions(-) > > diff --git a/arch/arm64/mm/mmap.c b/arch/arm64/mm/mmap.c > index c86c348857c4..08ee177432c2 100644 > --- a/arch/arm64/mm/mmap.c > +++ b/arch/arm64/mm/mmap.c > @@ -81,7 +81,7 @@ static int __init adjust_protection_map(void) > } > arch_initcall(adjust_protection_map); > > -pgprot_t vm_get_page_prot(unsigned long vm_flags) > +pgprot_t vm_get_page_prot(vm_flags_t vm_flags) > { > ptdesc_t prot; > > diff --git a/arch/powerpc/include/asm/book3s/64/pkeys.h b/arch/powerpc/include/asm/book3s/64/pkeys.h > index 5b178139f3c0..6f2075636591 100644 > --- a/arch/powerpc/include/asm/book3s/64/pkeys.h > +++ b/arch/powerpc/include/asm/book3s/64/pkeys.h > @@ -4,8 +4,9 @@ > #define _ASM_POWERPC_BOOK3S_64_PKEYS_H > > #include > +#include > > -static inline u64 vmflag_to_pte_pkey_bits(u64 vm_flags) > +static inline u64 vmflag_to_pte_pkey_bits(vm_flags_t vm_flags) > { > if (!mmu_has_feature(MMU_FTR_PKEY)) > return 0x0UL; > diff --git a/arch/sparc/mm/init_64.c b/arch/sparc/mm/init_64.c > index 25ae4c897aae..7ed58bf3aaca 100644 > --- a/arch/sparc/mm/init_64.c > +++ b/arch/sparc/mm/init_64.c > @@ -3201,7 +3201,7 @@ void copy_highpage(struct page *to, struct page *from) > } > EXPORT_SYMBOL(copy_highpage); > > -pgprot_t vm_get_page_prot(unsigned long vm_flags) > +pgprot_t vm_get_page_prot(vm_flags_t vm_flags) > { > unsigned long prot = pgprot_val(protection_map[vm_flags & > (VM_READ|VM_WRITE|VM_EXEC|VM_SHARED)]); > diff --git a/arch/x86/mm/pgprot.c b/arch/x86/mm/pgprot.c > index c84bd9540b16..dc1afd5c839d 100644 > --- a/arch/x86/mm/pgprot.c > +++ b/arch/x86/mm/pgprot.c > @@ -32,7 +32,7 @@ void add_encrypt_protection_map(void) > protection_map[i] = pgprot_encrypted(protection_map[i]); > } > > -pgprot_t vm_get_page_prot(unsigned long vm_flags) > +pgprot_t vm_get_page_prot(vm_flags_t vm_flags) > { > unsigned long val = pgprot_val(protection_map[vm_flags & > (VM_READ|VM_WRITE|VM_EXEC|VM_SHARED)]); > diff --git a/include/linux/mm.h b/include/linux/mm.h > index 98a606908307..7a7cd2e1b2af 100644 > --- a/include/linux/mm.h > +++ b/include/linux/mm.h > @@ -3487,10 +3487,10 @@ static inline bool range_in_vma(struct vm_area_struct *vma, > } > > #ifdef CONFIG_MMU > -pgprot_t vm_get_page_prot(unsigned long vm_flags); > +pgprot_t vm_get_page_prot(vm_flags_t vm_flags); > void vma_set_page_prot(struct vm_area_struct *vma); > #else > -static inline pgprot_t vm_get_page_prot(unsigned long vm_flags) > +static inline pgprot_t vm_get_page_prot(vm_flags_t vm_flags) > { > return __pgprot(0); > } > diff --git a/include/linux/pgtable.h b/include/linux/pgtable.h > index 1d4439499503..cf1515c163e2 100644 > --- a/include/linux/pgtable.h > +++ b/include/linux/pgtable.h > @@ -2001,7 +2001,7 @@ typedef unsigned int pgtbl_mod_mask; > * x: (yes) yes > */ > #define DECLARE_VM_GET_PAGE_PROT \ > -pgprot_t vm_get_page_prot(unsigned long vm_flags) \ > +pgprot_t vm_get_page_prot(vm_flags_t vm_flags) \ > { \ > return protection_map[vm_flags & \ > (VM_READ | VM_WRITE | VM_EXEC | VM_SHARED)]; \ > diff --git a/tools/testing/vma/vma_internal.h b/tools/testing/vma/vma_internal.h > index d7fea56e3bb3..4e3a2f1ac09e 100644 > --- a/tools/testing/vma/vma_internal.h > +++ b/tools/testing/vma/vma_internal.h > @@ -581,7 +581,7 @@ static inline pgprot_t pgprot_modify(pgprot_t oldprot, pgprot_t newprot) > return __pgprot(pgprot_val(oldprot) | pgprot_val(newprot)); > } > > -static inline pgprot_t vm_get_page_prot(unsigned long vm_flags) > +static inline pgprot_t vm_get_page_prot(vm_flags_t vm_flags) > { > return __pgprot(vm_flags); > } LGTM Reviewed-by: Anshuman Khandual