From mboxrd@z Thu Jan 1 00:00:00 1970 Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.remote-ip=100.103.45.18 ARC-Seal: i=1; d=subspace.kernel.org; s=arc20261015; a=rsa-sha256; cv=none; t=1794244597; b=qv8ZIF7b+D3E2sS1Cd24cczNEvOauejLdU9+9yaJcAm9afE9fEdGHkmSMuX2RMgWJOao hjUBQ5/DFl3f8a7ecmuqI7WWYv3xArDu/KjPHrRlRe6PpObZJ2CDkeCiEJiotnq7z9xbC 4wmz8OCIVprX8I6nc6Pn63QolcRg1poVTCnQso40gsV6A2tRcWmKGDefqQ0SdtWGjJAQp hL0GB3HaPDZB+o7GmnMYlpIfXh4fPX8Z4sIcNjHTzrPwINR9LbJhvJhWXn4L7fKfPy/yR sb3fF/jHznHI5yqNBkoSwhU+SWx/JeioUtryjsb9DFI1ut+k8M7TpFZZ239dA/dVWTA== ARC-Message-Signature: i=1; d=subspace.kernel.org; s=arc20261015; a=rsa-sha256; c=relaxed/relaxed; t=1794244597; h=Received:DKIM-Signature:Received:Received:X-ME-Sender:X-ME-Received: X-ME-Proxy-Cause:X-ME-Proxy:Feedback-ID:Received:Date:From:To:Cc: Subject:Message-ID:References:MIME-Version:Content-Type: Content-Disposition:In-Reply-To; bh=j6CW/1Tx0ekOFiRNdAR2OG0dMWkU4FJDAABQ/X0bHfs=; b=dayuzXu4pvapYTmeD01R/dWJCx2qEtFfofdcfGMQzO3kSEjSJwbe2NtV3fsEk1HaILCS i0FIxa7Ajc5ftl/g+VVQ44Bfyg5umIJzFaeaYhVSSHu5ntEGj03s3RF/koROJAiybeQbe /LEn1KyOP5j9XwUC31G9jnUJfUkPr9xFfTTmaa17ht11HArg6z/x4jMdwPRQ9NMaAoyZx 3QHeAl8/swknOjescgn8TdnSzd8ti87DlbUlt+3bUU4GEmI4Z2eVMJVXxRVnP2IGKZXUK DCuppJHhKUYZTOn3OqxPB+/0VH4SSMth9eUnuWY/wfeG3GrmrVra6+I1krGQxwmPzAw== ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass header.d=kernel.org header.i=@kernel.org header.a=rsa-sha256 header.s=k20260515 header.b=S5mnmvZ3; arc=none smtp.remote-ip=100.103.45.18 Received: from smtp.kernel.org (quasi.space.kernel.org [100.103.45.18]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (prime256v1)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 6A20D606A333 for ; Mon, 9 Nov 2026 17:16:36 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.a=rsa-sha256 header.s=k20260515 header.b=S5mnmvZ3 Received: by smtp.kernel.org (Postfix) with ESMTPSA id F10771F008A1; Mon, 9 Nov 2026 17:16:34 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kernel.org; s=k20260515; t=1794244596; bh=j6CW/1Tx0ekOFiRNdAR2OG0dMWkU4FJDAABQ/X0bHfs=; h=Date:From:To:Cc:Subject:References:In-Reply-To; b=S5mnmvZ36QyMB3PKa1QOlaF8M6++BvEsviRir2wFFKZKhIGSfG7yw7wclXGxpDxxw EwNnTsa+biPnrA+66hoZnjS4wLEuYUh00iHBBHNmfL8Iv3m8wJJpuTLunscdf9mwSz iaiLjdRDkJas6Kb/uPRQXfibPZdu54Ivi7gdAhSxbViqX8bx8Na8CcbnurDXpPdCIY PHU04Qlq+IZSg2X2ag7KYYtpZWZZHFi5s6Ti9nb4+Iq4qLhfNf7TreGsfQ9LgyzfUv OERYrXHNd3uGl5kmdSnF6gdsFppUEr+eNJW5EEY8A66kbWUJirlf+YY0uL+KKXbea+ o3ZQg3L8tBDgw== Received: from phl-compute-05.internal (phl-compute-05.internal [10.202.2.45]) by mailfauth.ams.internal (Postfix) with ESMTP id ED8A21980052; Mon, 9 Nov 2026 12:16:30 -0500 (EST) Received: from phl-frontend-04 ([10.202.2.163]) by phl-compute-05.internal (MEProxy); Mon, 09 Nov 2026 12:16:33 -0500 X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: dmFkZTERlrsw/TgcMaQYagBEnXGdzeOR8l8ctOzfJRMC5gmxQrqcjviMIQVm5fCxzjFNKI IeEbuGRKdFHZmLlvXbmrb9fzt7wQqlOtts94l4qY4D2oFWPXKUHMZO0fRI3X08tvy9QJCn A02mYLG5Juy4RlqXdNpii+MXz8cX4yViexmP+/uUYcJ6+OgX4AckbkH8/NNN1SUFpaFgZD n2e4j0GcraBJvUYshJyxQ7o0JndZ7qx7mMNaDnlKl5yzwxdTV0LKgn7Ck/ar5g7k/NnUdD MQoixdGSru5Lk8amtpUzoV+E0VbdBuHQaAAffX2SmgNaVbFEpdrDauAk7bC3vfXTmEtfBI Z73zrmDnsjHnFh3mBSDLndWiNeFU7k8H2Yaa0bbgNOzke45sxWlCdMDpPVJGhsVs2o3nmm to4vqIxSuhz5nFQjAHiMRyRiVURSlMkn626DYbwDbLkPF3YJ0yGUiVkZZY7eXn+zv/VvZ/ v2z2cyJz8Kwk7XMhHpy+sRocofQ+UeNlH8ITiGkKN+VwZ08StrSHm1SiWOYvd7W1laHE46 lfRCr97z5nT70hUbQyd7NJTgfMpvQk2YnsBB7GYEoEPSKa/7QGHKzdfXTX60zC58DCBbio kBeIOZFZ8Q8sdt8ykdj871CNWYVTKNOGXfcpp0XJASlbd0nOwFqrpV/YFP6Q X-ME-Proxy: Feedback-ID: i10464835:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Mon, 9 Nov 2026 12:16:29 -0500 (EST) Date: Mon, 9 Nov 2026 17:16:28 +0000 From: Kiryl Shutsemau To: "David Hildenbrand (Arm)" Cc: Andrew Morton , Zi Yan , Baolin Wang , "Liam R. Howlett" , Nico Pache , Ryan Roberts , Dev Jain , Barry Song , Lance Yang , Usama Arif , Qi Zheng , Hugh Dickins , linux-mm@kvack.org, linux-kernel@vger.kernel.org, stable@vger.kernel.org Subject: Re: [PATCH v2 2/2] mm: don't allocate a page table under RCU in do_set_pmd() Message-ID: References: <20261106-khugepaged_set_pmd-v2-0-d2457b5e377a@kernel.org> <20261106-khugepaged_set_pmd-v2-2-d2457b5e377a@kernel.org> X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20261106-khugepaged_set_pmd-v2-2-d2457b5e377a@kernel.org> On Fri, Nov 06, 2026 at 01:36:13PM +0100, David Hildenbrand (Arm) wrote: > do_fault_around() skips PTE table preallocation when the PMD already points > to a PTE table. A concurrent collapse can then retract that table and > clear the PMD before filemap_map_pages() locks the new PMD-sized folio. > > filemap_map_pmd() can then call do_set_pmd() with an empty PMD and no > preallocated table. On PowerPC hash MMU, do_set_pmd() then tries > allocating a PTE table to deposit. But filemap_map_pmd() calls > do_set_pmd() under RCU, so allocating from that context is not good. > > This race became possible when retract_page_tables() stopped taking the > mmap and VMA locks. Previously, those locks excluded retraction while > the fault was in progress. > > Add a may_alloc argument to do_set_pmd() and pass false from > filemap_map_pmd(), so we can fail with VM_FAULT_FALLBACK instead of > trying to allocate. > > This issue should be fairly hard to hit in practice. > > Fixes: 1d65b771bc08 ("mm/khugepaged: retract_page_tables() without mmap or vma lock") > Cc: stable@vger.kernel.org > Signed-off-by: David Hildenbrand (Arm) Reviewed-by: Kiryl Shutsemau (Meta) -- Kiryl Shutsemau / Kirill A. Shutemov