From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 7A53D40EBB3; Thu, 6 Aug 2026 08:40:20 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=217.140.110.172 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1786005625; cv=none; b=frBFJwnm/hBoxYY7ekxnK+0IWPIVkTt3PsFqRIEXutbmMvQWNXTv6XIyfd11KriXs6pvftBtMvfeieObpjkyNRKhSgwUj06Kz1Nk7nrmDQ2bGhjJMqMeHOz751XQNkicUU+QBjiDUDf9s0/u0K1fLZvj3klW2C8ukqdZ6L/+Ko4= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1786005625; c=relaxed/simple; bh=kDSHwmzLBaSmEkZSi49/oE6mr/pQwSNTv0JlBRbim1E=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=k+m62bneP/P6zA9q96CF5Sc+Bgj9E82y8kuJDPk3OAtzrRuHevaXb1B2NeYzdZt65rbLUoCp9zDvm87Khhh8qPUtezewQl9M6YRbUe2T8+5anTz43GX4LzLBV2NLYBgUQ75NNcFirYaPOeveMLpai+t+DRNctNejfTcOewSFvU0= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=arm.com; spf=pass smtp.mailfrom=arm.com; dkim=pass (1024-bit key) header.d=arm.com header.i=@arm.com header.b=iRLwcLlH; arc=none smtp.client-ip=217.140.110.172 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=arm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=arm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=arm.com header.i=@arm.com header.b="iRLwcLlH" 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 ACCD619F0; Thu, 6 Aug 2026 01:40:13 -0700 (PDT) Received: from e142334-100.cambridge.arm.com (e142334-100.cambridge.arm.com [10.2.198.93]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id EF03D3F632; Thu, 6 Aug 2026 01:40:09 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=arm.com; s=foss; t=1786005617; bh=kDSHwmzLBaSmEkZSi49/oE6mr/pQwSNTv0JlBRbim1E=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=iRLwcLlHzWWbx5Qhr2Q5N2yfBSglhNBHPcd7h0s5kOdYERPY7KTBCkBr+hcYbbhK4 U8v8vfKwbyB14RWAIzfzO9dXyKyK4cPchCL93DUg0JYZDnVP/bmKmDJDFD/ZKVGJnS ia0P1AlmZO2FcO7EoUGQ6dM9k9gIa9RXeahhrylM= From: Muhammad Usama Anjum To: Jani Nikula , Joonas Lahtinen , Rodrigo Vivi , Tvrtko Ursulin , David Airlie , Simona Vetter , Dimitri Sivanich , Arnd Bergmann , Greg Kroah-Hartman , "James E.J. Bottomley" , Helge Deller , Juergen Gross , Stefano Stabellini , Muchun Song , Oscar Salvador , Andrew Morton , "Liam R. Howlett" , Lorenzo Stoakes , Will Deacon , "Aneesh Kumar K.V" , Nick Piggin , Peter Zijlstra , Andrey Ryabinin , David Hildenbrand , Pasha Tatashin , Chris Li , Kairui Song , Uladzislau Rezki , Steven Rostedt , Masami Hiramatsu , Alexei Starovoitov , Daniel Borkmann , Andrii Nakryiko , Eduard Zingerman , Kumar Kartikeya Dwivedi , Ingo Molnar , Arnaldo Carvalho de Melo , Namhyung Kim , SJ Park , "Matthew Wilcox (Oracle)" , Jan Kara , Jason Gunthorpe , Leon Romanovsky , Miaohe Lin , Dennis Zhou , Tejun Heo , Christoph Lameter , Mike Rapoport , Johannes Weiner , ziy@nvidia.com, pfalcato@suse.de, agordeev@linux.ibm.com, ryan.roberts@arm.com Cc: Muhammad Usama Anjum , linux-kernel@vger.kernel.org, intel-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org, linux-parisc@vger.kernel.org, xen-devel@lists.xenproject.org, linux-mm@kvack.org, linux-fsdevel@vger.kernel.org, linux-arch@vger.kernel.org, kasan-dev@googlegroups.com, linux-trace-kernel@vger.kernel.org, bpf@vger.kernel.org, linux-perf-users@vger.kernel.org, damon@lists.linux.dev Subject: [PATCH 3/9] mm: name pointers to copied PTE values ptentp Date: Thu, 6 Aug 2026 09:38:41 +0100 Message-ID: <20260806083926.1807279-4-usama.anjum@arm.com> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20260806083926.1807279-1-usama.anjum@arm.com> References: <20260806083926.1807279-1-usama.anjum@arm.com> Precedence: bulk X-Mailing-List: linux-trace-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit The hw_pte_t conversion must retain pte_t * for pointers to standalone PTE values. Name the value parameters ptentp in the install_pte callback, write_protect_page(), and guard_install_set_pte() so the later mechanical conversion can distinguish them from pointers to PTE table storage. Some functions already use the ptentp name, including: - madvise_folio_pte_batch() - folio_pte_batch_flags() No need to convert them. This is a naming-only change. Signed-off-by: Muhammad Usama Anjum --- Changes since RFC v1: - Update the description for the architecture opt-in conversion. --- include/linux/pagewalk.h | 2 +- mm/ksm.c | 4 ++-- mm/madvise.c | 4 ++-- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/include/linux/pagewalk.h b/include/linux/pagewalk.h index b41d7265c01bc..c34d826c5e4a2 100644 --- a/include/linux/pagewalk.h +++ b/include/linux/pagewalk.h @@ -89,7 +89,7 @@ struct mm_walk_ops { struct mm_walk *walk); void (*post_vma)(struct mm_walk *walk); int (*install_pte)(unsigned long addr, unsigned long next, - pte_t *ptep, struct mm_walk *walk); + pte_t *ptentp, struct mm_walk *walk); enum page_walk_lock walk_lock; }; diff --git a/mm/ksm.c b/mm/ksm.c index ad05d7791307e..11d50518d02e9 100644 --- a/mm/ksm.c +++ b/mm/ksm.c @@ -1292,7 +1292,7 @@ static u32 calc_checksum(struct page *page) } static int write_protect_page(struct vm_area_struct *vma, struct folio *folio, - pte_t *orig_pte) + pte_t *ptentp) { struct mm_struct *mm = vma->vm_mm; DEFINE_FOLIO_VMA_WALK(pvmw, folio, vma, 0, 0); @@ -1371,7 +1371,7 @@ static int write_protect_page(struct vm_area_struct *vma, struct folio *folio, set_pte_at(mm, pvmw.address, pvmw.pte, entry); } - *orig_pte = entry; + *ptentp = entry; err = 0; out_unlock: diff --git a/mm/madvise.c b/mm/madvise.c index 07a21ca31bad4..c324cc991f841 100644 --- a/mm/madvise.c +++ b/mm/madvise.c @@ -1101,12 +1101,12 @@ static int guard_install_pte_entry(pte_t *pte, unsigned long addr, } static int guard_install_set_pte(unsigned long addr, unsigned long next, - pte_t *ptep, struct mm_walk *walk) + pte_t *ptentp, struct mm_walk *walk) { unsigned long *nr_pages = (unsigned long *)walk->private; /* Simply install a PTE marker, this causes segfault on access. */ - *ptep = make_pte_marker(PTE_MARKER_GUARD); + *ptentp = make_pte_marker(PTE_MARKER_GUARD); (*nr_pages)++; return 0; -- 2.47.3