From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from PH8PR06CU001.outbound.protection.outlook.com (mail-westus3azon11012070.outbound.protection.outlook.com [40.107.209.70]) (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 3294B317715 for ; Mon, 27 Jul 2026 03:06:39 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.209.70 ARC-Seal:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1785121601; cv=fail; b=Y6E8WJUFOBksxbe86enkPNB/PRiOxyLu4Umvi/EcK8WcR46OnACco01TKhQjMjZMAq2zCNQZ/KOmKP7x5qZc3WjcW95cqozwz9zevus9Fjl+/vaJnfGF59nUg4ZFihxjnMa0yAJOanlOHJoYxwJeH5YeQQl8ToMOCSeTF7FTxvc= ARC-Message-Signature:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1785121601; c=relaxed/simple; bh=WaXgmVHKwy0wwhd6xLmnRwW8bTd+j2GMvVrB7Bp/S+8=; h=Message-ID:Date:Subject:To:Cc:References:From:In-Reply-To: Content-Type:MIME-Version; b=CIrMHKdFNRJEbln/Bb8GoSfZQZoI2EMHRDD3wSI9psUm6bQgTqOeuQl2ARmOzPVFnxM/+YBT2nAOSeLNGSTgBbQ5oe33m8JWx9WZ/7k1faAbOXJ2BqnWxAUwN/UCmT4naseDnq3ESI9Gyt9RkMK3b4EQiy9VpeaenLKJBGIq0FM= 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=dSzRe7Ku; arc=fail smtp.client-ip=40.107.209.70 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="dSzRe7Ku" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=sHJFWvHltte6U95PbDI8gNo/YtHN7jP64SK7LqR4ABigwQbywdCAigdRUz0wR2ZcP01wamIN/6UFsRT6OEgWo5kUh8pnTxHJciwdlCaGQG53uES++kyJmY4EBxQtbel62lOq8SxLL7OsjCx5TIBc/+UXtkkCbstVtqJ0/GuMitp0/Kg0ueVNIMoLsNQl9/gb1o6JGfq4pavI+H+ifOCrU97oBFewFFcCwUZYT0/9xsP/EhIWIwqqhwZHEsWhAAEKgWVQ+L3BGbkSkZBUa2t6V2P4CJyYSa6kajtA+YxrUd3DdhfdEkWlyvw0S683jdnBMG9obvt8TsEdKiVZ+eDq4A== 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=BrYIAlATyGGQgEstFIEBKNSUVTrY/DoiUtpQqCosY5Y=; b=sHQJNteoIXkReSTaxq/jLapgEY9GXuFKaF8Tc4buomviHzJeH1vHNughH6YDSdk0VvV0o56ZJ/ARVnZJ6g423yQlgdooxWlP47b98JqDrfxVpxnCyG1pc+tAORjR6AGQx2mF+59qGfMCiHpxizcFdPwNEZk/ze+eSRhcAPzNF1oofDXFT2Po6bV1Cy7gXG1cH7YyymsByF1FXrmAv+A1OWYmzRO/gB40AhBTkNWsMz+BdaREOQ4ecnKSpl8lKdsF7vmO0crFqeXBq6QjbsmxOdAfKJGb7TodkKtuaPahkJt2Q0HfR+/XfpAU0rmlp8XnmgGqtw5sElelY+DKed1sIw== 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=BrYIAlATyGGQgEstFIEBKNSUVTrY/DoiUtpQqCosY5Y=; b=dSzRe7Ku1ALNWZGFb6puHOUAY7Yk3tmOJN2RtE3S7STOh+AIg6IEzXJTjInA52XC9uU8tlP/OIKhNCizU/a1nK0O1G4Jao+FeFv3v0WinkdkVaIbErPOvlfS+fOhrcs3VpBJ7UAhgHsrwBxbKwIcJRn2Gl6Pj86GFu/Hs00EsRE1N60tSphJvNFyCHA0fMMv5m78cZK3TKuky6vhsbq04srA7MF/jDMc1POpPJHZ7NvncxAv7j6Uy7b2Vd0d11hdrin331klDoOj/fcr5hOfhz47gmk5Chk5FL3dj+arRrjUy6TT+QkGYWED4U9XhqD2tretNhh9KXqQIYmUSJVZWQ== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nvidia.com; Received: from CH2PR12MB5001.namprd12.prod.outlook.com (2603:10b6:610:61::18) by IA1PR12MB6233.namprd12.prod.outlook.com (2603:10b6:208:3e7::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.245.13; Mon, 27 Jul 2026 03:06:36 +0000 Received: from CH2PR12MB5001.namprd12.prod.outlook.com ([fe80::89e3:6df0:de90:8dfe]) by CH2PR12MB5001.namprd12.prod.outlook.com ([fe80::89e3:6df0:de90:8dfe%3]) with mapi id 15.21.0245.012; Mon, 27 Jul 2026 03:06:36 +0000 Message-ID: <46941695-5ab9-44bd-bff8-e871e780a628@nvidia.com> Date: Mon, 27 Jul 2026 13:06:28 +1000 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH v2] mm/migrate_device: Clear stale mapping after freeing swapcache To: Arvind Yadav , linux-mm@kvack.org, linux-kernel@vger.kernel.org Cc: akpm@linux-foundation.org, david@kernel.org, matthew.brost@intel.com, joshua.hahnjy@gmail.com, ziy@nvidia.com, rakie.kim@sk.com, byungchul@sk.com, gourry@gourry.net, ying.huang@linux.alibaba.com, apopple@nvidia.com References: <20260724082702.2531024-1-arvind.yadav@intel.com> Content-Language: en-US From: Balbir Singh In-Reply-To: <20260724082702.2531024-1-arvind.yadav@intel.com> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-ClientProxiedBy: MEWPR01CA0231.ausprd01.prod.outlook.com (2603:10c6:220:1ea::17) To CH2PR12MB5001.namprd12.prod.outlook.com (2603:10b6:610:61::18) 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: CH2PR12MB5001:EE_|IA1PR12MB6233:EE_ X-MS-Office365-Filtering-Correlation-Id: 17ccc031-c599-45ea-9532-08deeb8c11e1 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|23010399003|1800799024|7416014|366016|376014|56012099006|11063799006|10067099003|22082099003|18002099003; X-Microsoft-Antispam-Message-Info: I/V3alJeKyak7dKbSH8JaNLBJP81JoLyAnva+rNav/iFkxH/9eGtCb2jbqa8ZY6+WbQCjgh4JjZfTIWwDL4PDnQXISfskHhqM9ecK1x8vFYbdF2u5MuQu66vjWqn8Q6zXVgOhgi6ZTTd1GFja0Ep1fzUhJ3eeiB7eRuRMtfkOmdXeNIeuJWzCyq3lZh42N9MoHUcXIKGPLqzxbWK1phx6Uk0DERHsJTwwxwK6Afgf7xReKwRF612+Lebo2Bi1Xd7jbEP+AFhgndKJTqLdBCGVFSyqELIL8Lm/u3pCTC83HZmYwcl4NkE8G7cv4UmSRbo2s5tsoLUOJ/7sLsvCiTOMd3Qhz3891vm2QoaPDtvFV6vwXTSDX7DhbzrOkljbd/UQl/0jXkjcuLUbylN1MnA6XLeA6rJlNvo7jKaoYRjs9uMzAAr0TtihTZYoPIboX3BqKHClHrBjKu16/OaCajCpBG42ujFZeoFNuhcCtYD6/W7g/iUFESayzppmapl8xlilb9sV2n8tD3alO4A6DOzdzD5HWyF8rqT63ODueiTT+PBm9/R5kVUaSXZAk9e5hx1s/SE/SDlLUDUwAswDu4SJpFHRSUXziyMVpPUHneyI8ue37z5/MgUeX0nO63elacZFOkunfcWQcsvoe9PHFg1gulHas977PYiBpwNK+SEqs4= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH2PR12MB5001.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(23010399003)(1800799024)(7416014)(366016)(376014)(56012099006)(11063799006)(10067099003)(22082099003)(18002099003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?R3EwYUhjUHFlWEVXVTNIYmc2cUNDTG1ibGgrT2VGRTk5VXAvSVFkTFZ3M2Fy?= =?utf-8?B?dm5ySnZjQmRYMlZVdnloZFVIVGVGeEIrSmJPRVR0dUVaMUw1cFdwR1R3WlZH?= =?utf-8?B?MTJERmRPUWhTNEhDQUQ1bkZPc3BtamFvdzA5V3hnaTc1c2JmdlB6djIyUjJZ?= =?utf-8?B?cGsvckdkWDFqRmJTWVF2NzBBc3hXQ0gveFpOZDhteWMrSDAyRzVtTk8vVm9y?= =?utf-8?B?b2NXWUVRdndWTDFHaG81ZDhic2lFVnBsVFlsZUFCb3IzSENQNXVKZTN0QWdR?= =?utf-8?B?SUpSa2hvQTBwTlNWQ0dtL08yWmhSMXh0R0ZOOUhCc1J0RUxJaVpxT2tDZXFu?= =?utf-8?B?Q21KaytWSk1KSHJLQVpiTmwwaG9iR25iZWE1VEROeHpNUWl6enR3aVJkTjFJ?= =?utf-8?B?Z3Z4aWtLRzZHSHBDUndQTnlLTjdDYUMvcVZSWEVvSzZYL0ZnUXpaeEVBc3Rx?= =?utf-8?B?L3FzRHVJZk8zQVp0OTRiZ3ZJcmxLdm9ud1VkQzZXMSt3U0lncUFRbm8xVjFw?= =?utf-8?B?QUpVanNrT3loTldYY3N6UzRQZ04wSXVyWEI5WllZV2ZvOFFhUWVEZlRWZXBE?= =?utf-8?B?NldGTG5pNHBWUHI5ZEpQTDk0Umh3N1VzSjZFTzlVaE4wR3E3YVMxeUFMWjV6?= =?utf-8?B?bW9INDdHd0hIbGkydW5nVXZ2WTNUQ0Z2WWR3N3FYL01ib2dhVmtGLzRpOG9s?= =?utf-8?B?bElza2cxbGlQUG9SbmdsNnp2cW94eXVMQmdxOExVUmk5L3FJY2JSZjN4TTN6?= =?utf-8?B?MUF6STVVaHNTR2JXYW5oeEFaMjJ4RURZa21OdnNqQVY5aTdHOFVVRWlBMVVC?= =?utf-8?B?ZFEyTjg0THpkaUdUT0ROcTRlTGtDTDROY0JEU004a3lLSTd1V0JvNk5SaU9J?= =?utf-8?B?SENHZWx4SUtmeDhVRW5aT0Y0ZFY2QjdKS2RDd3ZuTGRHMXRkKzB2MW5xUHpv?= =?utf-8?B?d0M5N0swcyszaEYzcDB5eU55dHo1RDhvN0U3b1JjWVZpeGxRZTNtQUpJUThw?= =?utf-8?B?OVpnSXRPWm1yZHZwK3FYM29oU1YvSFdPaGRteVNIUk5yWndHbHVtK1JxK2Mz?= =?utf-8?B?N0I0YjV4VnluWjd3Q1hscXljeVBxZE51Y1BEQmthZlQ0bEFPaGpCd21qTFd4?= =?utf-8?B?eTBab0txbXJ1bkZKalNybHJ2eGQ3U09QbmxUS0FKSFNvdi9uQWhDcVlFNHZa?= =?utf-8?B?Ujloa29walFCUCtsb094ZjJuMVIyWnNXaGZjOFREKytyaUp0WGJ1QUl3V28y?= =?utf-8?B?a0F2Rm1hYkdDMWJiM3VsSUVlM2lIQ0JnYU5hY2hnRlVQNy8yTVl4NmFqMEFS?= =?utf-8?B?cWdkOHFpeWg3Z2NWWmlMZUY0eTdhWTQrdUU2S01UNE1SQ2RidGx0aXFBanhJ?= =?utf-8?B?S2R4Y0tMZ2JxQmFyUGQ0TDRIOStReXp2YUhHMGZDSno1SWEyaDc2R0RNRko2?= =?utf-8?B?WHJYMGRSN2UrYUdEa2tEdmxIZHdSd05FbGJ5aTNhaHV3RERyTFBPcGQ5WEVw?= =?utf-8?B?V1k1anErMnE1RW1JZllkZmU4Ynp2aTJMZ3pDa0xXZnBtYVVqZHVuT0JFZld3?= =?utf-8?B?d3Y0bzdzdjBseXkyRnNnOFNueEdYUGZjSlV4MVhJcG9nZUc3VWsyTHNLK0JG?= =?utf-8?B?cnNWRnU3WU9QUVRWaUtLSXQ3ZTdVMXdHZk9PTFZuTkUxa2pmWmQ0UU15NEsv?= =?utf-8?B?RGxnRFNuYVorKzk1WCtqeFBxeEw3YjBubzRwWFRERlhzbkRiOGNNeENOT0JX?= =?utf-8?B?OC9JbVh2aXdoM2E5L3lKL24zdktOMWw0MHJWUkluNml0SkRJdUNIUTdFZkpy?= =?utf-8?B?LzZxRXdwa0YxUGpLajlYMzFMTDlML0dEdFJpTEFCWmdmR2lEK1B6QXRaUUZy?= =?utf-8?B?Tlk2WFVId0FtS3NGWkppN3NiMjJBZU9pTUZGN3FTblNBTWhOSzBxZUNCL1dr?= =?utf-8?B?OHJDWHdENUUybkwzN2syMkxKdnVLWW9UMHpBR3BkdzR5RFdRaTZnLzFRdHNh?= =?utf-8?B?cW9LWGN5RWNITEJsNkRIUHlLaTZ1YU5GWGkyL1BPSzllZEg1bVJ5empVUWcz?= =?utf-8?B?aGE5TEgyNlA0TFBlb1NoTUo1Nm45SXAwc0RRS0hCQVZMSXgzNE80UmJFcC8y?= =?utf-8?B?ejB6cjd4RkRhQ2p4djl2cHZ1RjZScDFzbHdtWHlocXA5eEEyYkcybEZTSml3?= =?utf-8?B?V2E2bWkxUXBES2paSUo4bVRkVEFZV3dHejFXZWtudXlIN0ZNK3k0cDhGNkZW?= =?utf-8?B?WStuSjNrRGZXbEtCM3FacHdnM0RDZm9WTzd6RVk5WVEvTWhSaFgyWFJnVzNu?= =?utf-8?B?SVo1TmxQZG5DRjhtUEYydXh5NHMwaXVJbmN6dWo5RTVXWWFsQ2hXdz09?= X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-Network-Message-Id: 17ccc031-c599-45ea-9532-08deeb8c11e1 X-MS-Exchange-CrossTenant-AuthSource: CH2PR12MB5001.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Jul 2026 03:06:36.2406 (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: ogew1ipAaXkF4etjMvuDi68C6oVJCvl5tVE5GKqkYZo3/Ho8GBHejk+EOhgYuMwMjnbFW7DkS8/M865Z06KUtQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA1PR12MB6233 On 7/24/26 6:27 PM, Arvind Yadav wrote: > __migrate_device_pages() reads the folio mapping before calling > folio_free_swap(). When folio_free_swap() succeeds, the folio is removed > 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. > > v2: > - Refresh the mapping using folio_mapping(), as suggested by Zi Yan. > > Fixes: df263d9a7dff ("mm/migrate_device: try to handle swapcache pages") > Cc: Andrew Morton > Cc: David Hildenbrand > Cc: Matthew Brost > Cc: Joshua Hahn > Cc: Zi Yan > Cc: Rakie Kim > Cc: Byungchul Park > Cc: Gregory Price > Cc: Ying Huang > Cc: Alistair Popple > Signed-off-by: Arvind Yadav > --- > mm/migrate_device.c | 6 ++++++ > 1 file changed, 6 insertions(+) > > diff --git a/mm/migrate_device.c b/mm/migrate_device.c > index 554754eb26ff..ae895758b72c 100644 > --- a/mm/migrate_device.c > +++ b/mm/migrate_device.c > @@ -1204,6 +1204,12 @@ static void __migrate_device_pages(unsigned long *src_pfns, > src_pfns[i] &= ~MIGRATE_PFN_MIGRATE; > goto next; > } > + > + /* > + * folio_free_swap() removed the folio from the swap > + * cache. Refresh the saved mapping before migration. > + */ > + mapping = folio_mapping(folio); > } > } else if (folio_is_zone_device(newfolio)) { > /* LGTM Reviewed-by: Balbir Singh