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 810BAC25B4F for ; Wed, 1 May 2024 10:04:59 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 109326B00BB; Wed, 1 May 2024 06:04:59 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 06A996B00C1; Wed, 1 May 2024 06:04:58 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id E26E76B00C2; Wed, 1 May 2024 06:04:58 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0013.hostedemail.com [216.40.44.13]) by kanga.kvack.org (Postfix) with ESMTP id BED536B00BB for ; Wed, 1 May 2024 06:04:58 -0400 (EDT) Received: from smtpin30.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay07.hostedemail.com (Postfix) with ESMTP id 9715B160813 for ; Wed, 1 May 2024 10:04:57 +0000 (UTC) X-FDA: 82069393434.30.B41C083 Received: from sin.source.kernel.org (sin.source.kernel.org [145.40.73.55]) by imf19.hostedemail.com (Postfix) with ESMTP id 766991A0022 for ; Wed, 1 May 2024 10:04:55 +0000 (UTC) Authentication-Results: imf19.hostedemail.com; dkim=none; spf=pass (imf19.hostedemail.com: domain of cmarinas@kernel.org designates 145.40.73.55 as permitted sender) smtp.mailfrom=cmarinas@kernel.org; dmarc=fail reason="SPF not aligned (relaxed), No valid DKIM" header.from=arm.com (policy=none) ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1714557896; 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; bh=sR20Qi6ZHUUs2SVUrKl7hNsfJkxOFXcib5Ksy5KjHO4=; b=6e8CA4tlhuuNZToVaPgWgaWA6mwcgW9niIqbpgofmq0Lmy9cWdJYOIqOJjm7c5n3zpZfiO RwD7gCFL5Wfgaek27/IynXtukyndfqOadN/a2SMOf/aUcsdZN+sB4uRi0aBiMr9755QtPb 87T2yy7WrJqoUFQ6tOQzcLEJf7Vp2T0= ARC-Authentication-Results: i=1; imf19.hostedemail.com; dkim=none; spf=pass (imf19.hostedemail.com: domain of cmarinas@kernel.org designates 145.40.73.55 as permitted sender) smtp.mailfrom=cmarinas@kernel.org; dmarc=fail reason="SPF not aligned (relaxed), No valid DKIM" header.from=arm.com (policy=none) ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1714557896; a=rsa-sha256; cv=none; b=kRZZgCmFaRKfNHoyWXUvI4nu4bHOrrVXZein9DJsRjKWzhbjZL8bwb4GA7HuEcc6X1clNi FrGA7I0ttgEbTB9IOG4FuQd9JMRURNEOMRS3tABvEZU2WAYnofNjfYZAZdndxAFPeuXOkl x8o+/SxY2f72F1eQp5dC87uSnJ6jLRc= Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by sin.source.kernel.org (Postfix) with ESMTP id 2486ECE12A4; Wed, 1 May 2024 10:04:50 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 3DA12C113CC; Wed, 1 May 2024 10:04:47 +0000 (UTC) Date: Wed, 1 May 2024 11:04:44 +0100 From: Catalin Marinas To: Ryan Roberts Cc: Will Deacon , Mark Rutland , Anshuman Khandual , Andrew Morton , Zi Yan , "Aneesh Kumar K.V" , linux-arm-kernel@lists.infradead.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org, stable@vger.kernel.org Subject: Re: [PATCH v2] arm64/mm: pmd_mkinvalid() must handle swap pmds Message-ID: References: <20240430133138.732088-1-ryan.roberts@arm.com> <171449974870.639201.3165060270571039049.b4-ty@arm.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: X-Rspam-User: X-Rspamd-Queue-Id: 766991A0022 X-Rspamd-Server: rspam06 X-Stat-Signature: dhh19ono9u8wneddy1fsbhmuzuqtpfxu X-HE-Tag: 1714557895-567489 X-HE-Meta: U2FsdGVkX1/CAqw+swM+xHsEYb2x1iY3AqSgSKkn6S+8JlXG/TAtaDaFzpAH5Qu07sgccRpGYWu6u2Ng/uRqbd3mw6P2q4gQ+sWGqX27nBKi8l9HHV5VHbFD+tdhJrT18GSaVLEecQ94Hez7nlwjQbgSqi/iQVOWy2n22a0J4ZKOLyY8NDk9RqkLDRYg2wj6d7lNQ+L8V31hacMqTX4PsxlM0dm+/QttAYmRbespUgipOaoaZrG4iU6/RlFF9xsGfohyVCJJ8//HOwTeQIRxdRL2boc0t3+nM8yUOC9jdv638/sxtzE7sYj9mY7b+9OoFAKEr3U/vyyrZxp//AE+uHGx1KqOgOk93zROwNeOWOfeP7nCRYkZRiqoE4Vx1qN6ji40LodfBSjFBQf8ecG5AQaSEzctuaV++U/WgqoCNtM9oAEZ/KO9gVTIQ1dwcFXBfMJT2DACbCNli5N7yI2b7ZYwUe6YbHS37j6gdOLTHkptxWd3Xd6hbIDM4dZacWGEDr9448rz1gPhrlD69ciQQDhQxIMiT5RdDvVptfhvB4DINeCFhNn4teRMPORaqvwxrmyOlNnmQd/pa0T5O5iq58KXSRFWfA95PO9GjOu95JFooerHIdBU5wn5QGX7MXGtsz1wO7gmPA0dQMQtgMhmgu4c9Mqt5wqKwLqHVA3iquAdUMJlo1+PdpHsAAr8JaqUEl6sKFwOvYPMowCW4fBkEliNZZbRVMvW+CB7Iw+tcb3c2Oos3wKTcuUIppx5jkTlnj55xFm6OayrpxBYqqTaHn8kyM9q7nIJRY06Ww8lkCEe645S4EyS5DaKWiDxSIRsK+0wdTzEijdqvbG8CCaCY43J6EVPTJ5vTJtEWKgniMD8NfZRPZ/ZuzwC2R1/mPrs2ui8SJqfxwJlONxTE1kdIHCQzk1rSuUxF6N97uXjrSw/jIJPcMQCqe53rUY2FxzQZHotb6w0s9U4oW6ShtB Xe7pHvth xk6ve0n5WmsTTfd1hcLTku5S7ALsvE8hECosTkYlkfLqgSUnUYv5KP11PTzFv0ylVKxuabATqPbTisTu97sXEvtGNpne5kzogwFtAoFAzaSNGZMQr3U4RsiIqWDi5hjr+u4qKzvUQz78ZjYfgkMS1jpgN/phKiYHvBE+QbpKiVugO+6HCe+Uzf6lIvPoM14BlBVTK3D77YXUUUgBPjU9CFWzUo9+0OQMCzLhhj6ub7v9oR5bcrtCgBZcaefqL0lY08EGcu/PnoxL/9yZC+OKdAgXsYr8ccwJqu2nR3ObAu0ggBOfyo3a6zLgxxp/zuwJ0zZFo35opc1qZzicYyVjiyOS/4NBhk773s/jn0fX1CTDqMBQ= 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 Wed, May 01, 2024 at 09:05:17AM +0100, Ryan Roberts wrote: > On 30/04/2024 18:57, Catalin Marinas wrote: > > On Tue, 30 Apr 2024 14:31:38 +0100, Ryan Roberts wrote: > >> __split_huge_pmd_locked() can be called for a present THP, devmap or > >> (non-present) migration entry. It calls pmdp_invalidate() > >> unconditionally on the pmdp and only determines if it is present or not > >> based on the returned old pmd. > >> > >> But arm64's pmd_mkinvalid(), called by pmdp_invalidate(), > >> unconditionally sets the PMD_PRESENT_INVALID flag, which causes future > >> pmd_present() calls to return true - even for a swap pmd. Therefore any > >> lockless pgtable walker could see the migration entry pmd in this state > >> and start interpretting the fields (e.g. pmd_pfn()) as if it were > >> present, leading to BadThings (TM). GUP-fast appears to be one such > >> lockless pgtable walker. > >> > >> [...] > > > > Applied to arm64 (for-next/fixes), thanks! It should land in 6.9-rc7. I > > removed the debug/test code, please send it as a separate patch for > > 6.10. > > Thanks Catalin! I'm guessing this will turn up in today's linux-next, so if I > send the tests today and Andrew puts them straight in mm-unstable (which will > goto linux-next) there is no risk that the tests are there without the fix? Or > do I need to hold off until the fix is in v6.9-rc7? It looks like we don't push for-next/fixes to linux-next, it's short-lived usually, it ends up upstream quickly. I can send the pull request later today, should turn up in mainline by tomorrow. You can add a note to your patch for Andrew that it will fail on arm64 until the fix ends up upstream. It's a matter of a couple of days anyway. -- Catalin