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 17AB1C71157 for ; Tue, 17 Jun 2025 12:04:12 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 9761F6B0093; Tue, 17 Jun 2025 08:04:11 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 94DAE6B0095; Tue, 17 Jun 2025 08:04:11 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 863BE6B0096; Tue, 17 Jun 2025 08:04:11 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0011.hostedemail.com [216.40.44.11]) by kanga.kvack.org (Postfix) with ESMTP id 777206B0093 for ; Tue, 17 Jun 2025 08:04:11 -0400 (EDT) Received: from smtpin18.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay02.hostedemail.com (Postfix) with ESMTP id 24F8D120128 for ; Tue, 17 Jun 2025 12:04:11 +0000 (UTC) X-FDA: 83564759502.18.1C50758 Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.223.130]) by imf11.hostedemail.com (Postfix) with ESMTP id 146884001B for ; Tue, 17 Jun 2025 12:04:08 +0000 (UTC) Authentication-Results: imf11.hostedemail.com; dkim=pass header.d=suse.de header.s=susede2_rsa header.b=NGeIaIFs; dkim=pass header.d=suse.de header.s=susede2_ed25519 header.b=yhtUiiUi; dkim=pass header.d=suse.de header.s=susede2_rsa header.b=2DXxXOrd; dkim=pass header.d=suse.de header.s=susede2_ed25519 header.b=ZoSgydNW; spf=pass (imf11.hostedemail.com: domain of osalvador@suse.de designates 195.135.223.130 as permitted sender) smtp.mailfrom=osalvador@suse.de; dmarc=pass (policy=none) header.from=suse.de ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1750161849; 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=GHVj2aCMKBwLwEdjT9VXDVvKbMF+W3VDNjRvxdHhruE=; b=gDNSrvMrpog8BveIjgVFxPMcjnqVCPonc+kfGKhkruoHNqNpaoBzC+qPSHe5x0gVLSiX3K y0MyohOi9cqj/1dXjYDY8pPUjnspv3xBnJk5Dy9ee1kCgx2M3ZF+3nEfGADovsQFODUXu6 OKr1+6WPsMk39YnYInHE5zCy6w8GlaY= ARC-Authentication-Results: i=1; imf11.hostedemail.com; dkim=pass header.d=suse.de header.s=susede2_rsa header.b=NGeIaIFs; dkim=pass header.d=suse.de header.s=susede2_ed25519 header.b=yhtUiiUi; dkim=pass header.d=suse.de header.s=susede2_rsa header.b=2DXxXOrd; dkim=pass header.d=suse.de header.s=susede2_ed25519 header.b=ZoSgydNW; spf=pass (imf11.hostedemail.com: domain of osalvador@suse.de designates 195.135.223.130 as permitted sender) smtp.mailfrom=osalvador@suse.de; dmarc=pass (policy=none) header.from=suse.de ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1750161849; a=rsa-sha256; cv=none; b=kpSGTWpQBidFX9BzDWxdNcSy1s3QDFpzmupk4nwQB5xgQyFeL7qG1FWhznKM8XMtzxlgFS IOZgspGJc1DES6D4QkIap1k2/7/pRspENR7ncN86NCKTXJCXg3/GI7WtvWFaEln5Y3/lUU XmNYo/y59IIxZQYFPBsuhyqGg2Hgt3g= Received: from imap1.dmz-prg2.suse.org (unknown [10.150.64.97]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by smtp-out1.suse.de (Postfix) with ESMTPS id 39D73211BA; Tue, 17 Jun 2025 12:04:06 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_rsa; t=1750161847; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=GHVj2aCMKBwLwEdjT9VXDVvKbMF+W3VDNjRvxdHhruE=; b=NGeIaIFs3gMA9WtE/kVniU+X0zxJH7fVgPGL8MxyuNU5N5mCODB83QGUE2UQ8sMRwuPckO /T9O80RwpjXAKuJFYZVYy0H0YpZEbMwoRm+w+JOCh2qrpChcbyzeyG5B+u97oj8+gS+EIU laJqY5fbh5L00tFl8YWWz8aJcbxnlZs= DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_ed25519; t=1750161847; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=GHVj2aCMKBwLwEdjT9VXDVvKbMF+W3VDNjRvxdHhruE=; b=yhtUiiUir+tMvfO+u8T+Es1Xpy7mTGbk58DiMTF4XdksR0gn/bARV5Zl+nRFEp1msIvD24 Fhv2pJLlb8nnTmAg== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_rsa; t=1750161846; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=GHVj2aCMKBwLwEdjT9VXDVvKbMF+W3VDNjRvxdHhruE=; b=2DXxXOrdON9qf7FCS5xVLXBcBapFrFa/ZGwIWdla3lJTt8Otvkar8IN1o/YzCJ/8hsdFl0 n5ay0/BzJEPq+upp7M7j9/ucI5J/edz4WyYbh0j+gceJWPNtwYvP1AIbQ/XkH6B4mWZ3aX 1RdUAxNfqjsRxeHD5E2J5seGo6zYNJw= DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_ed25519; t=1750161846; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=GHVj2aCMKBwLwEdjT9VXDVvKbMF+W3VDNjRvxdHhruE=; b=ZoSgydNWoDK7VEsLRKEgoGq/Mm7jrtBE7EfcRRKYlvUrLftTYMY3sQqJJDV+sg84keQQ1q +nfPJ0k30SgW/rBg== Received: from imap1.dmz-prg2.suse.org (localhost [127.0.0.1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by imap1.dmz-prg2.suse.org (Postfix) with ESMTPS id AEF1A13A69; Tue, 17 Jun 2025 12:04:05 +0000 (UTC) Received: from dovecot-director2.suse.de ([2a07:de40:b281:106:10:150:64:167]) by imap1.dmz-prg2.suse.org with ESMTPSA id VHvNJ7VZUWh+OwAAD6G6ig (envelope-from ); Tue, 17 Jun 2025 12:04:05 +0000 Date: Tue, 17 Jun 2025 14:04:04 +0200 From: Oscar Salvador To: David Hildenbrand Cc: Andrew Morton , Muchun Song , James Houghton , Peter Xu , Gavin Guo , linux-mm@kvack.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH 2/5] mm,hugetlb: Document the reason to lock the folio in the faulting path Message-ID: References: <44f0f1cc-307a-46e3-9e73-8b2061e4e938@redhat.com> <1297fdd5-3de2-45bc-b146-e14061643fee@redhat.com> <11a1d0f7-ef4e-4836-9bde-d7651eebcd03@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <11a1d0f7-ef4e-4836-9bde-d7651eebcd03@redhat.com> X-Rspamd-Queue-Id: 146884001B X-Rspamd-Server: rspam07 X-Stat-Signature: mhnu38ae81hpb14w6dwqhy981x1q9bae X-Rspam-User: X-HE-Tag: 1750161848-293380 X-HE-Meta: U2FsdGVkX19oz4owsckjo6O8+HBWj9++H9g7qeKuarqPt40ziJcnVLYHdO/66Y1r+RXr6+yR/090ZZf7SQ9zCx1xpNQ3lmtqcxsf30rOm04IWGDyMuXjr7uEr+Ni89F4YOIQdhF6qyZr+i3IBonfkGWLSIMilvkHMty9bFmvogN/5MP1R+5veYHfWLtQ5gdZXwSMHvD7Gex9VLjiwg5WAdYat0Ps5pMmKHm9eGT6HXf2NfHXFRXXvRvseXSMFSgyMofrqRlfJSr6YHoaXidr1pCihl4gNJh/LEs1wDFlNovFxyOTmlt6Nxz1VtAwclj7j0vsn/Wdm+THH+ZEkk1eryTaT2edMIaBXe6u27aNL8oet25Usy6CY1XMSI2fhVpMmYZCs5Sbmgblx9Dj9ufI/ueZ5kjDOaFlzCPKDid8XMR0RIDzqgDaH9RmpQzPg4CsMycHycUgY40tiSPxkPBlLsBmJTp38QiqL4FM+mziFClc18do7e16sEGvEkrHQi7/jLgp5j8VpdyoT11jTG9PO4xvlsez4HwZndEfy797fhglC54QiNClmpmkwJJZC4q9AT2xjXsHEYreNhoZuvwCMbf8D/t96qJ85jypL4ZyXn5jikuIMAlnuSBq4bTMjyGPx7l6U5wEufzzQnbK6Pyypq/v2SG7CTMAVyAuJZHvX9my36dU+KJ8VR+lVrYbofqclAtpHyH/h5us+uXRzUy4PxZyoS9eHOI6i/zmV0RYcvOB3PVKnV+5y08pii80a8oaZM7KEVpcdf/E/gKq/3mWWQ40XwUWDQcP9+NQRJLGqyzpdGrgVxNqY5PI4WD2UwUCpZX69hXREUwfCOefFsgsWkRQlAJxwdG58SUA4Ot2Qe3rc8P5ZLtqdAaEKnV4rNgh3Kx8+lwjgYkvSDd9re+rdXzTotUxy7AM 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 Tue, Jun 17, 2025 at 01:27:18PM +0200, David Hildenbrand wrote: > > @@ -6198,6 +6198,8 @@ static vm_fault_t hugetlb_wp(struct vm_fault *vmf) > > * in scenarios that used to work. As a side effect, there can still > > * be leaks between processes, for example, with FOLL_GET users. > > */ > > + if (folio_test_anon(old_folio)) > > + folio_lock(old_folio); > > If holding the PTL, this would not work. You'd have to unlock PTL, lock > folio, retake PTL, check pte_same. Why so? hugetlb_no_page() has already checked pte_same under PTL, then mapped the page and called hugetlb_wp(). hugetlb_no_page vmf->ptl = huge_pte_lock() pte_same set_huge_pte_at hugetlb_wp and in hugetlb_wp() we're still holding the PTL. Why do we have to release PTL in order to lock the folio? This folio can't have been unmapped because we're holding PTL, right? And it can't have been truncaed for the same reason. It's because some lock-order issue? -- Oscar Salvador SUSE Labs