From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id B5BB1C369D5 for ; Mon, 28 Apr 2025 19:02:44 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 7957C6B00C6; Mon, 28 Apr 2025 15:02:42 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 71EF16B00C8; Mon, 28 Apr 2025 15:02:42 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 5211A6B00C9; Mon, 28 Apr 2025 15:02:42 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0011.hostedemail.com [216.40.44.11]) by kanga.kvack.org (Postfix) with ESMTP id 2871C6B00C6 for ; Mon, 28 Apr 2025 15:02:42 -0400 (EDT) Received: from smtpin17.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay01.hostedemail.com (Postfix) with ESMTP id 5F99A1CC12A for ; Mon, 28 Apr 2025 19:02:43 +0000 (UTC) X-FDA: 83384374206.17.6B976BF Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) by imf02.hostedemail.com (Postfix) with ESMTP id 0D9BD80008 for ; Mon, 28 Apr 2025 19:02:39 +0000 (UTC) Authentication-Results: imf02.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2023-11-20 header.b=U9y1T4jc; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=LfqstN1+; dmarc=pass (policy=reject) header.from=oracle.com; spf=pass (imf02.hostedemail.com: domain of liam.howlett@oracle.com designates 205.220.165.32 as permitted sender) smtp.mailfrom=liam.howlett@oracle.com; arc=pass ("microsoft.com:s=arcselector10001:i=1") ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1745866960; a=rsa-sha256; cv=pass; b=Psr2kT+L46hM1xveHU1FUmIPVm9f3JUabgXhgTXUvO3VLrwl9Fyfzao7GMcusTDXs+E6UX ILky2gCvGIdwzETrJm4EE63iui+OwLfJaYDRGk5Ek57bCkkLSbFbZwfsOnilCZRHbw93Yp B3hBB7gSOga4sV8o/848MrB+KidLHcs= ARC-Authentication-Results: i=2; imf02.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2023-11-20 header.b=U9y1T4jc; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=LfqstN1+; dmarc=pass (policy=reject) header.from=oracle.com; spf=pass (imf02.hostedemail.com: domain of liam.howlett@oracle.com designates 205.220.165.32 as permitted sender) smtp.mailfrom=liam.howlett@oracle.com; arc=pass ("microsoft.com:s=arcselector10001:i=1") ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1745866960; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding:in-reply-to: references:dkim-signature; bh=8EPM/esjilZIIhWw7nO271PHQt2vB0dE/6IbYC3wpRg=; b=5Rx4qQhfJDzToBc9Bv8y1BxGnRRhLhMZsfqaf93VR6SeJbfJQjmyW/KqnJ8I6FPR8yO+tO 5WC+d8+uoUOpMvLC8Nk/LdzMo0H0Myj/E6HDgDYn5LfCrka4HqRGWRDspVKL9nus0ng4dy zNCxcToNwFi4GuyOjzOb3Ub8ljWX5cE= Received: from pps.filterd (m0246627.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 53SIq98a005827; Mon, 28 Apr 2025 19:02:19 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=cc :content-transfer-encoding:content-type:date:from:message-id :mime-version:subject:to; s=corp-2023-11-20; bh=8EPM/esjilZIIhWw 7nO271PHQt2vB0dE/6IbYC3wpRg=; b=U9y1T4jcX1FJVsCEbevaya7uiEJWs1vA A5IEPanfpqMbeMWXC2PLUVvHFpOFbrUO6dsAx4EblN18DgqWgUHDUk9y3nRlempY pSjlsZ0oh0D/xr3gypgWTqjM1MW6IX6bXIlscXhLxt3V93FQfAI2h6E2F+fs/dmu DSsOhp+CHx54GNyY2c0ASK1TWoMRcAiFQSjVONqG82H0+5jgsluqaZkpSaPbMV9X Z7WwK4xyyuqBk6AONIvRp0GrOcD1LBaZb/m2E+lxLt+4qMHV/afozxW07QXytdfn PSE2i6dS0rOr9lVWJZiQdyeKf1OHMorT/tF08/+hDYutFlKHyrp7qQ== Received: from iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta03.appoci.oracle.com [130.35.103.27]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 46afaxr1dc-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 28 Apr 2025 19:02:19 +0000 (GMT) Received: from pps.filterd (iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com [127.0.0.1]) by iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (8.18.1.2/8.18.1.2) with ESMTP id 53SHwHZQ023804; Mon, 28 Apr 2025 18:52:32 GMT Received: from bn8pr05cu002.outbound.protection.outlook.com (mail-eastus2azlp17011028.outbound.protection.outlook.com [40.93.12.28]) by iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 468nxf2y22-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 28 Apr 2025 18:52:32 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=UkvQdKzqbgHtWMKpoj6hxFWyvjqPZbPXYVhOqvHxw/WrD4jjvP87+fUH96U9P55UMakuUOKjKLqOpyJWtlipCT3rrZf3ojrcH6OhG43ylmzFsaHevV+Ls4FwA1f90+X4etabfWZ3O7CJGKYOwnOgjdNZLN1obXFJlhOqFvZdCz7MEmP4X5beK/1nMPiHT5JUALViO8u85GP0KY+Tj5seANWevSJimRUxDTSbNxmE0XdT7UZ+eM9TWu7iMdnZiPEY5MACyqkpOy2FQEei3CBLzNVhnt38/PQ/q/DGADcUeKVGBDpQ/Klt9Cg+biaaqWmpPkxOfb0zqgH3p3PBZ7UL3Q== 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=8EPM/esjilZIIhWw7nO271PHQt2vB0dE/6IbYC3wpRg=; b=uXQIPAHTgR20S1hQwJh3iWKEeNWoCpn39xK03jIkgLa+toEmzV2qFthw0bQbO7FGt3Qjv1RluBKoY9ksPA6rAorkRXM8S92C9qc/aoA5zQAbt02I5A+yNsDCemkWM3G2h5ff0E10Xd4FQB2sFL65687wBKDR5HVIi7MyoVxrSezexQ3aktC6kHB0E8xmsSXgFTTalfkGlbQ6dEC6gmgWIHBUgN1qRpiwZ3cH6qlu2VRIsnO/OE4nzdUN33w8xAHcg0c6r6PE79MfSkAUAgm57+1SCcWPIjMmlUVHeIqOLHSP5kdpoT1o7/KWvqrAU6c7woBqqjLCsKNIodj1c9eZWA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com; dkim=pass header.d=oracle.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=8EPM/esjilZIIhWw7nO271PHQt2vB0dE/6IbYC3wpRg=; b=LfqstN1+g+zf+grizfhV4KT8NAG0BnDkjjbqHwh9N/uHoSekDQ36IjSrKN+KTL6bs5ccEBR1xfnH1wT/Q844EDSZPsfR0Nn21EUjVgClJNlLNl49BnUBf3sQ209CpKZa9WxbqwcDdQaUIy4CKURN2+s70OJYIpMXwxc7WM/EnOk= Received: from PH0PR10MB5777.namprd10.prod.outlook.com (2603:10b6:510:128::16) by MN2PR10MB4287.namprd10.prod.outlook.com (2603:10b6:208:1da::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8678.33; Mon, 28 Apr 2025 18:52:29 +0000 Received: from PH0PR10MB5777.namprd10.prod.outlook.com ([fe80::75a8:21cc:f343:f68c]) by PH0PR10MB5777.namprd10.prod.outlook.com ([fe80::75a8:21cc:f343:f68c%4]) with mapi id 15.20.8678.025; Mon, 28 Apr 2025 18:52:29 +0000 From: "Liam R. Howlett" To: "Liam R . Howlett" Cc: sidhartha.kumar@oracle.com, maple-tree@lists.infradead.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org, Zhaoyang Huang , Hailong Liu , Lorenzo Stoakes , Suren Baghdasaryan , "zhangpeng . 00 @ bytedance . com" , Steve Kang , Matthew Wilcox Subject: [RFC PATCH v6.6] maple_tree: Fix mas_prealloc() reset Date: Mon, 28 Apr 2025 14:40:58 -0400 Message-ID: <20250428184058.1416274-1-Liam.Howlett@oracle.com> X-Mailer: git-send-email 2.43.0 Content-Transfer-Encoding: 8bit Content-Type: text/plain X-ClientProxiedBy: YQBPR01CA0161.CANPRD01.PROD.OUTLOOK.COM (2603:10b6:c01:7e::17) To PH0PR10MB5777.namprd10.prod.outlook.com (2603:10b6:510:128::16) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: PH0PR10MB5777:EE_|MN2PR10MB4287:EE_ X-MS-Office365-Filtering-Correlation-Id: 11ea3009-a919-4d77-d3ac-08dd8685d39b X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|1800799024|376014; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?EjBCYzFTtgd+xrWjJC8K2mhMiBpENGPxBhT77bh8n5hMRVmLhl7EQ4/nO/Qu?= =?us-ascii?Q?O+lUd8Zn0SD1J/ceJOXms+DFM+a2zg95diuT2t47aDKnjG0YzvZLiO7krDN/?= =?us-ascii?Q?7jnajuCILq3SaNXtFleJDm6M9eQbpU5Dm0eSNbWyfDoktejaD80tPn2DxEWa?= =?us-ascii?Q?w4lwiWHhHEiDWV4afjXYmtB8qwDYn5ABG3OATHSS5O+WzNL0UNMA3iuEbXRk?= =?us-ascii?Q?mGzDg5T8n+ipMrUk28HZtuMvCb1VO8+lfdg+Qr0hgvAy/C1eE4ImXXJUEmqt?= =?us-ascii?Q?GAdlWD6JsenulswXYEmiML0mA26f5WDHPdVd44N7W5otis3Fk22sLtrs9xPc?= =?us-ascii?Q?e+18kiY6BYgUm+yc5Bx6yT9WNLP9kgMGWyUS4gs9iOqLGZEwg3oa1bY6ltdG?= =?us-ascii?Q?P/tDGVsjM9/cFDBxCFw7n5KdJqgxWOBU7Ype6CaTbVg+V9NQSZR6I+tqupFT?= =?us-ascii?Q?RI4CNKLm/Iz8DL9JyWskPG743s1VXsbktqvDoNL+fyBG0g1fEW0VM7DXhfVp?= =?us-ascii?Q?GjeFRi6hE24C+x0z+RZ9T0+y+5CUwZXE/spBFSK8cwWjDeZ+fDJSD4u+kYey?= =?us-ascii?Q?ggwPkMMAQrHRgcCufQZpRHVYeWr9J26qwQDFODIsn2tygAd1JjFRv+UliyqV?= =?us-ascii?Q?I820qmWpXIJXvsp/VyhdVb1awNRgVdpXFHEc8NWOTBwqkKhbOZe94BFPgLkF?= =?us-ascii?Q?avhh+AOBIT7mDQP/hG3HnqkkUT3yvDtvpQ3ocaJYNh9MLXcThe3N4Qh73Oi+?= =?us-ascii?Q?84ZJbSdIk9GdLKRZeqENgEW5zeiC4Iv6VSPk9iaxMvf6uOh/NvT83OOPL7M/?= =?us-ascii?Q?IJ/b6gpxd3mmDe79cK5wqieKQ02LfPcrNM4n6H8lDmBFnQaE1XvNwYT9VX1A?= =?us-ascii?Q?Y2ue0tdvLa30tzUXiQWE7s6wUZwgK3XC8TPElPCDls3gtWJXvIPb/6lw4XTY?= =?us-ascii?Q?yeWE5cgDh24HQVWb9NOYLo38l0nUtRJXsZ44796wE3bNqPmrOEUxJaBcgvbp?= =?us-ascii?Q?2WolL/v9XsX8h4dZEpytktkNKBaxZsGMs8rXyEID8gHNO/v3e6L70QqsQrtC?= =?us-ascii?Q?o1sXyyAE5PNo5W1chj6HL/m3+w2adZrBoBTiMkXaPHt95SM+6Y0ZOZwDukjv?= =?us-ascii?Q?ySie9kHkKntGrTVbqHVfcu9/FlvQ9J+DDUX33O6DhcK2f+nXlRKK/NkrF5Au?= =?us-ascii?Q?IyN0q/AAgXp1xQH7h9tb70tAAS7inU/RJfrxn47sEEVWNUn9eEPafMGjgDW9?= =?us-ascii?Q?TLkzPiHa9XgkmZL9Qnev3CiLMqpdN3AoPzXZcPuq8pBlia0RrW3NhKCcA0Mb?= =?us-ascii?Q?cRY7AuYHDt0oSUtTwvzIWtGnvI1SVNHgAF1mQYsZ+MUtxFTwYbH/PmVcO4N4?= =?us-ascii?Q?IL6Mi8NzjkXkvlCG6Qe298kpW0xbdwFAQwNbdsY+ot5UsIzm7fmaMJHS2uMK?= =?us-ascii?Q?YftLjJPU6og=3D?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PH0PR10MB5777.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(1800799024)(376014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?CNKTz2NEXhpZQC7sNVmLrNfhSnQ4XAH7MWy4w6nND+hpICJiC+y0p1pXtyDm?= =?us-ascii?Q?8dlJMnpU7r8g/y872BRlFbbHjxBdES83+YN8rSu4Vk5yqoX1NmWfNwb8MA5B?= =?us-ascii?Q?BVK1F/uJ3Hx7vNix6XOOALy0ROrbF16QmcEA9Klc7sw3StbcXcZ2mjn6iB/p?= =?us-ascii?Q?jpsm3f8Y0nPxSCh7Au1cyfSDbtoFed1fdJBW+anFjmFzB91JgP2SbuQgS06v?= =?us-ascii?Q?xLrQKPYAV410IJ4iuOkWbzQhI/K4E0TU82L8p+/u1tU5OBlOLQY2wMlOx6Wq?= =?us-ascii?Q?W2ivhX7iPO5hV2BjzyG+1LDVJUpRybQVaVQre4+IlLTMDyve+ynDjRNA0OIy?= =?us-ascii?Q?vYaP6qf4yEVI8ITtSgtHfSp2FTuSXoOvFFnLVQ/kJQw5zUXCgyTQ0Zl0YBsO?= =?us-ascii?Q?1/1RiyyOZqwnNQdOtLSHcBQOPy9ns62t3PXCmKTKJg8G99D3NWWF+BrDSDMF?= =?us-ascii?Q?RpcoGhmlD2BqyAAPaJIL6T0HPz69NTUcID1MLG6b6H5FveSNe3VVRvN6OUN7?= =?us-ascii?Q?cFjttpOduEWIt9wtT1qiM5Ie6EZNclikHZ3ViDDTLzZSV49uRV2uqe0y27SI?= =?us-ascii?Q?1hK7x39II45PuHFQewrJUPxG1OY9W9AQlUp/DGgsFDUmgaiDB6D8tvfTFOzQ?= =?us-ascii?Q?959X0XIJopzKszvbce6/HIF51gO2Ep4nn8i7TB1I9aNyiyM7W22sBJu0H/4i?= =?us-ascii?Q?rlsG4VGGVKqmeGGuGLzihnkyWiNLSkQ7qcOED9ztAphTUyGVGIuH1fcRN0Kn?= =?us-ascii?Q?JvjDvRsAp2b0F2rQ9H3UCCkHL7f01Ww5Eb5/dHVycP5+f6cMNsKMVQm+5f6n?= =?us-ascii?Q?8P8sq9zlw6wATCqNhevfdZ7a6xINKrFXO7DUuGbrbL/2fJ5XfE8juk8w3jXB?= =?us-ascii?Q?xjzU1DQdp6Su26jouQfHDHxO/dJvthoVRGiCbz8zswM7xBcHzhROhm5kaN17?= =?us-ascii?Q?AVGp0IjRNijNSHQMvh6Qq6qdsdpIy76n2OpFondA58cCZZUuz/bRDC13lMoK?= =?us-ascii?Q?NpfRCKeljV2EJ1oMrauGTEu+sNb88D4MwJdx2miuqjkGL9Rx8PtlexrmdZSm?= =?us-ascii?Q?T/1auMBdrIZQpY45ffRpfmgMz9GfptV4rG/9n3UwEBIzeDAdIz/N6v6zU5j7?= =?us-ascii?Q?yCS18lbPL36h+t8uT1YEKP9co8tM/z9CnpHbXc8p5lJAZnx31htz+QjyUGbT?= =?us-ascii?Q?Q1Wa5FHYZ0v1WWp8vr2oahmXOLLWab23yS3eWniztPpw3+tdISxrzcC3VxqP?= =?us-ascii?Q?xevMoUMbRxPhwY16UEM2FnPP+Xvinpa65Js+0MIP2dbxBTBQWz5v18VY+/KE?= =?us-ascii?Q?TgV/J4ifYXu+VJiwqRPyvHpKNsZuvcox9pnuVG2mAtV7z7t0lhoeyPyUhp9w?= =?us-ascii?Q?QsCE+YKJuCtCGRLpPj7cfrRUKqMuUAMx6agRwHJTphGebjYt3ZBllN/nuLnU?= =?us-ascii?Q?H679GhARN4u0TDUQeJz4OHaTDVAiBfQ/YL045V1JMLgNrvSiG8NCo2Wz0/JC?= =?us-ascii?Q?5A2a7WhwxP6v9yhYs/xIKyyHa7PFo4NcwT/k3yiGR/i4bXRCM4rJkoa0bgnC?= =?us-ascii?Q?2jQrLktZYoj1vOn1jQexBb8RdRgrCDNTfW/76v24?= X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: 7yMbZLCG+s8ZSTbyNtsM46E/42rICIVj8du7Scqrww0tgCkZHLnRfZH7l0lw9v/SwKdwO3KnUCA/Bkk4Sm3Zl6hKMe7XYXdKvwgB8m0XFtQzbmZ2HJhF8rHXf8yImD2ohOngIVBy8/JSyUHXJE6m2p2iU/Yl0S91PLAxvit11krLklDfAWvTCGxXux8adktxS58tsYy55l2jT/UGHU5Rjbr5enQ4+N9GhjjOzIc5/1nM3j9TUBDc3QivivBeK79bC3OpjrIiKEZtQ0O4d1WyZ2DQ4NoqqjX8xJGq2aOM4LKcJq3SRPuGmaB5vq8KPX+5X9vxpoKQOuxmOw7bBaWeLBLIP1I0OeKn9x1jVHecyEnhgUArGjXDAHOeFEqI5A3BsnH+lcnaEAfKFyphb1rsXHP1rzCTuJhALwSLekoQ6Wcu/zpzqhMkff+XOI8sVFJTUuIx14TQxb0BRHNuR+IQnvVDnVdHSl3jf8H9Dip0MrHjf4p9YJt5gkn9ZCR9NCarhIYIQdqIOqiI+IoekIQOoluL2qX29tNEUjkXpz7s3+TZbahp9KnrBSvQuncKQMPh9237gzIEFmbINYR/V+4VJl+Ea28HXQzukGv8WT6lieQ= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 11ea3009-a919-4d77-d3ac-08dd8685d39b X-MS-Exchange-CrossTenant-AuthSource: PH0PR10MB5777.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Apr 2025 18:52:29.6945 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: B0R/v/xI2/c4fTsVhL9s4cHlBVNGeilrm5tBbFjMA60PCvp0HFfRZIkhILJz/zlDjZxvWQBW0NAOOErfh4/riw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR10MB4287 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1099,Hydra:6.0.736,FMLib:17.12.80.40 definitions=2025-04-28_07,2025-04-24_02,2025-02-21_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 mlxlogscore=999 phishscore=0 suspectscore=0 spamscore=0 adultscore=0 mlxscore=0 malwarescore=0 bulkscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2504070000 definitions=main-2504280151 X-Proofpoint-ORIG-GUID: YCQngePGUjqktc40zkBaFsbmeWdgmUxK X-Proofpoint-GUID: YCQngePGUjqktc40zkBaFsbmeWdgmUxK X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwNDI4MDE1MyBTYWx0ZWRfX96fKVqLMudfk IDQ8LX6YxUOoPI/1xqwi7mnCXUzBIV9OmS3tEZsyCdIBpqKOeMo75ig/YTy7O2ekwRBgfk51LF2 BHW3U3/NNkgJcTB+HFdcsvRamT55CbtW55Ky0hoX8hxRQDmdKTDPjMS9QhNOhhBGaU31SBIXsxL PLL1D9z6x+8fdKHTfeRAYAy43bVLBWQWQb6t9JzjQJs/OsmjN2bjICTLwoc3g0GvBjZAeaMGDNZ Gd2HF81oxYjzsSjGhsELab2UrpNJcfvoua5Y1vSb42soU0ocCzP2l+2SwAEJlYaiOljzBZcVAB+ qxx0f8bTfOMd/aCqo/TLh3r/nrM/Yiyl7Deo894IkjTXEPikjT9hMYYj4aCCtantE6oFOtsU1LM I6TxmpbC X-Rspamd-Queue-Id: 0D9BD80008 X-Stat-Signature: hzkb5n6k4t1pq6prw6m3jorjafqm6hzi X-Rspam-User: X-Rspamd-Server: rspam08 X-HE-Tag: 1745866959-830933 X-HE-Meta: U2FsdGVkX1+Htn0EYY/a9x9rbkDofB8c/mnM36XVa5OCgt06J5xiwQ1ITwSwMhsUBKOLRjDWG80LCliSMq6hldMMwYcJp+yKNVuXAezENWeNo026nuzTnqk59qnPEtfISWJjlCEOwL1MoNHW4BWaE3AhjOoZp/17bt/9UhOhEzlzKx8RFKpYcn05KsVBDtdpZ/ceVEwb5Bbb5ldFGMVzN5I7ZiIy6I3si2JqGFAoreee6cdkN8W//BIQplJ6ik3suxxc3YZsOCu0NxZRzEFjE7fjqYuaUMmYbuAOIB9rMIlV5Z8Y9231PAQVcM1t5vq9no++MR4RtncaMHU71S1m2+l20RvkFoeCUx1PYQL/04IWliybWnlM/1krlz62V353+FKKN0pT8iVO0kFYn+F6B7Yqe6YwHn3XrwOdmnsCCu8POpk81U+btA4q0Pq4RSt4DNYe7Zvj+vQtMQSj6bmHdNp3xBpzc8yk1+QR66/+Ag27yR91+A1c2hthobwsU2h0ZxUGmVtpF0wocsCVJC0Xb7d/Lxoq9YegmG6SZxbmy5qILx8XQqfu7kO0F8Yn/3Xhea+qAFy/vs7+adKGbx32i3zVrj9uIZerGbW8/FaIzkdAkB8MBl2cUWdCNQ4CaaQWRyy2K01mlp1KB04FPMKAfuOKSfTA+Rp1uHKN8SRFIxo1l2qpNCmODKP8IGvxZRbzJxkJF2ke2emNTh5db+jJgDB9h/RuEtnZATb+hHuV2xO1fdTp9vY8tg7Uyev/jj5rtsvxkxteDaV82er83Zo8Xe4If5dPGp0urhrto3PFdjNVpQxxHbeDHup9TTaZBY/G2+7CE1G/akG5cyseBVTN3eumL94SVsijJAotqWnFTzJ6BelXeiyzxYF+37vZrcmce2ZjK0huphfK3i31n7L436E8NlmIxQ+ZvUBxu6TntqByt/h6jxVaC2WSdH1JJy5wW9LoWUl1gdZ16GlTNM8 kExa2Aaf S669cvnopYaDW8n0yphuZRncujCgvfzJ/k3kCi/j0Ha0Daty5VHIZpkCaRk0A+/YoXPoN2+qT3yzQIsaEujVNunA08t2ZxrY/rTP7Rn7pbmNcCaFSdwPO8DjRSSNot+9t4lUIAtqoSyo4fL9JZrdF4psBvTjKYS5XP9HgCGeemkZMC48a/NKi6N9xVbtTNSQfx6kZA7WbMNCGZ5CDXCcmX3kt2OV8AJDke8pwArIgnZWpwe0BSd0s91QN6pCLYaHVO+pfYU0QB+2ca4LabeQwQ/1iEKGyo3cPP/PcwvFlru9536uOF6BQRthmg23HgFB5ifvvAO0fiVUqqJM4H2niUgzuEihMfzTD8pc2ZSTY5dAzQBNFn4b61+6FGKlOH7vsy4UUPBU8ljb76pX1qBP058XsOZvnfnF8j/4SViYXZVDAHp/rTSBdOnLFh49dIEGsUR9pSJqeGqEKPL/PCLnu+w7x0Nkeg10W8aPDGPhvAGEAmNostzWQhqXK8sY81kpFlaDh/OaM1x1rnI2b0kb+zM2qD4ddgacWAM2SmdrN6OOMp4acFYpd/SbISMTBtOtLgiNWaz/Iz5YfLLJyVqReq77xRG3mij/tjbV2W7EKkRqVyw2YdIUhELhB+Lw7cj6JLsgQgcnGMMFpJ+aKmY2mBXJWOoopO+3CsLuD31znjEuodvrVQqbUUvnVuZHOEWsUJo40mFhyD/Te0D/aEfd2pVu1kigqIIH53NLeMf0P4NO6WrGA5Z7E81ZRTiPMUt6f4tabTXFwD+mY5rk1Fm7MMW8hLbJhv/Ogql4B/Z2uT9GOz9qoDDhUNhw/rl8PPK0NWDKA1HL8x+7lQLnWFuYB7+GPt7Xank17MAhzWZedZxGLxm493beFQMpnEA== X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: A previously used maple state may not be in the correct state for the preallocation to correctly calculate the number of nodes necessary for the configured store operation. The user visible effect of which is warning that there are no nodes allocated followed by a crash when there is a null pointer dereference shortly after. The NULL pointer dereference has been reported to happen when a vma iterator is used to preallocate after walking to a leaf node but then requesting to preallocate for a store across node boundaries (in v6.6. of the kernel). The altered range means that there may not been enough nodes as the maple state has been incorrectly configured. A critical step is that the vma iterator then detects the misconfigured maple state and resets, thus ensuring the tree is not corrupted - but ultimately causes a failure when there are no nodes left. Detect a misconfigured maple state in the mas_preallocate() code by examining the current location and planned write to ensure a reset is done if required. The performance impacts are minimal and within the noise in initial testing. Reported-by: Zhaoyang Huang Reported-by: Hailong Liu Fixes: fec29364348fe ("maple_tree: reduce resets during store setup") Link: https://lore.kernel.org/all/1652f7eb-a51b-4fee-8058-c73af63bacd1@oppo.com/ Cc: Lorenzo Stoakes Cc: Suren Baghdasaryan Cc: Hailong Liu Cc: zhangpeng.00@bytedance.com Cc: Steve Kang Cc: Matthew Wilcox Signed-off-by: Liam R. Howlett --- lib/maple_tree.c | 35 +++++++++++++++++++++++++++++++---- 1 file changed, 31 insertions(+), 4 deletions(-) diff --git a/lib/maple_tree.c b/lib/maple_tree.c index 4eda949063602..17af9073494f5 100644 --- a/lib/maple_tree.c +++ b/lib/maple_tree.c @@ -5350,6 +5350,8 @@ static inline void mte_destroy_walk(struct maple_enode *enode, static void mas_wr_store_setup(struct ma_wr_state *wr_mas) { + unsigned char node_size; + if (!mas_is_active(wr_mas->mas)) { if (mas_is_start(wr_mas->mas)) return; @@ -5372,17 +5374,42 @@ static void mas_wr_store_setup(struct ma_wr_state *wr_mas) * writes within this node. This is to stop partial walks in * mas_prealloc() from being reset. */ + + /* Leaf root node is safe */ + if (mte_is_root(wr_mas->mas->node)) + return; + + /* Cannot span beyond this node */ if (wr_mas->mas->last > wr_mas->mas->max) goto reset; - if (wr_mas->entry) + /* Cannot span before this node */ + if (wr_mas->mas->index < wr_mas->mas->min) + goto reset; + + wr_mas->type = mte_node_type(wr_mas->mas->node); + /* unfinished walk is okay */ + if (!ma_is_leaf(wr_mas->type)) return; - if (mte_is_leaf(wr_mas->mas->node) && - wr_mas->mas->last == wr_mas->mas->max) + /* Leaf node that ends in 0 means a spanning store */ + if (!wr_mas->entry && + (wr_mas->mas->last == wr_mas->mas->max)) goto reset; - return; + mas_wr_node_walk(wr_mas); + if (wr_mas->r_min == wr_mas->mas->index && + wr_mas->r_max == wr_mas->mas->last) + return; /* exact fit, no allocations */ + + wr_mas->slots = ma_slots(wr_mas->node, wr_mas->type); + mas_wr_end_piv(wr_mas); + node_size = mas_wr_new_end(wr_mas); + if (node_size >= mt_slots[wr_mas->type]) + goto reset; /* Not going to fit */ + + if (node_size - 1 > mt_min_slots[wr_mas->type]) + return; /* sufficient and will fit */ reset: mas_reset(wr_mas->mas); -- 2.47.2