From nobody Tue Dec 2 02:04:29 2025 Received: from BYAPR05CU005.outbound.protection.outlook.com (mail-westusazon11010028.outbound.protection.outlook.com [52.101.85.28]) (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 E138F2F25F6 for ; Thu, 20 Nov 2025 04:00:07 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.85.28 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1763611209; cv=fail; b=hXpe+Op8v9w5dzymSdlZPtUrLVqD/k78/qsgBrEuh4J78REGlitN0phTWNTRig0GDC4qmt1IOqSnn1txmgOH7GrUVtB5LIGw4cgjDs+r2eFFbwzi6OvVmD1VMAWuYJZ5KZG/7MuByu4G0jR7xKJZI/eH2WSwfutnbxkcKkxurYA= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1763611209; c=relaxed/simple; bh=kP15s4Y8RM2W71mv7uSyfgOIyFdPjM3ktT0DWvsiwmo=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=j3t4jfUcEx0boo5Tga/YP8IVhPwIAkhO10yfRlQ9b5bmLeveca4W5mId7iavcoSql57n2pBdU4i+2uZ1DOl36G1Sf+SmG9yvCZ8ssnWYeGBdzJuiT6B93RNzbbqwVlRk7VReQQo/2nK1axRniBlVr2ku3DrxG4rBjz3wVc3tdt0= 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=H6ydHM5z; arc=fail smtp.client-ip=52.101.85.28 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="H6ydHM5z" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=OEYLTTMHelvvI1bh1WYRAtCo9a1YXYsbzgJQlawpj25wmcFxbkgFj14RWjxTiiVxfXMD7LTsvYxj8wnNNy/u9z23FFbAyxVkmgTAJcQRTESqpv8DLyGVHRDIVOgSzYpxXK2IM5/wBJSq75zCpOIPGzjZ20Q4DIpzIb2uf1BJz2RhRy3Y0X9g2q38IHmEUDbUaidxVIovsFMUrDO4Ug5rSv/bVHvK8WjWmEFo6yVZ9JJb+CkywLeNPR8RrC02OuitH4Ezo2AAVOzt1cKG8Qog9qlzm9ObMlXnyhwi0lW1k0hP31FPi2snREn98O9QPd9RLZuW+w6qYbXnYRbt5cyNDQ== 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=Np4ruUkAOxSab3WqC2zsg2Qr4QnikyRbnlkA7XAXtIA=; b=snZyNezQEZaftOp/hsADZoKx8C9IQMvAZyeC5gqdHgeZp1qc5nkgTVKtfkV98nqWiSR7QtEGh8zxsFaQlaCU5GtvI07Rfh7tFevc85Gsf5CXj6lTmU/oPrtd5Y5J6PHZR46SArWZGwM9YbxIMTgNaKDMdW0HToyMqz3Kb+6yXhYjsZ/vy9wqKsRPVeXPcsQctx8uXwetqbxsyu3252eV+4rf3A5C+GICNhmEZpQ+GHusrpjnNJO1C5jw0K2c+Sbwp1WJWVjXINj9Y+JpqEsTEq+Dob7Rt/NG7a3IfhhyyBK5TFmjUPoL5vWbfCACNVjLb6my3UrSxyRcTYnMSdjtnA== 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=Np4ruUkAOxSab3WqC2zsg2Qr4QnikyRbnlkA7XAXtIA=; b=H6ydHM5zJ7VwVy162hR9/SiUiRe7V3KTHKRue2dAIlVtOP6bD2ugEDF5+HgSsaI+JVNdIH4rBxwkVZrzcX24bkDXefnoLTZ8g+atl0eN2/A6S7fB0PShpvzGz8jtG3xbu7pxxFLOxk4NmhwNAAdzxLa/DHELfazgKry2ZoUoIexcIuuCtKKivP/vg/3lkFkmXapE6HiDekaFsEMXaIDZxWMzShYD17Y9P3La3cp5apjxGX702X8PzoJSbkHf8buBm7Jm4LX+DYfvgbVJmvkizDJhb8hR96TqTys6UGr3QFuKGA6B4GthWPrFu7KUUVF+G5iogHbj2dUse00iWEMdWQ== 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 PH7PR12MB7914.namprd12.prod.outlook.com (2603:10b6:510:27d::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9343.11; Thu, 20 Nov 2025 04:00:04 +0000 Received: from DS7PR12MB9473.namprd12.prod.outlook.com ([fe80::5189:ecec:d84a:133a]) by DS7PR12MB9473.namprd12.prod.outlook.com ([fe80::5189:ecec:d84a:133a%5]) with mapi id 15.20.9343.009; Thu, 20 Nov 2025 04:00:03 +0000 From: Zi Yan To: David Hildenbrand , Lorenzo Stoakes Cc: Andrew Morton , Zi Yan , Baolin Wang , "Liam R. Howlett" , Nico Pache , Ryan Roberts , Dev Jain , Barry Song , Lance Yang , Miaohe Lin , Naoya Horiguchi , linux-mm@kvack.org, linux-kernel@vger.kernel.org Subject: [RFC PATCH 1/3] mm/huge_memory: prevent NULL pointer dereference in try_folio_split_to_order() Date: Wed, 19 Nov 2025 22:59:51 -0500 Message-ID: <20251120035953.1115736-2-ziy@nvidia.com> X-Mailer: git-send-email 2.51.0 In-Reply-To: <20251120035953.1115736-1-ziy@nvidia.com> References: <20251120035953.1115736-1-ziy@nvidia.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: BL0PR02CA0093.namprd02.prod.outlook.com (2603:10b6:208:51::34) 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_|PH7PR12MB7914:EE_ X-MS-Office365-Filtering-Correlation-Id: 43a82ddb-033f-4072-52e8-08de27e948ee X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|7416014|376014|1800799024|366016; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?4NsJnLqzVI14qQtxTYyhdRQgNsXfDo2lBqEXwWm9dowfMALC8Vob5UMvvTAW?= =?us-ascii?Q?/mq2KtNU8JYjPTih5fzs+r9Aez0esqTP0RAOErYpkUTTjiN+xV7/sD1XXrFV?= =?us-ascii?Q?y2kM9++q4P43ltKsS5nSBMTV3zHKRj8EHPF2iEBKAXHV5tNLpa9rn7e+ENqc?= =?us-ascii?Q?TH5IGC8EwhYBP0nmESbMFjT4byry6MyZ2j9Qi9JPlN/ddTObxu3bOQp8lxaU?= =?us-ascii?Q?xK3Xp88FfcjxSgu1eeT7TmJ9p0WhA/xrFimcnqkSt3nFARw7mLBWYqppZRhL?= =?us-ascii?Q?3Z4dU3u5LTUA8EyN9gpNWFtH3MJBN0u3e29FlLYmLQvtEJB2RMz6aEGvv7Gl?= =?us-ascii?Q?tfHC+72e5jzrF11aEEYVqN2+cA6cYi80zwIS4h5XrjkQ58V86J7U2Cy20BfQ?= =?us-ascii?Q?P/RnF/96MWdOC8HizCz1mN2VN3MRJ0IQRM+Nccrw9eO1ZeUwgXOnk5z+qvWe?= =?us-ascii?Q?JTu8XO13PoEcyHKDJ/sncZ/XK1kxBvu/5JHh26EKhthbZOKSaRIK/Zfd1idj?= =?us-ascii?Q?y7Rjt8P+NjOpKJv3Hrf376E+LGuN0DhXB5aPnLFZANKR13CzjmkeiAKhrdGW?= =?us-ascii?Q?G2Jf7dND3ZcfEsAK52ModcKnno/u4MAKj0DeGu0Yki0+SH1Vqok6T9i0gTnS?= =?us-ascii?Q?H+FE7pNOJTC13lwwKjh2Xl0Zx3tbFGS1U8VwbOnZBOl7lhdk6EuZso5dsl4Q?= =?us-ascii?Q?wiGznvh9SnfD/b9bQiCXyNwx9it/rTOJHO9XRtDb41AQJXBTlMyq9syU84Qo?= =?us-ascii?Q?VBtj34kJdojBNb1UFg+E9YuydZyIsL/kkPJ1HtOsFip90Qo1Bfszf/Mi14ew?= =?us-ascii?Q?5qqW2EryNhVgP3BwlIr2NIFTW3J6tKfqbcWEaW7U23CdAQqg5NRpGHrqusRW?= =?us-ascii?Q?6sR80OULienAs0mxEw/HSksBptBOedSSs1xVgWR3zVD2/JC7t90XnTOWIi+W?= =?us-ascii?Q?tVeWKrU/+6kqab27jHQ53dT0/v+jwcyyBUKrHNQsxBdQBE6tJ+lp/DwnyGSW?= =?us-ascii?Q?2ZA9RSE+rkmCojOxIdylfYmZXT4zv7JidcYkBQR7XNaU+IwGvJeadBtueOKk?= =?us-ascii?Q?uij5IvSX34vp+pULQpzuo7WxCDZZctHlL7Y5CPgPunpyRo2v8e5Flgy7F4HZ?= =?us-ascii?Q?1ZJ0FutJ0lhWKmoJ/hIB0ztZv3mmKoIcDRvT1duYePc5A3/V+8AIWuPYNdsj?= =?us-ascii?Q?uB4oUKuMTReHktPI4UDLcFWrRMeRRdCxhkqnq5YjB9ctBzRR4336dYadHnbg?= =?us-ascii?Q?PPpFkPOcaYY2o1EQgPzQ4b5z71D4e1NNsH1FuU+IFQIWIZUV6YawgRM3ti1p?= =?us-ascii?Q?FykbxGcNniJfgm33PY8YxxkxOy+8cUQKKezo84OO3u7k3O4DszSYivJQ5sRQ?= =?us-ascii?Q?ZcM7iqbBMDHy4gQOARDcy9ZkAO12mqFirjkHtv6vqEDRYl2XEOTzQZtwNxoX?= =?us-ascii?Q?mBbzko41xQBYzzI2Lw18uuw0cD+pwP1h?= 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)(7416014)(376014)(1800799024)(366016);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?++o7LHW3dVKGDxbdNdAxYLxtWluEq4gEeIbq32VCKPQtYNJkUtoKysEmXgk0?= =?us-ascii?Q?B2t5eUvB2OSNyq37pgV0b0EejQ0E8w7eslQB2qBCibR5op77TddZKroP7mUe?= =?us-ascii?Q?LzsNakFqgjYxqZ9JmEyCPAL7U2H6ku/jYEigrk5US+BGZeE3ZA5YLGgKIAGE?= =?us-ascii?Q?qP2DV+uWbHTIpSRv55KLeAoZXwEvkY1o/xeZ3Dl5M4OzBoSj9aSksT8Xbytv?= =?us-ascii?Q?r8GK/72oWt/CRXrUmv5ypdSOkO/28n7dIQaSpkKzqFQEcN6Ymp84B8OnLbyw?= =?us-ascii?Q?oLNcBjX6SnPNgv96RwXJd45H3Rwmz6/YiV7UwrUk5OOX3yauSWo9KpDStNc7?= =?us-ascii?Q?w2upbb6nPmr7K/0vVnTKbEYyQGHxAEUwmuSzp51Du4L/0jSb/k4HfxBqb7h1?= =?us-ascii?Q?NxH7yqPy8+27iN61+wqt9ndYv8/HOoLXJXsoxBss/QnYwShu2CBNpasLLGnS?= =?us-ascii?Q?pX5ddqVgU4FtdJKtvZHvMRMiB3WcrarK6ANvDfVSAcbB/C0mZ0h7UifAp6W1?= =?us-ascii?Q?qjJCWI8c/lp05o0IGumzPcpR8pz2mxjZl/ayEzAWwv4g6iwmSQvQc31NwPLf?= =?us-ascii?Q?o9FE3i7aWqajpXeqQYajnCKNyPp1WvW4EJuomry8xPXbqJWtmyV0Ohl/4Pf6?= =?us-ascii?Q?6EA+zJYq43aWgwYjaPMm5TGCdq8dbDjhEQaNvzK59TtEqwmi0mfofUM2m46r?= =?us-ascii?Q?VxrydeIswvLYUmsocX9+xROT6w4iqd+w0AG2EGScRtyD609zasi2SLkz3uFU?= =?us-ascii?Q?RidWzY+ix0MCqelgmrA8OW6gBPS2ZzeJLDp0wEagI/Vl7BJh2nstOkHaFah6?= =?us-ascii?Q?rvLLxVTWVQN5R5sN9/WCr1aHyJ2nU1GMdI8FUE9hnqneS57N8E+LxkF/bZBS?= =?us-ascii?Q?bB1Z8osKBuzNRWktz217ufPrpKZtHtaZAQ7O94Ju/TE/RUs4vgtxfQjj8JPf?= =?us-ascii?Q?4yzn+WHEzjA//9NmTqofZv1RJvgyXdwZRsTg4fpFrG8BCRdVeKq8qA+BLeJs?= =?us-ascii?Q?DVSzIcwBvq7+kQesSrrdQCarA+xKpHs9iE2zdw+vuzOkwwmmV7IzwLs9s5nB?= =?us-ascii?Q?8PkH9cHKZ63YdP1hzwyHsQRsKEMAnpQzFzxpLHulFAA/q4loieQ7qKvL9smO?= =?us-ascii?Q?N3Z8LK6KyE31+VxaPr5YTMdUyRFTLWhWPME6RJhydaZd1Ev6DUmmONQ72FeZ?= =?us-ascii?Q?Y13oHsWGabs+0X6SrnsePvlzWPpTlpXXit/oNz97WQh4ssDMwUbVp97C7q0S?= =?us-ascii?Q?/y0Ny5Tw0/RxRvBoDWZJErRY2ZQkXk2oWV2ZV9KLQJoRm4jXxnGiRlC5PS/i?= =?us-ascii?Q?KMBEgM9ltKMfTYUTgikqCmInyKoxQg03Znd9q1T5FsL5niGSAmkNLc09ebL2?= =?us-ascii?Q?1+nSPWTZewl/WT6Wicj8G3cXPkTgaEuVWkfc6+8NFsdigjHkc1ryY7rRQbG0?= =?us-ascii?Q?UMwdFUPJIOYAvZS0DazOH6EFHm416Of8SerNebLquj5ScAgxsnYfmAkzlSyB?= =?us-ascii?Q?VRUyI12AeEp+p8s5Djatz+R8okEKxKRY4DnvFx0CQHUe+uWkZIGNi5thBf7v?= =?us-ascii?Q?aEf9I56trnfQ1v3S5ACiNZHdeThEmlEY5UNmZXyZ?= X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-Network-Message-Id: 43a82ddb-033f-4072-52e8-08de27e948ee X-MS-Exchange-CrossTenant-AuthSource: DS7PR12MB9473.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Nov 2025 04:00:03.8508 (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: uW2QhKZX1A6WuOrc14gfP5UeULa9/hezUAa1fCxmwY5IVn+XqpBaIkRfX/bn8oFY X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR12MB7914 Content-Type: text/plain; charset="utf-8" folio_split_supported() used in try_folio_split_to_order() requires folio->mapping to be non NULL, but current try_folio_split_to_order() does not check it. Add the check to prevent NULL pointer dereference. There is no issue in the current code, since try_folio_split_to_order() is only used in truncate_inode_partial_folio(), where folio->mapping is not NULL. Signed-off-by: Zi Yan --- include/linux/huge_mm.h | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/include/linux/huge_mm.h b/include/linux/huge_mm.h index 1d439de1ca2c..0d55354e3a34 100644 --- a/include/linux/huge_mm.h +++ b/include/linux/huge_mm.h @@ -407,6 +407,13 @@ static inline int split_huge_page_to_order(struct page= *page, unsigned int new_o static inline int try_folio_split_to_order(struct folio *folio, struct page *page, unsigned int new_order) { + /* + * Folios that just got truncated cannot get split. Signal to the + * caller that there was a race. + */ + if (!folio_test_anon(folio) && !folio->mapping) + return -EBUSY; + if (!folio_split_supported(folio, new_order, SPLIT_TYPE_NON_UNIFORM, /* w= arns=3D */ false)) return split_huge_page_to_order(&folio->page, new_order); return folio_split(folio, new_order, page, NULL); --=20 2.51.0 From nobody Tue Dec 2 02:04:29 2025 Received: from BYAPR05CU005.outbound.protection.outlook.com (mail-westusazon11010028.outbound.protection.outlook.com [52.101.85.28]) (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 8FC0F2D7817 for ; Thu, 20 Nov 2025 04:00:09 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.85.28 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1763611211; cv=fail; b=PttIzK21WYe+tfPqm/Gkyut86pCsdOsSYVIjPupsiebRWd4V6utFxDUR+rNwuQw5JSNETt0ZlI5fGuwsqdXjrj2RqUvpvio7PuiVuOSuV9nVfNNiQASnyVVDRGumqEh0W0g4RXEeBd9WoSq7u6Tj9q8raWWNODphaCKtWa1Mtbc= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1763611211; c=relaxed/simple; bh=8yWB0Z7+ch2OPUlNHLp/FF+tuu7nozF0j88jUkD+OYY=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=YlGj+bgGGlzWSflci9fvblKxAs99LywlnvJSIR7rveVoj1iROM+1BZryz1kU9G1ejtE7lQLeyEsP+xJUyAWOM8VGxxek3kAO4T+bvPaAsCagHH+f8xAOuRugrMbWzW+h4Md6B9rsO9fxVw6Lv3evuLA8JtchqyAc4bsTiGI3ay0= 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=di5RUCR0; arc=fail smtp.client-ip=52.101.85.28 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="di5RUCR0" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=tQzj6Tt1WgDnv6LGMHFSmAg6o5ItF6WCui0LLjG7XkzAB+XH83jPFhsVsuV83hRLVgt0ynFwOiR2myrF1MHB6NjgwjwTlCcv+GI959fQXInxyQvH+5ss5XZXEQu2sp61yo9FaG6sohCZr5Dvec2BXTh1VVomEpFBgvyjbh+0KeqfBbDawM4IgNzvygNNs7BGm+qR9yo26uJwB5GKj4zbmiy/D+/EiERU0d9w7NfrXgofAvhXNo5651gnTwqdAIzIiCkSDLjyf1UDfrrPY88ReYJ3ghQbyRyQD3LoDSbfhYp3uvVcW8/OM+DhTswpb8SmJXWbK7sShVI1IzgMqxHqTg== 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=hC/Eu4Jx2z0iUNE4zsURDkO2uo/SWStumed8rZ0IYUY=; b=YgAlbZ6Et4ENsn3NCQPnkglaXk2geolVq4lw0Ggl5j6Qt1PI5n98D5umTb6A10t1ghoKcaq4eBr/SP6MMp1R4DyI3CDDcCplk/vFATp8miXjrDgKPbWU7xQ+Vk3+Djpe+pTYuQr0MVvrcVhspaB92EdQTrpSNMJZ8cG0hj8pRSljiXrdA1LwmZrYSTc00GoTiqbVwsLLbRby/z1RvBwJT4goa3FLpyM6KeP3kILjbIeUMmXnFJvQRiqbVzCtF/C2UwjwR+Wg/7F8Af/2npQ6rn2A14aSmqsjpiamrbNj2CLEXJBRT72PgzQdfWFt9D5F/ccgfFanImQh9yIFtSaYcA== 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=hC/Eu4Jx2z0iUNE4zsURDkO2uo/SWStumed8rZ0IYUY=; b=di5RUCR0n5MXHsPD9QcBQy6/P4Oyf2V7812onrl5asC82NbSuxp4s99vpHurJoWakiStVdPu5MlGtP2EwtSqbd7hySoine5HTMnsLlxG83HS38U+NuAMiIgJbqmDZc/66dmolqppByXBIftEFPraRHPxK/mtR/PfYj0488JBTDRwbTn3qRWICKzmuFkCQLn+bcHxY+gAQxqno3C9UH9bTWYPYvAtTtnyLkJaaNg8Dq7SGkner4QH0IahnnJWQ4ABIYTYKlpBFf5z70zihTQYwVey8l33HwYlkh9bHhxc/uZIkrj4MIi1QFsc6tU7LdoyzF/fxXqmUhEtWo0/5OpRhA== 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 PH7PR12MB7914.namprd12.prod.outlook.com (2603:10b6:510:27d::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9343.11; Thu, 20 Nov 2025 04:00:05 +0000 Received: from DS7PR12MB9473.namprd12.prod.outlook.com ([fe80::5189:ecec:d84a:133a]) by DS7PR12MB9473.namprd12.prod.outlook.com ([fe80::5189:ecec:d84a:133a%5]) with mapi id 15.20.9343.009; Thu, 20 Nov 2025 04:00:05 +0000 From: Zi Yan To: David Hildenbrand , Lorenzo Stoakes Cc: Andrew Morton , Zi Yan , Baolin Wang , "Liam R. Howlett" , Nico Pache , Ryan Roberts , Dev Jain , Barry Song , Lance Yang , Miaohe Lin , Naoya Horiguchi , linux-mm@kvack.org, linux-kernel@vger.kernel.org Subject: [RFC PATCH 2/3] mm/huge_memory: add kernel-doc for folio_split_supported() Date: Wed, 19 Nov 2025 22:59:52 -0500 Message-ID: <20251120035953.1115736-3-ziy@nvidia.com> X-Mailer: git-send-email 2.51.0 In-Reply-To: <20251120035953.1115736-1-ziy@nvidia.com> References: <20251120035953.1115736-1-ziy@nvidia.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: BL0PR02CA0106.namprd02.prod.outlook.com (2603:10b6:208:51::47) 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_|PH7PR12MB7914:EE_ X-MS-Office365-Filtering-Correlation-Id: 0c17b399-4777-4e0e-58dc-08de27e9499e X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|7416014|376014|1800799024|366016; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?ZxZ9aT6HLb3WMjihSxHALK9inOC8+NduMmopiCOP6Xjjt1k7WbU2gIl4Nva+?= =?us-ascii?Q?17oMHwIm0Z2zMtrIuRe1hKqM37xD8WX6+qf1v8KRod6yqrgp8y9arg/sv01w?= =?us-ascii?Q?0orm63QfBgGNHqiG0LzWMghq9Ckz6KcXp6JJMEH/10fDflAnKWLoESh0SUPV?= =?us-ascii?Q?QlI2biS3UZ2obxc5AORAyKxF37pT+5LjDA9RYoOJa/Fnb5Sjj59d5yKvYV6h?= =?us-ascii?Q?+nBNvfWskX0j6GZRkpgeA5StAuflnMkihbt97hfLJWs9hqe7Km/Vd6MolKzu?= =?us-ascii?Q?1Vk5hCpyY3U8A+4oFqPiezWALZ4Ge4uIIHZt5ddOheYRHMiyb35QRVnVfQuC?= =?us-ascii?Q?WQX8fmvVr375ssx8ztGZOauKAaNHFBvnL6qWsV4t+hgB9WppM1DykYiCocEe?= =?us-ascii?Q?glikrd5FWwhgOi5zAOhFx3Ubqn0FW6EJhyIXKzoa1krPAIiBkOCD7Fi/o5wB?= =?us-ascii?Q?HdrHWGREOsS8qEfHCS0BMaOzLc9UmKFecBAyBwmus6g0u8G6nO0wNREn1K7W?= =?us-ascii?Q?sdSXvREt7p70r53uVNC1ecYDodKVrTZXBvf9fMA5Hgq5zsxlUGfAWSe/f85i?= =?us-ascii?Q?tWJS/ebR9Ik3yooS/z3lcLf/8m+8QCoEyLjlHjbWV4WC0hCzurYb13Jioc2k?= =?us-ascii?Q?xbavZUKRHIuyWshn4Mp2iqySLfu6A5qRnYe8uvZhQOxQYBn1Pj3d+61x0mUt?= =?us-ascii?Q?u5OxkqySzFAVzy8aW0pxXXjMNRclKpY2C2l3Y1cB1X9XLDCqfmh74ef0FprZ?= =?us-ascii?Q?nqNKbNrZ5UUdHKJ/Dg2B8l0M3ee+RMq4R146XMU4GvGsYgK86oNrqxgkTm+O?= =?us-ascii?Q?fYgIyijr/pqRjRoZRpD8wsdOFWH14OS19d5rbHCPvkN7+II1/e4k3WOzvc8A?= =?us-ascii?Q?Bv6iY+vyM6wNrw4tIlDzgYfxuk2lQetw25eSgBILflXXdFj46Bd/7GK5yPMp?= =?us-ascii?Q?jfuVIvRoAAioCQ/pM3x2IHmJC5NGhNoH13gH9vZb8jknQEjpcFd8i9fJqUBq?= =?us-ascii?Q?749yLNN5WV07ivAp0bYmnBBglF0BHvOgd0uUbYCv+ltAiVwionj6gLF7Yq5k?= =?us-ascii?Q?QReB9uBIx72J/18MXoXZP8gtq/snlTMH/WloIP+W/0gW2NFZEkIwKre67hsq?= =?us-ascii?Q?oTvoZqF1EiDoGREZWn0cjYA36NGsl/el0vGTv9f5YjO+WX6fqUfrkbqpgbFn?= =?us-ascii?Q?ThryjQdL8r/blE6R5KdRKR2lLbfnv4r5Yqx4muFQsn8kEwJf6Zhe0ZH7a+k7?= =?us-ascii?Q?LUFs3qC/9TnC1rlZQMCVRCMfma8YdYz2uZS13ZdYkQuAin0njvYcxTZjprKM?= =?us-ascii?Q?8grRpLbSeIi+y7a0zSc/3h3giVnW3Sna79uZya6fYUdjOrUpzp1PqIm42hkk?= =?us-ascii?Q?N6Rj9aKF5v7SzdQPSyjZJ+CQTzmJ7J8KRHSixHGA6b33zZr09EnIqMxEv6g4?= =?us-ascii?Q?1lAZii/k9ZLD314dbTfb21sfxh7Qj58D?= 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)(7416014)(376014)(1800799024)(366016);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?fODwzjK7Sc7LKM5I0wodLdjeYpMUFQ2tV5RcbOX6RHGBQnCzHcN9UwLH3v5B?= =?us-ascii?Q?IGK2xuuYWd+3IzQNgqAe6Cy9DOeg3SK5g9l1c9RQVTY9UsRdhqHxGn2/1Au7?= =?us-ascii?Q?n5NEjZFhcWyJJVVkY3UtPGEcDoMm9Net4zpC4hYtxMxEpwvjZQIGT94hYq0g?= =?us-ascii?Q?pUOAva2tBBlCaBoaWiejThm+82kFZ7nuFd2UT01peCvn2aRUUTyTZO24Vfyt?= =?us-ascii?Q?RpzGKlYCtvSHzxF8IVb8PbvWCKqt9s3Rqujrf2Gc1QI7HtBkE1E+L4bPB1vX?= =?us-ascii?Q?+Uw0q+BthlaEIXe/q3p7niQOWqO+Ek5HeB/q4B61oK5oJhUTmj7JH3OPlw2h?= =?us-ascii?Q?NvOB+s1mN4MdPaZmIk2DeZXipMM9mjKfoG82+vfFgX21TcatisHaHYuUYEdX?= =?us-ascii?Q?62LiOBai6GnDH9gHhRT7bO1a8gvdbeG0BpoUQTqN8LW6d7yEqkTW9e4guXzC?= =?us-ascii?Q?J7DX1ZkYurCUMANpDLKGKiHmXRBGmMNj5Gx7C+XJYOdaQ8Cllx/1jq3ss7Vk?= =?us-ascii?Q?+557ODUMJxIbsZgdqsLPBQIoniAgbco5a4kZ3YLlqF7/l+Iw1TmbKrdt09Tk?= =?us-ascii?Q?DS654vxBRMB61BfQlMDhQSNi+nEckdqDpwY8y8EYLxfa4c3R7RWGbTVVqtRB?= =?us-ascii?Q?aLKaxyYzt2we8D4U53n0WyNivlRDnEmBvbhzGL+bqrmsAiRA1kIYY/y80rMc?= =?us-ascii?Q?OgMkajOFUcOAqs3O4iH4SyRLYQkdO8nAVPfigP7PhSPGStL0I742tXXeSrf2?= =?us-ascii?Q?n6DIRG5b+QLR81vIeKe14VFSr/MRw8U9K6Od0rFmuhhWXM4zzYZRyeyIV3T9?= =?us-ascii?Q?zQCRtvpjmDOeC94Eg1pzcwRfMyMrsYIPkFQpcQW4ygxoYLtnleObbzH1LcOq?= =?us-ascii?Q?ZMEuoS/kMAVUVaWSnxE5JDT/yTu71xWC/7mD4MNka5WdWW5Vlq2xPm7hm28n?= =?us-ascii?Q?JWgXBe8YmChLaWmD3zlAT/awMVnFNNUul3MZ+LqzGwX6p2J15oS1lANMj8Im?= =?us-ascii?Q?8mfFpqtL3eoKggxwHH928blUAGsrWkB9xfVidvUxD43scy4b2BYFowOVNX/0?= =?us-ascii?Q?Wd2cj0VtHUdg02BsWzltu+vrYE+pcViZDcGO2u2i0CtXp4E3BukvSo+dzEmu?= =?us-ascii?Q?vvpkClhp92KINO29awYv37EGQ7VTWIjcpvxx5SnpXW26vJs/Irvjn68V0v1W?= =?us-ascii?Q?mVc57j/2/chehxkfu0RKRg1MVu1UAaTmIZnnTTG1hMVK1Mg1zGIzPlnhm606?= =?us-ascii?Q?k8qr4OSf6wMNAhOlpTskd9qWoKWZ0geXjg5r1rZ/8IhQR/zbVKCPnujBnVM2?= =?us-ascii?Q?d3VH/BIlOgZykDtxjF/n2itwEaggXZ+qrJS0cOPm32gQKbny6BX7dsakbtsT?= =?us-ascii?Q?hNT5mtXOkLefCJ/13WWQ3CPI1rJmD+AtKQHe8VQMcyrdfDObNCG3OoY6VVsP?= =?us-ascii?Q?OM0wwtHkjPqW8NmNo6bOCsKulbdNFVwXva+0y5skYNtuHMsZjgNb684QCZCC?= =?us-ascii?Q?WuE6KFUzZrk7pRuqEB+VWhdyfbZEh0rP//6o+RF4yt+XdwIl7MTT5QWgbluE?= =?us-ascii?Q?qeb32W/Q176sgssKRuv5dsek2PCKUANbuuAONUan?= X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-Network-Message-Id: 0c17b399-4777-4e0e-58dc-08de27e9499e X-MS-Exchange-CrossTenant-AuthSource: DS7PR12MB9473.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Nov 2025 04:00:05.0344 (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: yZ1Lt6+4oiTMkk0KfbFOjLbSfYKL/9e4eOxK1jgHa6RksuUCsZ+UI2G9tOHFUF80 X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR12MB7914 Content-Type: text/plain; charset="utf-8" It clarifies that folio_split_supported() does not check folio->mapping and can dereference it. Signed-off-by: Zi Yan Reviewed-by: Balbir Singh --- mm/huge_memory.c | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/mm/huge_memory.c b/mm/huge_memory.c index efea42d68157..15e555f1b85d 100644 --- a/mm/huge_memory.c +++ b/mm/huge_memory.c @@ -3688,6 +3688,23 @@ static int __split_unmapped_folio(struct folio *foli= o, int new_order, return 0; } =20 +/** + * folio_split_supported() - check if a folio can be split to a given order + * @folio: folio to be split + * @new_order: the smallest order of the after split folios (since buddy + * allocator like split generates folios with orders from @fol= io's + * order - 1 to new_order). + * @split_type: uniform or non-uniform split + * @warns: whether gives warnings or not for the checks in the function + * + * folio_split_supported() checks if @folio can be split to @new_order usi= ng + * @split_type method. + * + * Context: Caller must make sure folio->mapping is not NULL, since the + * function does not check it and can dereference folio->mapping + * Return: true - @folio can be split to @new_order, false - @folio cannot= be + * split + */ bool folio_split_supported(struct folio *folio, unsigned int new_order, enum split_type split_type, bool warns) { --=20 2.51.0 From nobody Tue Dec 2 02:04:29 2025 Received: from BYAPR05CU005.outbound.protection.outlook.com (mail-westusazon11010028.outbound.protection.outlook.com [52.101.85.28]) (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 36AB82857CF for ; Thu, 20 Nov 2025 04:00:11 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.85.28 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1763611213; cv=fail; b=Cb3bV7jHn0alYco1PWbkrA4NTlSIodicoSkpeck0tdwUCNeqXT/bu1YUpKGW1SAlaDwVeYkWX42PCciN8SE0DV70vS41ResLOt1Y82EIYzBjQ+0oQEQr7iWwLGwdbIEjLCnYgUUHWZwj1XTKevUnpUzO9Vjyt2k2IzZUbLbfN4A= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1763611213; c=relaxed/simple; bh=NKO/JGnbY4ofztgTQ+HFA9haLSb8t1ihDBiLo66b9XY=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=RgmHU4AWcEBhyBeOR8czr8StBX1jP7auz08koOcpsdP6T6b8fC2jmu35RX7sPxmi3JwgFmzthszyr+2cVOmAus1VguoL4QE+vRJJj8nFJkTFawjBUtHa3PVI/Y8AHZeLd9r10Bfz9jCe0JUeSuxruUGtlRahf3kbObcDEvTsSUc= 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=WrZ7ha+/; arc=fail smtp.client-ip=52.101.85.28 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="WrZ7ha+/" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=H1j+ivX2/SUkoOtkzyEhmQI+XtiSkuozZpncACn4VZ8oKO1VHj2Ocfavz9XrrxNma7F5jKatNs66LtQKixaCmfNfojhADArUzG54+c0a0PGm21DuK4abG8NkW7Vt+rqKMYcRFUt7t1qxYoprAiIUzlhHuO3n9UgbgiEVAVcWt7FjrStxH6z4BA7DRYqZYoRp6T+G/QEQ6D6Jxj3HJWhfpyeQ0atKC9IzSxA9taPldpW+6HSYZVp+1XRho+8TfEzWd/6w4FuTI2eCdl6BXPQ1F63SX6BRAy2L0i9U2rclzpw6cWZAH2kmSbgtE3Sx1z5IbFOuIIjr8nCeMYHKtKBsCg== 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=c8H4pbK3PzXou/lsjaM2o3PLu369tSmZsOqtm7g12uU=; b=jimCEoFlnEdL7cKosyQrVncpXhF33rmRVAvejFZB3kzaRBDDqyYRl57WvZ68kcVtCuihwvldsMoiG/Wu7U/shH9ZQZ8zNTBMTcXNbsBy1jW4QmHwXims+BuIeQAweC6tsVRTIFuDP63do18RNf0233ojWPVgkUvxSrlzcxkqdtJPZY+B1QZsOhHrFyFcMFvaya0yEcsb6D45MN0wFqydPf3af8ZaGLasZrjcAjefP+OSil+dFIpUSC1l/R3tVqSDZCVbCMGI0jLpZDPMKpkyEjwOPYCkOu7/E2oHBt0P5T6O3uB/nBf+3mh+KZRcWMIZkIfGvSlXl4a20Zo6sdszzw== 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=c8H4pbK3PzXou/lsjaM2o3PLu369tSmZsOqtm7g12uU=; b=WrZ7ha+/lie3y87EMG2F17OB77HSxmYIbbzOTj449Q9/gLXhVfahXIAdeOgArmBq3xYucYSqKo7XpwryHNbRouj1j7A8gBUsbZvbzQWZU2fAmdNU/tBVBtHMVnK1QD3NuREIqAB5nrdhQHncgxyFGIfYetv1F/Rdy/VfVpvjYriPiG7c+eefSlGzpxNY0eUE+pigDG8EuyTbX0men/T8y02TC0kRXHWq1XjQAEbvviDiDIZFcd0t43JXrMZ1bwdru5FDyaWu3iuUwNmfxl6IkpsxRF2lU86S4Fkvgu06ViLH0+cS3BO+WEvYPWQmBUJfIImn/hYRJa7BykDfpE9u9g== 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 PH7PR12MB7914.namprd12.prod.outlook.com (2603:10b6:510:27d::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9343.11; Thu, 20 Nov 2025 04:00:06 +0000 Received: from DS7PR12MB9473.namprd12.prod.outlook.com ([fe80::5189:ecec:d84a:133a]) by DS7PR12MB9473.namprd12.prod.outlook.com ([fe80::5189:ecec:d84a:133a%5]) with mapi id 15.20.9343.009; Thu, 20 Nov 2025 04:00:06 +0000 From: Zi Yan To: David Hildenbrand , Lorenzo Stoakes Cc: Andrew Morton , Zi Yan , Baolin Wang , "Liam R. Howlett" , Nico Pache , Ryan Roberts , Dev Jain , Barry Song , Lance Yang , Miaohe Lin , Naoya Horiguchi , linux-mm@kvack.org, linux-kernel@vger.kernel.org Subject: [RFC PATCH 3/3] mm/memory-failure: handle min_order_for_split() error code properly Date: Wed, 19 Nov 2025 22:59:53 -0500 Message-ID: <20251120035953.1115736-4-ziy@nvidia.com> X-Mailer: git-send-email 2.51.0 In-Reply-To: <20251120035953.1115736-1-ziy@nvidia.com> References: <20251120035953.1115736-1-ziy@nvidia.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: BL0PR02CA0078.namprd02.prod.outlook.com (2603:10b6:208:51::19) 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_|PH7PR12MB7914:EE_ X-MS-Office365-Filtering-Correlation-Id: 942c85f2-5f00-4ca8-b90d-08de27e94aa6 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|7416014|376014|1800799024|366016; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?6dpNuy8GRJS5+Ln5ctk3kJi7zJlZFB9oypoTeJmPN9/kICkLpiGxVzp6zgzi?= =?us-ascii?Q?xQDsiepqC6/m5HggSNexXDmuVDq5hPDeS/6EowObFQMmJ2qwM0qxOBB74Gih?= =?us-ascii?Q?a5lecdDM8B28Ru/tv7VMVSuErmBVzRSpnJ7AI+Qa6Xendct5wBQGE6l44nKq?= =?us-ascii?Q?ob63V37x+C5qyVB/FhE4O2JAnTRpf7ITLJ7I51OZ3VLFvMLd4K6lr3fWx6H7?= =?us-ascii?Q?3XHHdX9mZBhA2F5B+sAAqAVOcigZZqjuk0R58WEkcI/Rgv0TKhn1tcPNVX+Y?= =?us-ascii?Q?/Mx/RBwLGFq54pvgUwIWFukPWvyu8mTUKiVasOmMOlCRNWHBD88y6MlKN9YU?= =?us-ascii?Q?Qk56RaGdBTzP7IiaJ/Jg5ZDfGueClZBBU/ord/bhTkZPVP53co497WF+W3d9?= =?us-ascii?Q?/8fbMe2j1fr51DQmAjXLUr8+TMtxkkOqPyyjjdw5K/E68vAhJAxUVBVya0pJ?= =?us-ascii?Q?ksDmXjcNetYIknb/O3XQw5fTO3vJ5fdNxKHlQr6GkjEnJuku8Ng+YAfkYDXD?= =?us-ascii?Q?ssvMZ0D1zC+xp2khB6lFvonJBepjs5KVqSUw9xrBktV4g5D/bk1Tcq+9zi6n?= =?us-ascii?Q?pAqKTfbsDm5y9pPANt3jWdLxbMUx9PeON8Dic387fzuy8eO37A1ysj7xmlvy?= =?us-ascii?Q?xfpFWYPOGzXyDBQnZ3l7vRVQnu41tqs3V3Rw06LCsOGVj7TH8B4kN/9lhAML?= =?us-ascii?Q?cyi20C804MtzjJulZpdxSKpMHRMCApO2KhKLn062LoA1xlOU3OwPmab5DnDa?= =?us-ascii?Q?+OXPkZD99pEzGGVCc0lWaOglaPDYj96Eg8+JIRWPX8Cc64yukI9J2jPC7qcx?= =?us-ascii?Q?ANtjMIsYtpfb35PYRxxde+ddtBtKFpLeiik5LRoySZqPaQAYTQKYQ0w9BvDr?= =?us-ascii?Q?GILcIBmro1qMFTkxHFk8edoPwzM+hEefBQtUJqAvWvy9LRce/S3J78ElDdH6?= =?us-ascii?Q?OWwViam1m738rQXpb0CibgYp7geNCmlMxPfoljPoEjUB1Ytpmf/bv/jsBCN2?= =?us-ascii?Q?XdiVpQzDUj+c5SdsGYxnZC0XYTpyl6DFz8AiUPSfy7N45+e1wtZNMjYJr3Qr?= =?us-ascii?Q?CpcI/FaPrE0N/cWajGqOeUmMgnGz54NPeTthfqvJVoTmCrpaONWPBypRHkIQ?= =?us-ascii?Q?b60SP+TcYJc88Qylldhl+LL0tfTqIK6gXdzOuXCdZtlntrIeRVqbGI8yCC6Y?= =?us-ascii?Q?LEXKHIfI6ah3R6dqYUTBmOsbyJJB4St4+ybOjBAQ6cEXh739G6T5Ro2TKDk7?= =?us-ascii?Q?ZlHA5EWR6NRcnjKy8vmoGn74Xsqz2Djz86bGzyEox0IORsn1H1NkCpF12LeJ?= =?us-ascii?Q?LTXP0uJi5gC9jfbH8/wa3yMK5WxrZTJinlthYXa/9nZsRdOltKvTLvTF30Na?= =?us-ascii?Q?7WrfH+518lcZw23+HxAifVnvybTK+PVTeQIGFmiYIueOZ6Edk7Cf0WrxIq6T?= =?us-ascii?Q?z7MwLvi9ucEhX0vqVFhjgTv7bZN+AWnt?= 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)(7416014)(376014)(1800799024)(366016);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?8aLmUzcZ5teV5i7bOrFU/ZVp9wmELeG9aDUJyrBvAycKIjFCLjvLE3vmDjRG?= =?us-ascii?Q?Gdo+h/E7B3sVQ6J7Ij86JqisneIQSdYUQZb6c+bOytr3q1MIbK7hbya8nNDA?= =?us-ascii?Q?LApULkhPebDd0M2f6rhwJP3QG+z4R725bwz6YoEtSGLHjjHxUFfk3t3j22Jx?= =?us-ascii?Q?NqifoIzEwFDdp2VNZr7AGBFwsa3KzIGIuImkMsFRGLKRmbGwS0j42ffp2DNI?= =?us-ascii?Q?ySHIhPRuWO+ZeAfzhKjdxpooeEJ7CCReIXS0Lmhjv+bBDf2bq5muz45qTCYv?= =?us-ascii?Q?KnKdGxmvafYBwZRrw5b+K9RdgoBKafxAON9ETfa4No2I6Fq8kosPyIEN6tlu?= =?us-ascii?Q?UjxDId2lGDYzu8mhFXYfOvseXa/tv3YQDyhSSZT/dY4CDWRYWRBLS3jbJlsr?= =?us-ascii?Q?mnsOZ8P44VvtJjImFR6tk8uhghNS6eKEn3MRCjYOjqlHRp4i+6BNMDiPrE+P?= =?us-ascii?Q?17cbI3EfEvv3fxvIfrkwnI6E6VbRJcJZCj5CwWQYBCWNyBmlOGtdQ0jU6lnY?= =?us-ascii?Q?hRD4J6TyN6rdpNqfSkEeSo5+1lC63KX5abFL/UZHayeMG/5cDaLMYq5KMVE9?= =?us-ascii?Q?tM8MG3u0vh3s9EgwXVgEimDWq2WhKjwc5bcIDt6Nl5ICIaoV8V7JhYREH/yH?= =?us-ascii?Q?37d5gU8HepQZuk0A/eo9FOTAPOX1iiaL0w0BvX6D1t6wzhRjGH/ZZPB1+KZ6?= =?us-ascii?Q?2KRayeyPbNHyFCTqi2nw0Fk2+4/bIOuWGHjpQecDYOcUAeHeAf+BhK97gxo0?= =?us-ascii?Q?lXXsk2KL0KdQ74JFO6FBk1jj7U8sfo6+oy7MOsG0QVGg9k6ny7oHcpuGdy7X?= =?us-ascii?Q?/Cjx59LHVzmZFkM829+nOWeDHxh/pVCrSv2EvjMrcrdgZXQCioWkDMq/dYTC?= =?us-ascii?Q?1u8mPak3ATIYwJOasv9lBElxJgzi3gEE5F459U1f9xpKvUgjnlfHke5WHX9u?= =?us-ascii?Q?/1vzRdAd++JOEETdYC6QhF6NPSHZyNPxsUL6YktisFUeE/DbC/hg2suSedvX?= =?us-ascii?Q?Lw3w2VxJyne4iz0Y2PByzi9/gmS48kJHunMaOO5R0EMu85+bFFYostI52/TH?= =?us-ascii?Q?W+OPwPyxjPLikVR5SD2mvfw2ENgI/WDu23yD8Obovw1Tl+loqBGq4NwZhTZ0?= =?us-ascii?Q?MwLagfnwGr1krnRN4fymQuVn0uPxyJoPGXHZqEvKF7njF3kVpC+V7wGKdr7S?= =?us-ascii?Q?MSMNHP2vs5bAOMMoIK2PE/4sFAaF4od2yZHw/BtnH1aoFwiiK/w4KKwGe225?= =?us-ascii?Q?0NAYsemT5waAcavcXQIgHUGAl/5hBIydho0/TwGtS7hTdwD2TJPIurcNZVIJ?= =?us-ascii?Q?/irfX+EsSkb3TZ9xrutOBB7HJ2jZnO8RnBv88ReAg+b2bT/XbnEEHPbOLt9M?= =?us-ascii?Q?57R40saAps/BMsO8+dNjsznI3Y4KIlBn60ySpcNnwCdLn94SJqJs3Wqd4LFz?= =?us-ascii?Q?6oDutw/ZKFeredxqVV+54V9w96bWeQ7FgZcFfNSrKeIQZ4KUuZd/xTdENmwg?= =?us-ascii?Q?USAIy047RiQje08QIuL5rxUCxNDlWrdzc2q5gIbDQ8gi6tG/cUgGic5FVDw3?= =?us-ascii?Q?L/i3d5Jk28+2DFrvbtwlLPqG3xK341UFKlzt8P2T?= X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-Network-Message-Id: 942c85f2-5f00-4ca8-b90d-08de27e94aa6 X-MS-Exchange-CrossTenant-AuthSource: DS7PR12MB9473.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Nov 2025 04:00:06.7650 (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: 1Qy7jYcmGzSZnaM8pN9sHAEr+Blxdx7GFrKoCZLtqAjnu6Cugu+CeOc/tUUmkfAU X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR12MB7914 Content-Type: text/plain; charset="utf-8" min_order_for_split() returns -EBUSY when the folio is truncated and cannot be split. In commit 77008e1b2ef7 ("mm/huge_memory: do not change split_huge_page*() target order silently"), memory_failure() does not handle it and pass -EBUSY to try_to_split_thp_page() directly. try_to_split_thp_page() returns -EINVAL since -EBUSY becomes 0xfffffff0 as new_order is unsigned int in __folio_split() and this large new_order is rejected as an invalid input. The code does not cause a bug. soft_offline_in_use_page() also uses min_order_for_split() but it always passes 0 as new_order for split. Handle it properly by checking min_order_for_split() return value and not calling try_to_split_thp_page() if the value is negative. Add a comment in soft_offline_in_use_page() to clarify the possible negative new_order value. Signed-off-by: Zi Yan --- mm/memory-failure.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/mm/memory-failure.c b/mm/memory-failure.c index 7f908ad795ad..86582f030159 100644 --- a/mm/memory-failure.c +++ b/mm/memory-failure.c @@ -2437,8 +2437,11 @@ int memory_failure(unsigned long pfn, int flags) * or unhandlable page. The refcount is bumped iff the * page is a valid handlable page. */ - folio_set_has_hwpoisoned(folio); - err =3D try_to_split_thp_page(p, new_order, /* release=3D */ false); + if (new_order >=3D 0) { + folio_set_has_hwpoisoned(folio); + err =3D try_to_split_thp_page(p, new_order, /* release=3D */ false); + } else + err =3D new_order; /* * If splitting a folio to order-0 fails, kill the process. * Split the folio regardless to minimize unusable pages. @@ -2779,6 +2782,7 @@ static int soft_offline_in_use_page(struct page *page) /* * If new_order (target split order) is not 0, do not split the * folio at all to retain the still accessible large folio. + * new_order can be -EBUSY, meaning the folio cannot be split. * NOTE: if minimizing the number of soft offline pages is * preferred, split it to non-zero new_order like it is done in * memory_failure(). --=20 2.51.0