From nobody Tue Dec 2 02:17:27 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