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 7DC7DC77B7C for ; Tue, 24 Jun 2025 13:14:51 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 1BF096B00BA; Tue, 24 Jun 2025 09:14:51 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 197956B00BD; Tue, 24 Jun 2025 09:14:51 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 0D40A6B00BE; Tue, 24 Jun 2025 09:14:51 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0017.hostedemail.com [216.40.44.17]) by kanga.kvack.org (Postfix) with ESMTP id EF41B6B00BA for ; Tue, 24 Jun 2025 09:14:50 -0400 (EDT) Received: from smtpin19.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay08.hostedemail.com (Postfix) with ESMTP id 9E00414086A for ; Tue, 24 Jun 2025 13:14:50 +0000 (UTC) X-FDA: 83590339140.19.9B7127F Received: from mx0a-001b2d01.pphosted.com (mx0a-001b2d01.pphosted.com [148.163.156.1]) by imf22.hostedemail.com (Postfix) with ESMTP id 40252C0017 for ; Tue, 24 Jun 2025 13:14:48 +0000 (UTC) Authentication-Results: imf22.hostedemail.com; dkim=pass header.d=ibm.com header.s=pp1 header.b="ttkp/TMt"; spf=pass (imf22.hostedemail.com: domain of agordeev@linux.ibm.com designates 148.163.156.1 as permitted sender) smtp.mailfrom=agordeev@linux.ibm.com; dmarc=pass (policy=none) header.from=ibm.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1750770888; 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: in-reply-to:in-reply-to:references:references:dkim-signature; bh=U1b7kGuG6w3J+nQm326bu7WrlCXb8Y4yIFWrd2HzQ7c=; b=OYWO08L4k6eOEpyBbb+yIn+avm50hgO5aXrbpqtWRPyclVxA62S7ZYcZ8IvIuviPZCqv7f doTicr6JxPaGi+P2j67bc1Cw+hdvfSKraIef8yoBS8xtrZK47OHvCNITwuN+ek/advagMw rxN6bbGjLtEtYkchlvnhU6qcxsLvaxk= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1750770888; a=rsa-sha256; cv=none; b=iLhoi7xtbGiOTzYq7hCHMvqezrQiaulDoiPiWF/kEZf7O0RbxXPN2+wghtWnDI499Fb71n odTDmdClQAE4xHftUDxtxNUsOfOoar7fwvDdjMW4f4+QcNRLZKa87N7JW7rAGC3WPmW87C lKhADvLk5MX/IkNzau1xezBOhgf3kcI= ARC-Authentication-Results: i=1; imf22.hostedemail.com; dkim=pass header.d=ibm.com header.s=pp1 header.b="ttkp/TMt"; spf=pass (imf22.hostedemail.com: domain of agordeev@linux.ibm.com designates 148.163.156.1 as permitted sender) smtp.mailfrom=agordeev@linux.ibm.com; dmarc=pass (policy=none) header.from=ibm.com Received: from pps.filterd (m0356517.ppops.net [127.0.0.1]) by mx0a-001b2d01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 55O9SR9j010062; Tue, 24 Jun 2025 13:14:41 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ibm.com; h=cc :content-type:date:from:in-reply-to:message-id:mime-version :references:subject:to; s=pp1; bh=U1b7kGuG6w3J+nQm326bu7WrlCXb8Y 4yIFWrd2HzQ7c=; b=ttkp/TMt1njJEUuanIdX00YM1lq+GbRNVJHnk5bhxhCgJn 0Wyq361KKhWSTiscw3ZXfe4+Nr10lQm7y+c869NoctO0G+9VvYLeYCbrNPoFeHbf aNSb7VndV9CL3DrqtrBPlDhx42xYbsdx+HnLWTNjF9p+QJP50Rr6oXPbOTK80bOd IvBaddFFPzeaUgOCjQGaEgSIJV6muKZd5jtxD3A63uw7rMTr+VU7OeBX8EFwCjnW E7qrz2bYS12d4DGLLE96+CSrY7gm/b9/FfRE4QmsypRmDJVGt6rZf3Eb2DXt7+5i N+CMCSRqLczUz7g0WwxbqnU1PIYdLPdSyWT2TcuA== Received: from ppma13.dal12v.mail.ibm.com (dd.9e.1632.ip4.static.sl-reverse.com [50.22.158.221]) by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 47dmfe8vhr-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Tue, 24 Jun 2025 13:14:41 +0000 (GMT) Received: from pps.filterd (ppma13.dal12v.mail.ibm.com [127.0.0.1]) by ppma13.dal12v.mail.ibm.com (8.18.1.2/8.18.1.2) with ESMTP id 55OBSTUE003983; Tue, 24 Jun 2025 13:14:40 GMT Received: from smtprelay04.fra02v.mail.ibm.com ([9.218.2.228]) by ppma13.dal12v.mail.ibm.com (PPS) with ESMTPS id 47e99kkvkp-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Tue, 24 Jun 2025 13:14:40 +0000 Received: from smtpav05.fra02v.mail.ibm.com (smtpav05.fra02v.mail.ibm.com [10.20.54.104]) by smtprelay04.fra02v.mail.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id 55ODEaIp29491908 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 24 Jun 2025 13:14:36 GMT Received: from smtpav05.fra02v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 875C92004B; Tue, 24 Jun 2025 13:14:36 +0000 (GMT) Received: from smtpav05.fra02v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 15F8220043; Tue, 24 Jun 2025 13:14:36 +0000 (GMT) Received: from li-008a6a4c-3549-11b2-a85c-c5cc2836eea2.ibm.com (unknown [9.155.204.135]) by smtpav05.fra02v.mail.ibm.com (Postfix) with ESMTPS; Tue, 24 Jun 2025 13:14:36 +0000 (GMT) Date: Tue, 24 Jun 2025 15:14:34 +0200 From: Alexander Gordeev To: Anshuman Khandual Cc: linux-mm@kvack.org, dev.jain@arm.com, Catalin Marinas , Will Deacon , Ryan Roberts , Paul Walmsley , Palmer Dabbelt , Gerald Schaefer , Heiko Carstens , Vasily Gorbik , Christian Borntraeger , Sven Schnelle , Andrew Morton , linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, linux-riscv@lists.infradead.org, linux-s390@vger.kernel.org Subject: Re: [PATCH V2] mm/ptdump: Take the memory hotplug lock inside ptdump_walk_pgd() Message-ID: References: <20250620052427.2092093-1-anshuman.khandual@arm.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20250620052427.2092093-1-anshuman.khandual@arm.com> X-TM-AS-GCONF: 00 X-Proofpoint-ORIG-GUID: tpoh_-DuFORup-7aDX-wiD9nGJ-goSq1 X-Proofpoint-GUID: tpoh_-DuFORup-7aDX-wiD9nGJ-goSq1 X-Authority-Analysis: v=2.4 cv=BpqdwZX5 c=1 sm=1 tr=0 ts=685aa4c1 cx=c_pps a=AfN7/Ok6k8XGzOShvHwTGQ==:117 a=AfN7/Ok6k8XGzOShvHwTGQ==:17 a=kj9zAlcOel0A:10 a=6IFa9wvqVegA:10 a=VwQbUJbxAAAA:8 a=7CQSdrXTAAAA:8 a=pFyQfRViAAAA:8 a=_O3DOGVWAAAA:8 a=VnNF1IyMAAAA:8 a=Z4Rwk6OoAAAA:8 a=JfrnYn6hAAAA:8 a=37rDS-QxAAAA:8 a=z9UPMGBGUIMZAgjR794A:9 a=CjuIK1q_8ugA:10 a=a-qgeE7W1pNrGK8U0ZQC:22 a=oJz5jJLG1JtSoe7EL652:22 a=2TKV-7w1aU1AVAwN0oqT:22 a=HkZW87K1Qel5hWWM3VKY:22 a=1CNFftbPRP8L7MoqJWF3:22 a=k1Nq6YrhK2t884LQW06G:22 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwNjI0MDEwMyBTYWx0ZWRfX6E327hRc6aDk hKF/HFnXUNObf2UTDgM1VZzqktUiCJR5R6i+xbrKoaKj+++8rPalrEUY+v+LmjosOxe6TX3gkYA EYegRUD7j4nJu9/nkRifsCaGmWBmIPfzAi6jkCyyTxDqDYxn9uTbLQ8DirEjsjvOfRMQRdezSjh 5aoZQ4oyUr6J4SNX/l9wta6Z3ejCjKiRfvn22Ukc4SjtVshDIJVxULk5fxdIy6ZWSNDeOf0cpjK lR4vvvOFppK+6Uh7lotCdIW61NWb8NLa30CqMZyJF0EvzFLNCMrHpsjhIsdmmR0cSbPM3eF51ep TUObotLYybaen9FK/VQEa4zEkC4NsR3QonM+iZrys/2J1Xv2G7F9xZ87LKpho/rZdAh+4Yf3Lhl z1HiVaQYxOSf+WzkbpUmgTMez7u0QpXbt/Y2/ERbb3RAGRr3AhOTO1yRpTACAxqK4cvI9J0X X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1099,Hydra:6.1.7,FMLib:17.12.80.40 definitions=2025-06-24_04,2025-06-23_07,2025-03-28_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 mlxscore=0 lowpriorityscore=0 impostorscore=0 clxscore=1015 spamscore=0 mlxlogscore=495 priorityscore=1501 phishscore=0 malwarescore=0 adultscore=0 bulkscore=0 suspectscore=0 classifier=spam authscore=0 authtc=n/a authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2505280000 definitions=main-2506240103 X-Rspamd-Queue-Id: 40252C0017 X-Rspam-User: X-Rspamd-Server: rspam06 X-Stat-Signature: fr4au47haw3j18p1izn9uy1u85hagokr X-HE-Tag: 1750770888-396204 X-HE-Meta: U2FsdGVkX18VotnC7MYGNVmIMRDDn1ioMstWttHzEo9EjLuQ6H31zm1o0mnuEMUu9QQwidVlV4BPRXSAnfGpGeXtQOfT087rOI80w6VvQDizycRKRchlqFrJYy4Ydrb/0V2DBBfoxTyPa0HxwBk5uE6CUNQrUJSCpk43/s/XqqUaTS0o7sgjQrIqPy+NfYKzrHwQu7MsBMYQAHF02poydi42iuvHW1OH8dk5X8XoDPc4s79CHYnErowNbXPVmqxlGTZ6wz6vJ1CloHeootaoWeTeOueDVfYGlxqE+JLppt1sXvZt/2UhFqtDfi7FjwzOv6JlKQWjw8xna3X2gexjQEzrXinYbs4IsK5SaaV19CVwXvAklOLQfzHlO1RMTjzpD/J0YvoJi6pZG7svWF/7C4WXpY6YqkCh+qqnzCeW0jnc+kPzGJ9LnWBIuQIGjpjceCxU5ztDruWHedD/ER1vn1TxVYIUpztl0jO7kZHpLlGb9ni0117bPKiXY4iND8kS+zWjjXoBdYpctgXpcfVX07lPzvVlkdFoNA2Xa27eMkh3INs8CLBX89dHVDxr/7vRXcjXSsigHbQ6mxg8AJrT/BBNNNXXk7SpfOJt8LqfcIB/T8tTDbrtcNUN16TLIDupW65czakuGfGgZWqXk8hJ18MpmFDgnIYR8gnBco4ou69T5oQ5Zy0IpxjUc7qaUC8aPq6f3lSxUS/EgnqpRMRS6KdrjEqDa2UeaBCMEdCsobibcWbm/3ZBB+SmVblCHjt8qi9wrQLPsQing/YA/+swVOhC4gFgfOF7J2xWXCFeqzWnC9HutnROFgMVQtE72eChMTzk0WfUbRmMAf60PRW3tvQflzBzKYTbUQ46ZIWJ2FJJ9T1fhflmuSbqb/Vx8scZxj71GJurXOwEUrDf51rqIUjYWXSxo5vqEe7md6fpd5ZHVluA0POzRMVeSSmWlrVgjKaVHYfKjP9Su1+DIJd PHAIOtuN xiZXkWio0UsmQXXaKFFjxto6Nhebn8mMCpMs7rhxz1xDIR81nCY2Sg6YrqKHrRjsrAIpgnGYNywlrfn7worrFi0Y+lUA/+ge3qc8iB1YLOOklsYuYvzXuZ0F/1hwwCn6s2RxQ+EhbvNWS4ZTMJlAq62tErfHYkRrZr1U9tUn1H3bMTmDFbGalVSc4QSt0dL6395DfgBLbIlC6Iznt0Ap5AFG00NClzrWZYAsmECli3+96y4K2CtKmJeuSWkwvZHa/WT6bkS8tCMMsEWo19MiFJcEtZMz5n12l7BhdGpnlGv4QvlKXDg24eJPBjLhgsff7z13GVeom44O7CdtlFANVtKNAKuHjxxCfixvb52XO9VFTOJmnrLa9hOEGhAWp3D4i3NiJDgSsszJMQRraReaqo+RrnFqW/Bn+Ln3db67efTeLON1HoMA/T2o2jfz6sIHs6DdIkvsMPOkurDnX9+SVApbITDdyabR8q3YfjSbKOPmaHgSQgdcIx6GDwpohYSMkXqweyTjOXowWuWLSPqUsONWWCY4LXeBEakPb7zW4o/bUiBhYIiOkYDK3a9nDJ+mjDv2r9FFZ5VqU0fOSHxlCEWiNmYTAZseGC7v8c/r28xIgkeoIpUqj2ZsaW7SmuyagO4uFXUuWTKJ/ZRhZgK5BfNlRKHXvTorudBISZLqwUJbOfKA= 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 Fri, Jun 20, 2025 at 10:54:27AM +0530, Anshuman Khandual wrote: > Memory hot remove unmaps and tears down various kernel page table regions > as required. The ptdump code can race with concurrent modifications of the > kernel page tables. When leaf entries are modified concurrently, the dump > code may log stale or inconsistent information for a VA range, but this is > otherwise not harmful. > > But when intermediate levels of kernel page table are freed, the dump code > will continue to use memory that has been freed and potentially reallocated > for another purpose. In such cases, the ptdump code may dereference bogus > addresses, leading to a number of potential problems. > > To avoid the above mentioned race condition, platforms such as arm64, riscv > and s390 take memory hotplug lock, while dumping kernel page table via the > sysfs interface /sys/kernel/debug/kernel_page_tables. > > Similar race condition exists while checking for pages that might have been > marked W+X via /sys/kernel/debug/kernel_page_tables/check_wx_pages which in > turn calls ptdump_check_wx(). Instead of solving this race condition again, > let's just move the memory hotplug lock inside generic ptdump_check_wx() > which will benefit both the scenarios. > > Drop get_online_mems() and put_online_mems() combination from all existing > platform ptdump code paths. > > Cc: Catalin Marinas > Cc: Will Deacon > Cc: Ryan Roberts > Cc: Paul Walmsley > Cc: Palmer Dabbelt > Cc: Alexander Gordeev > Cc: Gerald Schaefer > Cc: Heiko Carstens > Cc: Vasily Gorbik > Cc: Christian Borntraeger > Cc: Sven Schnelle > Cc: Andrew Morton > CC: linux-arm-kernel@lists.infradead.org > Cc: linux-kernel@vger.kernel.org > Cc: linux-riscv@lists.infradead.org > Cc: linux-s390@vger.kernel.org > Cc: linux-mm@kvack.org > Signed-off-by: Anshuman Khandual > --- > This patch applies on v6.16-rc2 and has been tested on arm64. Besides it > builds on riscv, s390, x86 and powerpc as well. But should the following > fixes tag from V1 also needs to be around as well ? > > Fixes: bbd6ec605c0f ("arm64/mm: Enable memory hot remove") > > Changes in V2: > > - Moved [get|put]_online_mems() inside generic ptdump_walk_pgd() > > Changes in V1: > > https://lore.kernel.org/all/20250609041214.285664-1-anshuman.khandual@arm.com/ > > arch/arm64/mm/ptdump_debugfs.c | 3 --- > arch/riscv/mm/ptdump.c | 3 --- > arch/s390/mm/dump_pagetables.c | 2 -- > mm/ptdump.c | 2 ++ > 4 files changed, 2 insertions(+), 8 deletions(-) Acked-by: Alexander Gordeev # s390