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 2D564C04FFE for ; Thu, 2 May 2024 18:00:19 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 769546B0089; Thu, 2 May 2024 14:00:19 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 718C96B008A; Thu, 2 May 2024 14:00:19 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 607126B008C; Thu, 2 May 2024 14:00:19 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0012.hostedemail.com [216.40.44.12]) by kanga.kvack.org (Postfix) with ESMTP id 43A9E6B0089 for ; Thu, 2 May 2024 14:00:19 -0400 (EDT) Received: from smtpin23.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay04.hostedemail.com (Postfix) with ESMTP id D62E21A0C1F for ; Thu, 2 May 2024 18:00:18 +0000 (UTC) X-FDA: 82074220116.23.465AE94 Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217]) by imf15.hostedemail.com (Postfix) with ESMTP id 28705A0012 for ; Thu, 2 May 2024 18:00:13 +0000 (UTC) Authentication-Results: imf15.hostedemail.com; dkim=none; dmarc=fail reason="SPF not aligned (relaxed), No valid DKIM" header.from=arm.com (policy=none); spf=pass (imf15.hostedemail.com: domain of cmarinas@kernel.org designates 139.178.84.217 as permitted sender) smtp.mailfrom=cmarinas@kernel.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1714672814; 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=7LZPlAU0Na4zXLABvS8zlJHgSdvsPBzs7Zba0Ak6em8=; b=pj+7pEsop+SgYIIxAarWSMC/hSNSIEnFIMS0i4Orq7t0dSNbJvliSY3v39dMG0YLSC07H0 aW45yqahYegBbxPfBWtAviyHwfkdskokZcOQCtcXs61/sy6BKoQ+xvr2zuz1s3mWeM9xR5 6/47IRATiEZ2mP7Qr0rJ1dDF87/s3kY= ARC-Authentication-Results: i=1; imf15.hostedemail.com; dkim=none; dmarc=fail reason="SPF not aligned (relaxed), No valid DKIM" header.from=arm.com (policy=none); spf=pass (imf15.hostedemail.com: domain of cmarinas@kernel.org designates 139.178.84.217 as permitted sender) smtp.mailfrom=cmarinas@kernel.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1714672814; a=rsa-sha256; cv=none; b=8anBmrJNH7XaxPsJNJh7bOm51sWjBAHTaRQxYoA7rNBVqlLJv7YqdtJkB8ZxdpMDEh0kMe haQxi1dEK1nFhaopFykOJOyJci6AYDarwzrn8O6Z2QSy9hRPwnMYrlDVSdoAf9dlUNYLSV PVUfpqYKz14dpaCH1sZaiSdL9czlx1c= Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by dfw.source.kernel.org (Postfix) with ESMTP id 3670561BD1; Thu, 2 May 2024 18:00:13 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id C1C20C113CC; Thu, 2 May 2024 18:00:10 +0000 (UTC) Date: Thu, 2 May 2024 19:00:08 +0100 From: Catalin Marinas To: Will Deacon , Mark Rutland , Anshuman Khandual , Andrew Morton , Zi Yan , "Aneesh Kumar K.V" , Ryan Roberts Cc: 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: <171449974870.639201.3165060270571039049.b4-ty@arm.com> X-Rspamd-Server: rspam07 X-Rspamd-Queue-Id: 28705A0012 X-Stat-Signature: 3cak7jccot8hwgmh19mu916rrsj643xe X-Rspam-User: X-HE-Tag: 1714672813-57604 X-HE-Meta: U2FsdGVkX1+pbqSBUBY3C4AkLwO/eN6tWuz9KWmnOYzIhOwTEOMthGBi9YLjjWGaZiY8gguzG+jZ0oqNvNuHauHlK1EV4YjSFBQonZITbC46HX3CcYm1+z7JfEAwNVGOlyTwQQKb9hGgI6Kj8LE20FPojN7FeDQthJiaw2OjzPQQC3CpBAZvsQmO711WTefHy2QPOmPdUCbSPrDi2LZZEFXz8Bi+UtkkDgJ4Kub/RojL6LeBX91HDXNFExu60x2Z6SRgphBvWzEEIqDby43hvqSBecT+DvhvtCV1iBOyNTfuXSjG284QfRjqDwprgacpXBYWs4fS3PhP0pSIj5bvSI/5lnmX7pRFJ+Vdb/IVPjkQAJmdjPfTW11M/wgPBLKXDn5+Q9/c2zco+c/wU8/QLyBhzJSAToOViiGUSkRfgqs/aNxagnxIHpRXxugI+oOkYMr7uA4Bw7HrXzvkEDBsjUBSEptEqhFcra1Lxdmrl+FVT5XM5oqtJ8kbBdv4uQ60y8Wik+jqcWv9cu1Pnj9kcbscHJAoo8aor9mlNXFlB1gkUsdUYOwp8mOpMED55/VcQ7cuN+03ALtVW5R6WVTUI2LzJjzUIBKNn00zjrMIxJ5+imbNkjduXNskYzGDA+ZUIDRdTN8FsyapQML9242QY7Aa3kDm5CVE6xJ6jBmFLTJZkvU0PGEQ+uwXNGVTrWsCzUbD8WtulMexSXK5mU6/rg4vnWIGEUWeo+tmVybwzCQaG8WiTC4VSADdKm/7p7reuZOzpfsu4ew/X95N6gzgXdV/+lNQAO2xrHs5IucCmW5on2ghgMttInoht31vHF92U67RPyypzDZWUbe9Ju0I7Vg7XiZ4A3yAKSC7kvlFFOqHH7u6Zac2iYC7vgfbRUh5+EQRTvgFx70D4sJPZLqLu5bq41WdSYFWRdVYc2AVynXrDmbp+rkxLEaqIihVgsCG26mQOqqpft2YFLe6bnG /RRWd7EG 9a0VhmM0MH6nNSn90oj2ZYtNf3g0ejmKKm1gLtblj1L0bNYfLgGISC7pTi/Ar2FiH7wBE3fjx9sNqR1TeC/F1koSzMgsrjsvqHwHXxxEWYeTepq5maxYPQoQvTkwMeGd5oRGJU9t0Kq5AYhInTNrso4O3k1GF8wR6HCAYyWrnW0eewRsP7B/j5C8pdhVj+zAqwiqJy6GAt98dadNerChQm5UNr8FdyhHdRmwhcfzjn4mwyJEYHohWkvInrnn1y0alV7/tu9KAUf3Z5zOFERm0bXIFjJ0BsE1A9mI3JiGpxngg4+5cEokLC5gKA3m0jMhW2LxLVjF+jgdeQ76+I76xsju+BsPuSv5+uSNQfT69MAHzP0zwLlu5pk4PE99cNqLfZc9CITJZEvRnLRp/+1rJN3ys8HnZqEp7zw47rK2jOm513Ac= 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, Apr 30, 2024 at 06:57:52PM +0100, 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. > > [1/1] arm64/mm: pmd_mkinvalid() must handle swap pmds > https://git.kernel.org/arm64/c/e783331c7720 Since Andrew merged the generic mm fix, I dropped this patch from the arm64 for-next/fixes branch. -- Catalin