From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from CO1PR03CU002.outbound.protection.outlook.com (mail-westus2azon11010012.outbound.protection.outlook.com [52.101.46.12]) (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 DBD021397 for ; Sat, 25 Apr 2026 14:21:05 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.46.12 ARC-Seal:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777126867; cv=fail; b=HktVpfWgpGyMfB3KBm+Pj85+iDyMawP1D0dfM3S8XYUCpmp3AGvGdpAEQasumC9GwtXgdMRgyafb8ZhBZvCy7MuM5o5fhRdUJFexvskXGEpsEH7V8AICqGcrDY/BCIxdRiaJmC0Tel1DbmESPeQZ9qjxlBkFW9amsi/A/1LBDWM= ARC-Message-Signature:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777126867; c=relaxed/simple; bh=1FhSlcuBm4exQHb90ZVkgAuRonvkq7yBiu9FlEPrtH8=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=MFYhiv7HrRDJmV0Gr6xHPaErK+ueVJVATmsLcODMdbitHMV3On8liFzmT4q7qaCE7z3cvqPVPMvlO28mJK6mROwnwUOJhMgr31mctPvv3gj2QBdzlRoBPp35I7A4cODE037nVWLBU3ehP0LRWbABx7fAZVIBC0slKP546dFoFgc= 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=XtrWxuTT; arc=fail smtp.client-ip=52.101.46.12 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="XtrWxuTT" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=NoE8ggzj8/5Tv/RcoQayk3ro/dIQ4Kbl6X1sEfTPt9fJjLHUtRyuZnY4RC6iF3e1HA/WtYeJyCsCMTTcyebGSQc3KkbShx8wCmd460ptcCstJGBu9rAxemifgTW7mxhIgb10pi2CeLytDT+6OaS7fYnwG7sMnBfnOeGXJk1PPjQaFOrmK1XRNFSkfdluomX1lSRTbGAvGt6hqODcsN2oKmjEs6lqFgNWgzzH45iHfxMWRBAiXhmFLqYMihIr93pLkE8N/ehpps8B/O/IAmvQxTG6STyzcEzFRb4e2sC1nS63o6+3o5OapEeuZRNcRKwHXMnYw7RvuQjvIs45u4ikyg== 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=tp1Vq5uw+azdTa1m4G30Ct7WIlp2/l/TDVdySriNCkY=; b=qFafpr7F1prNTy62aP4sH5r212zHZNrN0lYE1yFSyDD2pPEHfblBwOQKTeEAE1+DP7CjJi28GKvwCFYD8z2/Q+/0AQc8ZxsENLoqTanyTS5gLHVacnytSj0ozFaImbTq7OCMQKXC5reHlzSzrq8Edp9bY5D0MGoZMM36cWnLLU72os7nxVZS2JvJFQuFD3fUg1Fo7vGCizGKsjhZrdfTgVXpQOyoJr76sfUScCZeOUQporw+MjEeiA8AWxAClEIzqwln+BUiegcg4CirAoIVqd0WNdUz9cgA90wUqpFilA0S3QMcOPCQ2jcNwXqBPYpq6t0T8Wv4xAixtYdhuUckRw== 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=tp1Vq5uw+azdTa1m4G30Ct7WIlp2/l/TDVdySriNCkY=; b=XtrWxuTTewGW2lOn4tGbkzZDs2AkIDLkV9Em4PNIBMt6TbBy6wXP0zpffYNKcJBZTwQnN+MapXXWZHyDSkqeplIXrtPbxXsIwLr1LKDFNsRmmrGj2lp3xQRzU67aI93TJUNsAo4hPLjDgIvnPp2Cn86WkMlJu/BWbwchfaa9z1WW3h+w0Z6/eGMwjIC8pq7DhxW/Ax5h0ivgxyZCBG+y8n0As8SPXEQ7cY5rsUiLTd+7Dj/VM5V5zZ338MDlCTchkvI2TfXVIjIADN+pnVkSD17oCbdcQdtkfFmrwbp3xfaewLE7MJav+ubNtmx/H1cvwjRF7ELIG/m5944Ax41Y0A== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nvidia.com; Received: from DS7PR12MB9473.namprd12.prod.outlook.com (2603:10b6:8:252::5) by SJ0PR12MB7035.namprd12.prod.outlook.com (2603:10b6:a03:47c::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9870.12; Sat, 25 Apr 2026 14:21:02 +0000 Received: from DS7PR12MB9473.namprd12.prod.outlook.com ([fe80::f01d:73d2:2dda:c7b2]) by DS7PR12MB9473.namprd12.prod.outlook.com ([fe80::f01d:73d2:2dda:c7b2%4]) with mapi id 15.20.9846.021; Sat, 25 Apr 2026 14:21:02 +0000 From: Zi Yan To: Sunny Patel Cc: Andrew Morton , David Hildenbrand , Matthew Brost , Joshua Hahn , Rakie Kim , Byungchul Park , Gregory Price , Ying Huang , Alistair Popple , linux-mm@kvack.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH] mm/migrate_device: fix pgtable leak in migrate_vma_insert_huge_pmd_page Date: Sat, 25 Apr 2026 10:21:01 -0400 X-Mailer: MailMate (2.0r6290) Message-ID: <5D99B763-2544-4130-9117-9E6BEFE6A2CB@nvidia.com> In-Reply-To: <20260425134453.23769-1-nueralspacetech@gmail.com> References: <20260425134453.23769-1-nueralspacetech@gmail.com> Content-Type: text/plain Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: IA1P220CA0014.NAMP220.PROD.OUTLOOK.COM (2603:10b6:208:464::8) To DS7PR12MB9473.namprd12.prod.outlook.com (2603:10b6:8:252::5) 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: DS7PR12MB9473:EE_|SJ0PR12MB7035:EE_ X-MS-Office365-Filtering-Correlation-Id: 6304c229-536a-4717-72fc-08dea2d5e14c X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|7416014|1800799024|366016|22082099003|56012099003|18002099003; X-Microsoft-Antispam-Message-Info: JKv7ycQwtHDxcNLTaqhzT++KqhnNneqQimsDwnaHlHQcdI0J2mBWasy5LAmC+zRlO50BUwhAssn0ZmUi/K+lXd4QspcHEJBFkO8DpygwiEYPs2bm4L/u8F0NcHmarLjIVhfoN0ICs/v+yIvAAwgkumDMDLv2iXOxJGokZeBFPj04tb0iex2bkOMNxtKdrIubdEpkRsp+4G0gnx6wBDVxpx37rBSwOJtJWlTLg84dCQYkrDM+xScAXQxrbDCQ+WJ/GnA55gcnZcTRTgBtF7tsVYypZ1RXNcQVPkTjoKVZw+IMnvDJY0Sg4KgDNOwzlLCpiuxOwyx/YHN+i0BvgRSt4i8fyW0ldThdContJDNsQJ3P84Cdc6IcDW54scXccumsbexyAvpuZYSzIznA9cONJxsk6ys4LKdDLY5Y9dW0orGHQHjGZH2Ylt1uB5O71mNwudX4gjmiR941OvJYgIDUfJguQRW3VGkLkIcnMFgvQj8wBo7RFuUU/vUhExC5BqhxVlWn4khCdiXMpNYq7j9wKPN9QRi88L+3MuE0CqyW6DjtVe3y/IqUWo4DWbYzqJiaHNKd50aT+fK5qC0MoYbCHD0/VOrcGgJjnGrG53EljH0aOG4Z8a0r/NYvBs2fvVmp7323huIY9oniBDvN/bmn6mspqLcO+xhSSnHN+1dNhS7rGC1k+Wf9ASWf8RtzIPkXHAqrK+2JFQB+PYi1HhjikYmOF3camaILrle6PN3sV3Q= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DS7PR12MB9473.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(7416014)(1800799024)(366016)(22082099003)(56012099003)(18002099003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?a+PV9u86sR5agbvUujWMkGgcN30/yj6Nahuqm+GV78BlkgIPZDwapZQ8XdaB?= =?us-ascii?Q?bKvgWRxVS5MborHAPTpXbFEBVvJsNma6xAq+IsVYD0kmr2ErK3tnkiKTw/He?= =?us-ascii?Q?Q4L8u7TUnEc/QYkz9yx/Nuk50MexUtpLDkzRj5c6l7tCqpDCXS5h2trqjVjD?= =?us-ascii?Q?70MGHYzFTp0GlKfDjXRkQLKq5+lvOdQvXshd/IVSulhI99Rd0iKUlO4Nx/ou?= =?us-ascii?Q?ukiV3puR0igcwczCQUzP6oQUkbZSXP225v4vQ5T8B7NqBbM72A7y4YgHNOrV?= =?us-ascii?Q?SPlM6PAGDhPg9C4Y32sFPXthI288iTlPxVTrPX8RYC74XTQCxTsgOpIR8O+C?= =?us-ascii?Q?HMZ01jHSYKvLZEbUQ07TYMCdUmhj+Ad07rG3nmHjB9FPF1pn68XGt1agfSA0?= =?us-ascii?Q?2Wb81e4xQP4UUkgI4mZYunQVz1j1wv5VejSJUrFbxL41aYVzfHsO35p+8XGO?= =?us-ascii?Q?xtM5NYk4DVX/8FpiwuFXbHqWgIT2F+1N50YSYOfDXvYgvcvFiUDW/4XijaFe?= =?us-ascii?Q?dcJpsFAos9kHv7rlgF8gTpL2mGht3wJLWh/KWXtMsrl+8KM+3asPRg3zpPqn?= =?us-ascii?Q?wkuFc1NOIGmc/3bPtOUDSoK76OJfdUhOwntRTduajUVhSQnfupH9EGi42r/1?= =?us-ascii?Q?q0q87uzrIC8QfnMgpg5pz9mixiJCv9ANpnja6AeVYQ3fThx5bRi0yM3N72Nu?= =?us-ascii?Q?0PcXYUSHxqQhWiCWUbGVCeuhkqP+tYjuOXbWhOWkHJ4koWXJxlamKKMtuiN8?= =?us-ascii?Q?wkG7xEqFwbpS/qYzId0JEw6cGzvkkhZ623iJauFoD3f26XRIGKg9+EaaCCWT?= =?us-ascii?Q?OJvMGzqC3XwDfP74T4pZKDWhtkYj6QZIykahhapP/9LF91t1KdVk5qsLU/EG?= =?us-ascii?Q?O5FlZ2VSXzwBOWNXl/81aT13ZgsdjRhjr81P21jO1VPHqTXK7n2V8O2mcI+N?= =?us-ascii?Q?nHaI7SIP/wFypirZ79D0yWJ1igWkiBhVXE/zoKADHQlwkuMnR2x0rBOZg1xg?= =?us-ascii?Q?n2izN8LZlebbnCJdIrzrIdJIJT0X+FFmZcabk9MWEL8373LLxFvAd1jBH4Vf?= =?us-ascii?Q?eSXCmYPnsBG6q3tQieaITGtiTcXG9NBO4S1daDHfyqdwEHdyPx8OYoKh7XID?= =?us-ascii?Q?UXy6sCc34lp8lo2pu04VXnwGWwhncVg2xb0TFB54xHy/+2sKwSWyb9MDTr4p?= =?us-ascii?Q?sLPukUk8HC2juBxesdTEfLONRi2eqs8e6yT1/qtoVmGl5c3x3zewFnKTT3aJ?= =?us-ascii?Q?KgefwHFq52Dveb66W16eOkeInTL5Y4yYpSfqwegddUzlagEvHX4f0qpFqHE/?= =?us-ascii?Q?yA6cZ7McJdIafBDxtKIjCPH9I953tqpHAQpOCo+4n1gOfck3lSMPPiLgD7XX?= =?us-ascii?Q?3vA8DIxtQX6yC6z73ADNsdRrorqN8GdaPowf1P4cZx+dhUeVXoyFUzlt8TMU?= =?us-ascii?Q?JzXRpaTaALKOGt+8Visdx7aULh17b2tw3s+zozsdQj22ts4fkMmhU5P7BfGq?= =?us-ascii?Q?xr2y/SdwsWoHw+ocED2wYuzbQ4oxyaZhf4nLlae/elPoc05FelMH+CJOQPyO?= =?us-ascii?Q?m3IrcqF9KX+8fOH2uNy+lpxHf0S9psbyyon9ComKo6DKpSXJf1JUQjGRCUvA?= =?us-ascii?Q?/emx/dIO1P/KSqrd9f31jh8eBmxtT6r972GaFc/psOQ3L7VrML0D5fseGh+A?= =?us-ascii?Q?LykWfC9l/tPGpx8ELpWy0GMt/6Y30V1DEtstK6wPXMsmnXbQ?= X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-Network-Message-Id: 6304c229-536a-4717-72fc-08dea2d5e14c X-MS-Exchange-CrossTenant-AuthSource: DS7PR12MB9473.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Apr 2026 14:21:02.5689 (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: YtMJbbvOYgUUpAO0rlzrGHDcfQyIBXAlwGS/HxiztOScLLT5na6wrNeMhiCc+l+4 X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR12MB7035 On 25 Apr 2026, at 9:44, Sunny Patel wrote: > When migrate_vma_insert_huge_pmd_page() jumps to unlock_abort due > to a PMD check failure, the pgtable allocated earlier via > pte_alloc_one() is never freed, causing a memory leak. > > Add a pte_free() call in the unlock_abort error path to release > the pgtable before returning. > > Signed-off-by: Sunny Patel > --- > mm/migrate_device.c | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/mm/migrate_device.c b/mm/migrate_device.c > index fbfe5715f635..457bab5c7c31 100644 > --- a/mm/migrate_device.c > +++ b/mm/migrate_device.c > @@ -893,6 +893,7 @@ static int migrate_vma_insert_huge_pmd_page(struct = migrate_vma *migrate, > > unlock_abort: > spin_unlock(ptl); > + pte_free(vma->vm_mm, pgtable); > abort: > for (i =3D 0; i < HPAGE_PMD_NR; i++) > src[i] &=3D ~MIGRATE_PFN_MIGRATE; > -- = > 2.43.0 Actually, I think the "goto abort" above pmd_lock() need to do pte_free(): if (folio_is_device_private(folio)) { ... } else { if (folio_is_zone_device(folio) && !folio_is_device_coherent(folio)) { goto abort; <-- this one } ... } The lock is not taken yet, so you might need to add a pte_free() before goto abort. -- Best Regards, Yan, Zi