From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from BYAPR05CU005.outbound.protection.outlook.com (mail-westusazon11010032.outbound.protection.outlook.com [52.101.85.32]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 1FEBB254B03 for ; Sat, 25 Jul 2026 21:05:06 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.85.32 ARC-Seal:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1785013508; cv=fail; b=jOb4B1o+1oIwzBkX8J1qnmGWeUw60H+KYZxWp4Qtfp2MMJaHkwfTcpuFL0Jvyxxsi0KSXPakHp4pkE0ojscb0FZ3kOX6zsN9Vt5C5k1ma1+kzkywQTLo9WshtiKVSczqvny7At9hJRi3OLVPK5Lf0tR4P//ePgDtV+Iyjv0HmoQ= ARC-Message-Signature:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1785013508; c=relaxed/simple; bh=H+is1fdCK1m0c1aIdGMtaxOS0NHEthv/hqw5y+PbxTs=; h=Content-Type:Date:Message-Id:From:Subject:Cc:To:References: In-Reply-To:MIME-Version; b=gU+ORTYLDAEKSx9w4palocWFoBcixEbcTcum7mr8vBilAVI82XHab/cQz3L7Y1mq8KGnA/2YK1qxmGmPJ+EZp76ifHXiSiIdabQJTRuKpHWzxCDhNCcDaNhC8N2yVJlbuy4pvvLBSeasdiUr4edxEo8syjmjVBiLRKM/HTsaxXQ= ARC-Authentication-Results:i=2; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=nvidia.com; spf=fail smtp.mailfrom=nvidia.com; dkim=pass (2048-bit key) header.d=Nvidia.com header.i=@Nvidia.com header.b=sM0oaQqs; arc=fail smtp.client-ip=52.101.85.32 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=nvidia.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=nvidia.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=Nvidia.com header.i=@Nvidia.com header.b="sM0oaQqs" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=JYmUMFqf7xDWoCFKNcQ7+Xa02TABGvnjODG+joAOq0/0emRzFDLQOQ9fz4LfpmYJZoM5E+0JjEhV/hySZNCSETqYlL0O9N5OfgI2PzbIeeV+n17mzoysb8ok8WvMVQqeLmGvbN3QUG6EJIpJnP9QETPbfaqI5n90WCaLoYRYMeDi1anCVOHIGdKph3CryhMyo4luXByMajwGprdkMsVpTz4vL8QtmVCzTwpzx4dv2yKGdJ3NE1YDBPL++FTRD3IuNi+C0sEP6lwv8fQOB+lNQRuNQHVxiTo07kXVr3YlL9kdxLnOS5RuBlHeXmO9XiUKWJRBtYpKQnV1Z/jlA3a/cg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=xTb0ZX6sMZbCYVFxjPpNd4DR8hD1l4SGa9oEf+cR8y8=; b=EVi89jIk80gBgqNXAR11AJgqJnzAFMktSXMJ0FPjZknlRwH1FQWEZMY0+HSWEl/5CABbgzSm2+ZEADII80Q8e0bc/CRly3YdYFqvzCBKjX7EWzxdx2SwWgqPPCphGc39Ew4kESA7xM+hyL2nZZhDl2JKHPsMZm/t802dTtHe458l9HYauW5uC/pxy2cFIRs+/D/9Oy4Aj/PjNKs8NxuA4YDgFd0jT5eJP7gRLvQGmDFBvdHfICxxZpd7ThLYiTr6ROJs9ssU7N3MrHsmDHXvdhRfwpXP1ontSIMwsUUXRp1iU/8QnGToQkYkiiAGYhWexgIis/y2wx7HgsO7+43qCA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nvidia.com; dmarc=pass action=none header.from=nvidia.com; dkim=pass header.d=nvidia.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=xTb0ZX6sMZbCYVFxjPpNd4DR8hD1l4SGa9oEf+cR8y8=; b=sM0oaQqsA1NgR8SZ7PbqOO3guThZerUds/IQqzTkVTluGKETKWIaPJG3w10L1qUPoY7aLrDLGiz+1owFoLR1Tcrgz15aeNWiXWVxY7tof0yZISbw5MKrpcdA/gutXntx1E+FcUkbDHACmZhTaJox3xomQNmBYutd53mkGPMrcrEklDvfGqTIELvgQ9ZQmtMbrcOOYSkYyIJFBfNPLcbPlQoTbeM+dM45OX+trZHuavssbaDzf1y4zHMyUHrbJBn5YHlvDMYRd4jRbS00BYEsNIN6IhKqz9u/DPR8ZwTJneswcJjic7zcA9/ZNi3X97uf3kgj+6BddLveJxe6aAbSNg== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nvidia.com; Received: from IA0PR12MB8374.namprd12.prod.outlook.com (2603:10b6:208:40e::7) by SJ2PR12MB8135.namprd12.prod.outlook.com (2603:10b6:a03:4f3::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.245.12; Sat, 25 Jul 2026 21:05:03 +0000 Received: from IA0PR12MB8374.namprd12.prod.outlook.com ([fe80::d85f:4c87:ae84:3f16]) by IA0PR12MB8374.namprd12.prod.outlook.com ([fe80::d85f:4c87:ae84:3f16%5]) with mapi id 15.21.0245.012; Sat, 25 Jul 2026 21:05:02 +0000 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=UTF-8 Date: Sat, 25 Jul 2026 17:05:00 -0400 Message-Id: From: "Zi Yan" Subject: Re: [PATCH v2] mm/migrate_device: Clear stale mapping after freeing swapcache Cc: , , , , , , , , , "Balbir Singh" To: "David Hildenbrand (Arm)" , "Andrew Morton" , "Arvind Yadav" X-Mailer: aerc 0.21.0 References: <20260724082702.2531024-1-arvind.yadav@intel.com> <20260724214307.a50ed52cf78fdc73bc42f9bf@linux-foundation.org> <2b2fe98d-1a7b-4aef-a1ff-0fbe43339180@kernel.org> In-Reply-To: <2b2fe98d-1a7b-4aef-a1ff-0fbe43339180@kernel.org> X-ClientProxiedBy: YQBPR0101CA0272.CANPRD01.PROD.OUTLOOK.COM (2603:10b6:c01:68::13) To IA0PR12MB8374.namprd12.prod.outlook.com (2603:10b6:208:40e::7) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: IA0PR12MB8374:EE_|SJ2PR12MB8135:EE_ X-MS-Office365-Filtering-Correlation-Id: 6afe3135-916b-4740-5539-08deea9064e4 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|7416014|376014|23010399003|1800799024|4143699003|56012099006|11063799006|10067099003|18002099003|22082099003; X-Microsoft-Antispam-Message-Info: IdWSJapSe0/BrLYFOem4uLOudk8H/gV8f7EPiOwhu0YVeqsJ3vkEY/oTrkHkGKW1lLjO4jI8iWSIRAQcypwnDGyPaqFB4g0QiAHypBD8NXQIVqt34l52VcfSXRHwSuwuKSGpP4H4HCutDRZOKSe9oMZ8hJXcln5jHryYFzEWATHrTVWV6jms20clM06ngHL0+WjdBRBHzU3WxKN47dzbFUP7gzthudJDeqrnN0XpQYFaHR9wjfj+B+rqFVFfEw1eMwNqLQvrsjc3zZUF+JjmsSlVp6Tc0k3TqXpQK+Z1wbkMTEGFdS8tGAXB6q635Qk/AD1PQ4IqdkiHAHX0hmlJhz+2S751pAXCcVEqsVjPwikd58w3CEYUUawEaR0Mi709TwoMfp6cbCJRnVe2czJIJo5+RAfqxXq1F3oAwv3PgHhO0FFJWjCrRNgSYSuONAJ/m/GqQgD5jun4KLTEgfJy/diLjXAl4k2Y+FD2fFASyoHqrjG4zxVpG9RQt+9MPaFQU4bWT2dfZYzzGS/wNPejdGYo9JeOsQWGVW2YL1+EPypM3FhIMc618yR918d0MbSKGcwebXnHfq3X1dtvD9WsFAeSiOLzOU7tVQYk4UiQ9ZzVdYiwYQPIObXAiQJ8thEauaivoFElVN6kasGfywQbJZhAJgKgoNb6QpFRGrXjymY= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:IA0PR12MB8374.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(7416014)(376014)(23010399003)(1800799024)(4143699003)(56012099006)(11063799006)(10067099003)(18002099003)(22082099003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?Ti9QQTlQenlOSGlEbW1FQXpRTmxYWXpwSC9oLy9tZTlQRlVocVBXeFMvSUgx?= =?utf-8?B?VUR0TzNSK253R1pUYjdiRnkveXpDM0hUUUQyN241b3lzdFQybk10dy9SVm5V?= =?utf-8?B?UDhVS3dIdkRKc0x4VWpJRlRYZ0JsRmFrc241K0Vsbk9iVW11OG1UUktVYVpz?= =?utf-8?B?OXBadTJ3WVBFN3dMbUY2WktmNGF1WXFEbWV6MThvTmlLczVvaVp5Qmh3V3lO?= =?utf-8?B?K1k0WW5LMVZvMmxBUW9VaUN6YmZ5V1J4MnBrZnVack8vR1pzaCsrajVMalVv?= =?utf-8?B?aXRDNUFFeXRrMEU1VXRBOEQrQW8wclJGb3VrN1daZ2NWNENqQzZmVlZxc3U4?= =?utf-8?B?d1RHRm90ZUlWb295UDZ2WStTWVBycTJVMDlSVVlpakQzUkQ4MTZVQTV0ZzJ0?= =?utf-8?B?dno4QktzWVdIRnoxSEhGdmpsVDN2U2NRM0hLdml2TnV6N0ljY3JSZnd6TjU2?= =?utf-8?B?OGplQUZwVXZIQ0dTWmJVNEtocUIySUZmTG03WktEQkdXb2d5bEd6Z0t6SXo2?= =?utf-8?B?cWxEci9tWVJ3KzhQazU3UHp4aFk0bUcrY0xVL3haM0wzVXcwSkNHSXFjaDFF?= =?utf-8?B?bVhudkhLTWZ6VEJWNzV6VEwwZjkrS1A0eDQ3dGozbDhSbkJqTlg2R2F6TTlj?= =?utf-8?B?SHRZazJ0MUZQK0U2czlVRUt3a0QwV3RuL3BzckhENk9oUGN5SlhhS2JqTXln?= =?utf-8?B?YlVVVkJOSXdKYjBjdjI4ajlwUGM0Y2VUeHlOcXJwSFRwZ1JhSWdjNlV0N3hX?= =?utf-8?B?Umw3UnR1T3VsM2syZStjYmwyWVhHekluMWJxSzJvci9adXpsVmI1NFc0bGwx?= =?utf-8?B?aVNRKzBBZmdCOStkbFQwaTRrcEwxYXU5ZCtNTUwxMGgvOENaeWgwWkFEd3ds?= =?utf-8?B?cUpRZ3FvUWlnNnJhbnpxVWp6Rk93Z2syOWt3YWJheHArRE9LK3RkS095anZ6?= =?utf-8?B?RVNUSVp0UWJWdkpkVnZoZDJxRHN4MitnZEo0czdXVFdaMWg5TTV0VWNXdmtq?= =?utf-8?B?dVoyMkwyTThadVltN1FOTUtZRmhSK0hBdWFmMmhQYU5uK21nd0lJMExhT2lh?= =?utf-8?B?OWdsWWJ5NlNRakdPekpUN201YVVIVDh1TEt4NFZHdTM0NGw3Ynk0SEFvdUlo?= =?utf-8?B?RVJHdG42bDJmekVaWmw3cWdZT05IRlhtQjQ2dWsyclJFTU1vSUIyeWpvb24w?= =?utf-8?B?cUVqTUdWeFp1aTN4UEJySkNkcXVoa0JxQ1ZxZU5uRW1xczh2VUNRckZSVkNW?= =?utf-8?B?d0l1bXNiQ0dzSGlFemd5Y3ZmTTZTYWVSRUpTUkc4bmFSalpzK3hsWlZWbk5Y?= =?utf-8?B?alkrZmtwM2s4SEM0ZXVQZ2kvYUh4M2VPWmhxT291cDNkK29xN0hiL0FmQ2Zl?= =?utf-8?B?dlAwaWJNV1ZBTEdYV3JtZUZadlZ2WnVVN3JOMkE1R1Z2RFJvWnJWdjZtcTVh?= =?utf-8?B?cG5yeEg3WUU4a3NoSERaU1h6OVloQzYwVFhEeW52UUlnT01nUnNFdlM2UlY2?= =?utf-8?B?Vm9KOUEyR0xPTGNGNXNNN1AwVXlHdzhMN2NNS3JGU2tYOGpWQ0EyYUthUS9D?= =?utf-8?B?bStQbDd3aFlCeEpmaGY2THFONUZmbEpwRXpaL0pVOFJkbndxRzJXemFwT0VY?= =?utf-8?B?RFltRDIxVS9OZGFzMi9FZnh3VlNOLzhmcTFkaGp2MFFpYWpiUVBIb1IwWWlr?= =?utf-8?B?dU5Ua3NFUGxIaWlaTFZrbHhrZUl0UG1HdzUxWExUTEFYYU5ndFBuZE1Lbk9x?= =?utf-8?B?dXhFNmFQKzBuRXoySlQ4dEdGakJVOFg4TkRrKytVZkNNZnhwdGVaTzVjc3Ba?= =?utf-8?B?QnhwVXkrOExHa2w5M2VGcG5HOTY0WGIyTk00LzZoQksyWEVqV2EzaDNKM1lo?= =?utf-8?B?ejMvTndKRDJwVVNUcllsNXNnbGp3ai9RWTc0aFNGTEVMbkpPb2k5V0FBTFhU?= =?utf-8?B?cEdJUnRiMTk4Nk1zUmRlNEhRZGp1SUR4bFNqWmlSQ2JYY1lTb255UHJ0czhJ?= =?utf-8?B?enFaZlRwaERTaDVoVXJjeE0xbzZXQ0lrMktiMCtkZGNLSXNoek5Sbk5KVGhp?= =?utf-8?B?UjFMYkVvb25wdk52NmJBc3lvT3VtZ0h2RzFUQ3pLVFBEc2NRRmU4bGorWEUy?= =?utf-8?B?NFZwaW9LNEc2NFQ0b2FNR2xuNTFUZWp2UVdibVA3TWVOUUx0elBuS2pkUlhW?= =?utf-8?B?RGJFeHVza3BsRDdVVXBxTVFKdzZoTmNINElLTlFZS3JrdGZpbXVDVDdnZndB?= =?utf-8?B?VHZ6SGd6eVJlZjdtQ3lnVmw3cGpkaGk4R2RDUmNwNENqditGaGFlUnJBVU9P?= =?utf-8?Q?P/XnLngl5saeDR+e9W?= X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-Network-Message-Id: 6afe3135-916b-4740-5539-08deea9064e4 X-MS-Exchange-CrossTenant-AuthSource: IA0PR12MB8374.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Jul 2026 21:05:02.3185 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: WA/pgfZvOteYRrF1MmbpccqFkFaE27JmOPY+/L4qgk3fwmbrEV56QI4fQCIAE27B X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ2PR12MB8135 On Sat Jul 25, 2026 at 3:36 PM EDT, David Hildenbrand (Arm) wrote: > On 7/25/26 06:43, Andrew Morton wrote: >> On Fri, 24 Jul 2026 13:57:02 +0530 Arvind Yadav = wrote: >>=20 >>> __migrate_device_pages() reads the folio mapping before calling >>> folio_free_swap(). When folio_free_swap() succeeds, the folio is remove= d >>> from the swap cache, but the saved mapping still points to swap_space. >>> >>> Passing the stale mapping to folio_migrate_mapping() makes it take the >>> mapped-folio path after the swapcache reference has been dropped. This = can >>> cause an invalid swap_space lock access followed by a folio reference >>> count BUG. >>> >>> Refresh the saved mapping after folio_free_swap() so the current folio >>> state is used during migration. >>> >>=20 >> Thanks. AI review might have found an issue with this. And one >> possible pre-existing issue in the code which Alistair and Balbir >> worked on. >>=20 >> https://sashiko.dev/#/patchset/20260724082702.2531024-1-arvind.yadav@in= tel.com > > Yeah, this might need another careful look. It seems that the pre-existing issue can be fixed by resetting nr to 1 after split is successful. It should also complete this patch. Something like this: diff --git a/mm/migrate_device.c b/mm/migrate_device.c index 18d097c388530..4a77b6c86ae4f 100644 --- a/mm/migrate_device.c +++ b/mm/migrate_device.c @@ -1193,6 +1193,11 @@ static void __migrate_device_pages(unsigned long *sr= c_pfns, MIGRATE_PFN_COMPOUND); goto next; } + /* + * reset nr so that only first after-split folio + * is processed below + */ + nr =3D 1; } else if ((src_pfns[i] & MIGRATE_PFN_MIGRATE) && (dst_pfns[i] & MIGRATE_PFN_COMPOUND) && !(src_pfns[i] & MIGRATE_PFN_COMPOUND)) { --=20 Best Regards, Yan, Zi