From patchwork Fri Mar 3 02:15:39 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Liam R. Howlett" X-Patchwork-Id: 13158237 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 9E4CDC7EE30 for ; Fri, 3 Mar 2023 02:16:01 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 024096B0072; Thu, 2 Mar 2023 21:16:01 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id F16A06B0073; Thu, 2 Mar 2023 21:16:00 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id D8FB66B0074; Thu, 2 Mar 2023 21:16:00 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0016.hostedemail.com [216.40.44.16]) by kanga.kvack.org (Postfix) with ESMTP id C6DEB6B0072 for ; Thu, 2 Mar 2023 21:16:00 -0500 (EST) Received: from smtpin27.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay01.hostedemail.com (Postfix) with ESMTP id 96ABA1C5D9C for ; Fri, 3 Mar 2023 02:16:00 +0000 (UTC) X-FDA: 80525971680.27.620CDB7 Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) by imf03.hostedemail.com (Postfix) with ESMTP id 4B5B82000F for ; Fri, 3 Mar 2023 02:15:57 +0000 (UTC) Authentication-Results: imf03.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2022-7-12 header.b=DFOU2jeg; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=TOAOvXdO; dmarc=pass (policy=none) header.from=oracle.com; spf=pass (imf03.hostedemail.com: domain of liam.howlett@oracle.com designates 205.220.177.32 as permitted sender) smtp.mailfrom=liam.howlett@oracle.com; arc=pass ("microsoft.com:s=arcselector9901:i=1") ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1677809757; 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=YDE3WALRRHe8I0WUUJeyHEEvp2QgpUrS/DR/4OQ3WzI=; b=y6kRMRFvpH87L7zn5zn2AzrIzgdhrnOn+11e3q42jxgMt08n5EGKlFkUkPbGVAJl7saS17 AnQUL9rfFyK0lRVXABD2c8ToGms+TRf2s/DWrNgsvRWUNsh5l7otGwSKX7k80NLr6SsDFX D+nc4DYiBHNotb1+7V2tQQBigrH2Rz4= ARC-Authentication-Results: i=2; imf03.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2022-7-12 header.b=DFOU2jeg; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=TOAOvXdO; dmarc=pass (policy=none) header.from=oracle.com; spf=pass (imf03.hostedemail.com: domain of liam.howlett@oracle.com designates 205.220.177.32 as permitted sender) smtp.mailfrom=liam.howlett@oracle.com; arc=pass ("microsoft.com:s=arcselector9901:i=1") ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1677809757; a=rsa-sha256; cv=pass; b=TxCnVvPyD8Yv2njEdv/LrBln3ZEkTbzpshcngZKSt/nob6gDXYXZ++O8/10hvrsUxnm0l4 LLeeKCkfw2InV2/dfaeoCB151vO2cDiGS/0v1hPEHBDf6YVtmQmnph0LQ4Njhpm/pCewS1 TB3DG1/e4qk9zM24aW6uqwle9k2oHQo= Received: from pps.filterd (m0246632.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 322K41nw012588; Fri, 3 Mar 2023 02:15:56 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : cc : subject : date : message-id : content-transfer-encoding : content-type : mime-version; s=corp-2022-7-12; bh=YDE3WALRRHe8I0WUUJeyHEEvp2QgpUrS/DR/4OQ3WzI=; b=DFOU2jegSUlMeVhSLwuED1uR8eJxsSVtSZXzgGEgfNl6O3LmZ2unazghMo6PPTJp4WFc 51S4aWpgVFjDjgJ63ZwWQVRAcX1R9EHFLxoCcBdxuoK2oXGIXCEVPprbPHzgQn9M8Xdp 7UStEoHZbY0xg/EC1N6fCOOjjxCHYnidy8u+1hmrq+5JItycuqSB4NIac20eK/GKH2VO JEEK6w/FZAyF2DaNmESCcojTMP71uCiDIpu+IbeXuV7hpL0cOXcTvOjTLYQNIa1Ev598 7+9sUKuAgl17WaVOPiAqnMjN61UEr3eoWoTnsQruMk87uFzw8yfV9U4Kz4bJkb+WDMT1 UQ== Received: from phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta01.appoci.oracle.com [138.1.114.2]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3nyb6enb6c-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 03 Mar 2023 02:15:56 +0000 Received: from pps.filterd (phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (8.17.1.5/8.17.1.5) with ESMTP id 32314HIU000577; Fri, 3 Mar 2023 02:15:55 GMT Received: from nam04-bn8-obe.outbound.protection.outlook.com (mail-bn8nam04lp2046.outbound.protection.outlook.com [104.47.74.46]) by phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 3ny8savy1k-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 03 Mar 2023 02:15:55 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=ihbMNdmSqom8kjFty0YpPPrjBCRoJg9tEIDcS8yyRpwDKZnuoYU//CmojyvKYy2rNVQQfotftHyg+4ZT2tI05+VqkZc7dAzWYll2eJ1jUfUQ0i41sFfPlNRMRNYH3Za803Za7WuzAKttt9ZCDE+AV9CH5nsy6jRGKJGBlc8dyX7Iz4AFPs8DItrYkK34/kNQL+0xeE/LL4BwR5FMYibv7hhsIS1orDgrITMa4ilZ+L+y4o+ryWE4hFAnyXurfP/m+I/RNA0frOKoMO1DJRfHV9KhMJ5trLlVQCLg0+eS0yBpo8NgEeoy0Meoy4ukEoKjbh6xwlvFG/aytBczJwGrpg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; 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=YDE3WALRRHe8I0WUUJeyHEEvp2QgpUrS/DR/4OQ3WzI=; b=m0lM57X14xLFO+pEd+wOPQizPnx9mJrtQWdqfuc2KMtq3+15NF9Ue18YAQuMtSEAmfWGq8NcfJGT97GKb5Qd9raLqOJlBOfzvJWcTLn7BaqFXFXr4lb7l/Ko4PlmbsNnrDB3gkPhf8bigbRHX1U5ud//ScXUKd2Cp8FoltRS7RCfTCVwIYAh9BRw/M18YbVVCWoq7DqFy6qJG1Jw+fkKoVgT/wlOEmyNqoHzww2xlRebk4P+nSeQHFyNN+zF86bDhYg0ZC/KlS76Wlut3MCWtHgNq/3r2goBB8Oaz5OvfJtYTT14hJG7YB8RvlY85avFB5nq+MnLgWPKjiJ3mZU5Jw== 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=YDE3WALRRHe8I0WUUJeyHEEvp2QgpUrS/DR/4OQ3WzI=; b=TOAOvXdOMn8tYGKnQl30zhPz1ETPZXzDr86EcJP9gFM4Uy4RENm7zRrvpoy3tifDfrrxSH5OfmHk+u8q/S49Zu3p38xWNm7dJlV0yqTalqf5UAwqGvyVbOUkBV6wDa06B5N+F7EVYJZVJlaQv5gK2LkjhnZaeCqXLcdIWWIqh8c= Received: from SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) by CO1PR10MB4770.namprd10.prod.outlook.com (2603:10b6:303:96::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6156.17; Fri, 3 Mar 2023 02:15:46 +0000 Received: from SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::93c9:c99e:5ab:4319]) by SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::93c9:c99e:5ab:4319%7]) with mapi id 15.20.6156.017; Fri, 3 Mar 2023 02:15:46 +0000 From: "Liam R. Howlett" To: maple-tree@lists.infradead.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org, Andrew Morton , Snild Dolkow Cc: "Liam R. Howlett" , Stable@vger.kernel.org Subject: [PATCH 1/2] maple_tree: Fix mas_skip_node() end slot detection Date: Thu, 2 Mar 2023 21:15:39 -0500 Message-Id: <20230303021540.1056603-1-Liam.Howlett@oracle.com> X-Mailer: git-send-email 2.39.2 X-ClientProxiedBy: YT4PR01CA0227.CANPRD01.PROD.OUTLOOK.COM (2603:10b6:b01:eb::20) To SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SN6PR10MB3022:EE_|CO1PR10MB4770:EE_ X-MS-Office365-Filtering-Correlation-Id: 07a3cc3d-750e-49d4-780e-08db1b8d32f4 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: bsRZADGHFYD/WrdqFZ1sJP9LT/tBerlIzBiiux7pPy5GEAoeC7N/vJvZMEBCRdpQgwwLw/bLY+jT772ZgTOI9PJfrLGxD6raV+AqO5UmSa3LmjiLPqezWg5pnSRfjuTvAHAZLDkgAss8/JDE/k1D0q/7UdaVZFFL+Shb+jje0kKhbKRReH2Mp5omMtn1F7beijA+JahcAnH5ycJ8imNsQtBG+XiAnpV/gmmudNwBtoJxLU/aQUvlv+R6H9xFveDgzWu0Of6k0pZcpe7N3Zu/UMsMyVgEBK3iDLfxikFFQhnpzAJAECfgDBN2b+sAM3Q09MpzK2suepDmSEq0uDYrjp3H+lM3+Dbw8ge3bsZTzRWpI35s8AjIC7wr5OmUWBQX285ziTi8QjRXsb4xT25tG5dJ5OV5JxgNPDAKu/5r2irBosb1Jq2poWOjWZeH7kVtFP80ifN6HpXxG1hFcJEAyiUkREQccbjXaUPmf57Q0QM2QC3qh4h8+F+rqKMxkBqUAbO4rOSYvL1g2kG+yVmv6hR6pHIFhM+LzxjB3Ci7nVdWrDGpsbfo+y7Mwr5yrYM2rACgVDK15ZfFMtLU7k+X3PnZDXi3gHmOz00SFJ3Z+e8ulpXQVXWJkbVyVdEX4ZTs X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SN6PR10MB3022.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(346002)(136003)(39860400002)(366004)(396003)(376002)(451199018)(36756003)(6666004)(6506007)(966005)(6512007)(2616005)(1076003)(6486002)(26005)(41300700001)(316002)(110136005)(4326008)(66556008)(186003)(8676002)(2906002)(66476007)(478600001)(8936002)(5660300002)(86362001)(38100700002)(66946007)(83380400001);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: AiMgp3gnnpnU2B1Zf5LkboraDp5H3+3jqUAz4zTfj5QHjbgcc9ShPPl/zv1z+3udtSJrV9A4tMb1xPMOcC3/ylJvXZRZzcmYvs1d301ruzHrVom4f7/BNk8R602RNkNYDDQGBddmG8e1Z2IFWxKu8Dglh6Ngpg5nagbKLQLWb7LxTwNEaO71313oNimOsU3Yor5PGIsskNPEVHDRYAc71i5WDVoiO3rb2l9fMfGSse9NjNX5eWXmrLczmUt53UJ83tTz6xM9Jm0UbsgIvOXEYJhkrzYt0F3YNxj1Ti+N3o3jmLDbuG2vv7kk4vl0cqU2QioOVXiHMyLA1qNWd/ZCtAqNw2tcDcHHA4lDkE5gfrjerYpirKQeu8GPx5oYODPT6rqoRuK3Ubx/NS4/sxwYlXdof86SP55ESiEdL1VvupnPDYYjMies17BifRU2htrioBglZlUzMQmKUY2RqGfMCO5ExI6L6zDA+EDc//oQbxZQJ8fRBDBJfzb2bS2Sqp+1y/j4v6JDYKEsapu0uT5Ibycohp3ztN+ZNjm6EilmEDCNb4y8NdBPIMqqiZztM9IO2X2jv0nbYBiOBZHcBsW3Hzll51VmeONAj+xTDVakKY18t5vKBkG2lrFQFsJaExKE3qt1Eo6PSh8Ojgw4r2UJJb9zfzPT1NTEullW1DuJvK+leAw/I9uxejIuCn8fnK8QZpxQRZURUAjHvydewcdW1BZ5qt24BKlMzypsjemUWnahImcO0lT+4jo9WMriRt5XvQSTUDS+aE1hit+p20m8zCzyf/vtRydqmp7O75/GrFau6/rvyxdG7SUCUUVhxvY0M6K9+964D45IBDSncX3W9ftX6K0Fp45zjiF5ytmgFmRxSwq/qEVL+E7y5+CfV9suzBASXHBCBTVYAa7mXWCXyVOnCHT/jkd/bgJgJ0zqcWpBQoiygLAiTA3m12wzCHm0v4yrK6wt7e82le2ZJ5ee5O44x7hNjL9sFRLLWSPG5natlAIRtYpQSn0KWFdBKNT7J4e7hkxTChLnBbvW4ibkWab9qF4Q/9gaWdnOg0Ua6dpnGa+xivDCFw6/UHjM5QAzIMpS2XOuZ69j1//UrrRzi4YZ6W5aVzGVJAe09RZ6wsMz/R8ILvSIWpLV5qHvfvnl9NyOCHkJEOpnIy4uaaqmTmEXR182Dce+fa+T32+l+UVf2CRee/1AqcY/ZrnBJ/P5aJvbdERZeeR5siS8IeFnuDRjnq6Kq/vrcKiD5SrNUomn6/JEq9AHs7BL0LZ5z5BTqPkvk00jP7TlG4TdEfBrE1Ua8hvETMmGIwUmQhotHMBe4bDPexZekC/tZ/PZp+oIWthLk+SfaekLAGOT5ZOJuLq0nkd/1rddtJu3uiYKYCBkSYWGvhg9tjSwTETH/njFhGPImHa/EXnT47bIC38BMfMexcWtJ4K86A4DoL+FGJuiAjO6gnTyRir9i+71ltsJS9dgBmcynK2i0gPKQCFOP/N3xZZC14CSNs4JD3eaeKQLnuKEXKCMmwN1emo9R/0rZE0YmmFoIA0fjvlBeO/IpEcBlWqiVZ54d/rIge/7g5PMNMn2B7L1EpqJ8N9/knGhHxEJyFrQCaO1TWZ4mWsTXg== X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: Cp6heSx+Z7BikkrEq5GSG2HIL5UgfbyABT4EOEr7Afxtdgfp3En8mCa4zIuyAct513VREdFVxyTd5Eo3WMVYA6gqH3lAgeTY4g8HJkWdxXYvfetHQI890XdPJ2JjtvXglnvh2w5cVVkNCGq93rLVeF3m/t02Kr00kWI4zX5tvnbq/6anah6znmbVvSzV4Kk5fHrEYY4H1mGloErT0baNduwpe4g/3wVfkF2vNiAkLfLom/4T3ZHwJ3QLHh0X5zv0hZjPL2k8UGQrVRX4J1Nff0gUP+f/qFOzZR0GVmGPF9gXU3dvt8TABlryTw1FHEmbYTqLKMGUIzO+TBH1cyyDXq2YtE5isGAsJnAb3tHNtEpCgjexF2BV54gu8cNJwWRYpa9Psb+FCgUINnAmYsAnnoKwyeyljq/Jd9e2iK2IQR7+7MvmYhgGDLWtYMqq1CmVAi7N2eJghdnkgOUIm6H9OhRY21Jlio0zTWNHUZPraZqbhmN3Oyu3n0tYuP0Vjz+v57XM5RNW5k93/mU+aMqxZ2njVQnWYOdHs4sGCEYg5fwr85reRZsvoZPE/r1FcjpFb6i0Y7nTwA0ryVttLgKs6095HEyH/NipaPwzWIATJOCe0OdUHk7tZ1EZ8Xo2jjjHhCXa7fx8juza0+HWFMXO5TrxtxGyIltSGF/QYh5uLCBYLuPcidn949s26C0bZmWIeAYxfkCeTw6gt6YroFHNbLmaxEm1RuHHm0ApOEYZmjqoLHpZfoBYcP54gpTIzWt6qSYTggmv1fMGjKuoUm1YGgRoy+7lxIDSH3vptJvzr/bwv4wAlVTo0m1OhHARnsDJJrNMuymiFjO1h59KkDxpRiCgfjV3D9CvXijdc09+HYD/ruK2yyaRgt1cKGqdVSsdxT3ckoe60MfR/Kr27yP39Or0P+apibLiAymcI1k/9YE= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 07a3cc3d-750e-49d4-780e-08db1b8d32f4 X-MS-Exchange-CrossTenant-AuthSource: SN6PR10MB3022.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Mar 2023 02:15:46.3215 (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: yl3Ahr3ctmNi/3y9IVPQ6VNdWk0BSZprHfItBb2C9A0xyKjQSBd4qC1xf88Wl73bPIDdibbKITSI49Yrq8Atsg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CO1PR10MB4770 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.219,Aquarius:18.0.942,Hydra:6.0.573,FMLib:17.11.170.22 definitions=2023-03-03_01,2023-03-02_02,2023-02-09_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 malwarescore=0 mlxlogscore=999 phishscore=0 bulkscore=0 spamscore=0 suspectscore=0 adultscore=0 mlxscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2212070000 definitions=main-2303030017 X-Proofpoint-ORIG-GUID: nnRtIVLR-Oof6Q6iO2MNSfy3hW1WTQhO X-Proofpoint-GUID: nnRtIVLR-Oof6Q6iO2MNSfy3hW1WTQhO X-Rspam-User: X-Rspamd-Server: rspam02 X-Rspamd-Queue-Id: 4B5B82000F X-Stat-Signature: ehitssg7dych76idkaos3pug786jncag X-HE-Tag: 1677809757-267959 X-HE-Meta: U2FsdGVkX1+gACtXwOW7n+WQ0FthsHmifIk3W/nQs7oOKpLXhn7WJGA1640XUNzVd3SQevHEGFPzrBfHbUvIcC/bjY620JvOuAJDuetTW/bW2xr3GWisvx3PQDxSqhM5nAazjOyrn9lRlq6AaZbweGkMlQBOa/EEY735QZbEmqRIlKc/TL9EBQ1gQmVCu6ooGBTYL5RmvdbHOtjGmv/Pb7kDD36r5kuiixM7FALiTMAwfVoxreF++87Wxkw+4uBG2iH1NAuaQ+XTamuVYDhHW8+hlbYwAma4Q9rqlQzmJzJF5wA4Ni4PLymnAmie7IavmZKGx16ASFBpRizfFhA0tJj0yYai7SRs+e1xrdFTS5g2O7/uYR9ICdRn7WBIUExXhxdU6aN8RtL/yxSfBlxjeTmMK23bsD2MunA8Pi7NQSVAXlPH26Uw84t6opzDCwQF29/WAcqfgmGx3zB4+R+CG4rHUgbgB6Lw8OcMdHVZSNM0LwQZqQ0+6GmJhvaQlb42sYIIV9CBovsxJieqL3EqBDZ4epeQ+CWE0sS8KbmHolGpNxeVg0NDxiqiLCxOPJqfJBusWljs2PlM7zOqmZI/jYq+I8VqYmR2AcPSXPb4DH+yKsBuwY1s7t282TjbiyN++9NBtEbY3UArQSp/F74wd9Muz/Ig2w+z4yAjWYBUqgtFda1F2JXuusHfQ6XdEg5pEdSFMJc66VDuM81UfowIkUaolneI6NxhLAl87PRy5z3vNQLFdeOxO5wgo7paxLS7ZZbtvh1a5kmTaCtnCPEfIMCPPlST0KjTyRuL8RNBNjHima48v4P6o/6W78qjn0EJKxqxgL5WbQIMUa2CB2haBagGuFdajGgIMgmeYpgLll4Pzcxph41N5oT3D0pwJmp01RQ3pEDUJcSTLcQh3TbuiqOTS+VpwZBREKGD3k4SvThmEtUC1e4eS0Q1O44/Q14jsHXjNI0TCWNn3zvspYW TUKRTFea qNmVg1SHf1XzNb/5QmNA4Fp9XR0W31wBIIogHHHbTWKKSnqNOg2/EbCW0/HryMnR7TKQ5DbVx5wTzPssz8wp8uB595W2v/vfOwa+EqP7TvW/vOsImoGmwMfm+fFFg9O59C+9DCiTOuJahTkbH0fyr7qVBR03sxD729xLqG+gaOZ8f7CA3uO2o+yG1dhB0vxsLOE4Gv4xnEJoB/26FPwvSA0sV6uOcsrEdnQD9A+goTvs6kQL4kom6sdTlt9J43byb4rAZeDDkoGCK2/X/Vgr+5jFd4qeeMD4kmRVsVc/SwVbPQiocj8i+3OLrKQ+c4CAKjdT79bS/eN2qrhL7UrLhruBf9ZEbFsWz1U9EkWjS6mi2mIsprqnkwWRuwLpzi/KH0DSRvqf5BXrxieR6FB23zs5VrYmGtjTTrJ20MQHuCl47vYEivDx3TO0L0DmWEkI903fTYHXAoW3KelYfIQ8RL2JOT88rcn2K26Oc6QQmI6w4HDPDvd5eXDgvyzZyK3RAg8dN8EDsPGpZfsPUfT7krrGzwViYbon80MnXKU9I2ZSMbVycoRiZZlnkrg== 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: mas_skip_node() is used to move the maple state to the node with a higher limit. It does this by walking up the tree and increasing the slot count. Since slot count may not be able to be increased, it may need to walk up multiple times to find room to walk right to a higher limit node. The limit of slots that was being used was the node limit and not the last location of data in the node. This would cause the maple state to be shifted outside actual data and enter an error state, thus returning -EBUSY. The result of the incorrect error state means that mas_awalk() would return an error instead of finding the allocation space. The fix is to use mas_data_end() in mas_skip_node() to detect the nodes data end point and continue walking the tree up until it is safe to move to a node with a higher limit. mas_skip_node() may also be passed a maple state in an error state from mas_anode_descend() when no allocations are available. Return on such an error state immediately. Reported-by: Snild Dolkow Link: https://lore.kernel.org/linux-mm/cb8dc31a-fef2-1d09-f133-e9f7b9f9e77a@sony.com/ Cc: Fixes: 54a611b60590 ("Maple Tree: add new data structure") Signed-off-by: Liam R. Howlett Reviewed-by: Peng Zhang --- lib/maple_tree.c | 25 ++++++++++--------------- 1 file changed, 10 insertions(+), 15 deletions(-) diff --git a/lib/maple_tree.c b/lib/maple_tree.c index 2be86368237d..2efe854946d6 100644 --- a/lib/maple_tree.c +++ b/lib/maple_tree.c @@ -5188,34 +5188,29 @@ static inline bool mas_rewind_node(struct ma_state *mas) */ static inline bool mas_skip_node(struct ma_state *mas) { - unsigned char slot, slot_count; unsigned long *pivots; enum maple_type mt; - mt = mte_node_type(mas->node); - slot_count = mt_slots[mt] - 1; + if (mas_is_err(mas)) + return false; + do { if (mte_is_root(mas->node)) { - slot = mas->offset; - if (slot > slot_count) { + if (mas->offset >= mas_data_end(mas)) { mas_set_err(mas, -EBUSY); return false; } } else { mas_ascend(mas); - slot = mas->offset; - mt = mte_node_type(mas->node); - slot_count = mt_slots[mt] - 1; } - } while (slot > slot_count); + } while (mas->offset >= mas_data_end(mas)); - mas->offset = ++slot; + mt = mte_node_type(mas->node); pivots = ma_pivots(mas_mn(mas), mt); - if (slot > 0) - mas->min = pivots[slot - 1] + 1; - - if (slot <= slot_count) - mas->max = pivots[slot]; + mas->min = pivots[mas->offset] + 1; + mas->offset++; + if (mas->offset < mt_slots[mt]) + mas->max = pivots[mas->offset]; return true; } From patchwork Fri Mar 3 02:15:40 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Liam R. Howlett" X-Patchwork-Id: 13158236 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 71062C7EE36 for ; Fri, 3 Mar 2023 02:16:02 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 729BB6B0073; Thu, 2 Mar 2023 21:16:01 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 6D9766B0074; Thu, 2 Mar 2023 21:16:01 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 551E26B0075; Thu, 2 Mar 2023 21:16:01 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0017.hostedemail.com [216.40.44.17]) by kanga.kvack.org (Postfix) with ESMTP id 475986B0073 for ; Thu, 2 Mar 2023 21:16:01 -0500 (EST) Received: from smtpin24.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay04.hostedemail.com (Postfix) with ESMTP id 0D6D11A111A for ; Fri, 3 Mar 2023 02:16:01 +0000 (UTC) X-FDA: 80525971722.24.7829363 Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) by imf26.hostedemail.com (Postfix) with ESMTP id BFF8914000A for ; Fri, 3 Mar 2023 02:15:57 +0000 (UTC) Authentication-Results: imf26.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2022-7-12 header.b=SIUCEW7F; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=k1rDw8o0; arc=pass ("microsoft.com:s=arcselector9901:i=1"); spf=pass (imf26.hostedemail.com: domain of liam.howlett@oracle.com designates 205.220.177.32 as permitted sender) smtp.mailfrom=liam.howlett@oracle.com; dmarc=pass (policy=none) header.from=oracle.com ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1677809757; 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:in-reply-to:references:references:dkim-signature; bh=XArLj6mJ+UexcDFGeiv8cmhfIMOMz6KSpXBtiTRam9U=; b=0tQRwzTj6fdo5PPrhTD5P/yZ3T1zNDZp3vHEzBqvzZxmadae09vmu1hz2rv2jL3KdHJkkN AsZB51qjQLyUyKdW2x3byWBnuNwvOm02TwredP54j80IkEtGgu2cER+rF+737TwXqekjbv 5hMKnld0mHYGlqv9o/23FvT9etPyJFs= ARC-Authentication-Results: i=2; imf26.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2022-7-12 header.b=SIUCEW7F; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=k1rDw8o0; arc=pass ("microsoft.com:s=arcselector9901:i=1"); spf=pass (imf26.hostedemail.com: domain of liam.howlett@oracle.com designates 205.220.177.32 as permitted sender) smtp.mailfrom=liam.howlett@oracle.com; dmarc=pass (policy=none) header.from=oracle.com ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1677809757; a=rsa-sha256; cv=pass; b=ykgjh4pg9SPmGPY92KTbH/5bRhEsDS5lyk3YH5Y0mz1Yu/aHcZWtC9XwJQ8B5cBvfMe/Az d0/WnhniS9M9Sc+PbkmpNqHCafxSssQEVr0jLf1xiwLqgpyKyg5D+YPud8t7YzbUt136+w +9bI/yTVlJbEaRJF6zj24Xc0o8MpvXE= Received: from pps.filterd (m0246630.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 322K4DAc000635; Fri, 3 Mar 2023 02:15:57 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : cc : subject : date : message-id : in-reply-to : references : content-transfer-encoding : content-type : mime-version; s=corp-2022-7-12; bh=XArLj6mJ+UexcDFGeiv8cmhfIMOMz6KSpXBtiTRam9U=; b=SIUCEW7FX785WZXiM4l3M9IPxZ9S2E0FnVdvvYP94OboDjlbbQZWdMTY/v6HcBmQWl0c Xly93WfZIO92YZKKVMh+jNYWtKDizVdxwA/xMwn/mjKT4DoCTXd9lIrzXshpDZ9OtXzD OKKtiYheT/7j8P+2VQOlim6XOr3eUQDNUyjlDtxRbWmLBIbSsLhoEghgPgAJFsKzvVJp vsU3wvFSvkmtf+7tejsi31W0qN918NFC89lekbhSU189ojksgFJZve1cePnvZPAR4hL0 VVUI7CA5PokTK+0ZN1qDuL3T1zVILhT0m0N2QQvsNMkmZTqwSzWnNh1UrNhlC9xp7Drr kw== Received: from phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta01.appoci.oracle.com [138.1.114.2]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3nyb72n63t-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 03 Mar 2023 02:15:56 +0000 Received: from pps.filterd (phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (8.17.1.5/8.17.1.5) with ESMTP id 32314HIV000577; Fri, 3 Mar 2023 02:15:55 GMT Received: from nam04-bn8-obe.outbound.protection.outlook.com (mail-bn8nam04lp2046.outbound.protection.outlook.com [104.47.74.46]) by phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 3ny8savy1k-2 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 03 Mar 2023 02:15:55 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=G6+NSc0j7S7IXRdt/2gxHIl/dGj5EBbfQWVcu3THTxl1P67yUrQwQam0ArfFL/y9ldlePiAf07QssPiF5vHKJTpkWB0NBa+7Lx+1lKdHMrzCLm+npVreDBzsReV4Egj5NnNP2djAn+Un5dK0nXJ+n/GDd9KeU5GAybDVtseCrI/ejTbPvXX9pq5pcZkodfOJze/5WBmpNV0jgroe5J3cH39V0cIfS9Nbbw9pHbpK2eiJGwEGHYw1ahrFH71e54A/LmcZL9kQnIA2cKJ5zQzGHwsMnRtmM3cgOVv5olUAiVIh5pXmF0YGfO23tSmJyiEMIqX86F/gbZqUpjVy8Rk14A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; 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=XArLj6mJ+UexcDFGeiv8cmhfIMOMz6KSpXBtiTRam9U=; b=BYTMWL5N2ffQKcQgIuWc/Xih3UnkIfCL6ONk6y4aCnhPOnufmpfhToSviIXXC++hgIxgVAHrLsd2aG8QTE5Tz6NvTbOD6H36ckv7f1zg2fgSvrseFIJdCHCksTXDm4krEH5bOX/cWWZLkdHz9D6SWAbRLMLQfLsmc+HCEiaxdZvRBdFRqKrC+W0xfWSDHC2zbvFBQh5KKU/GrvjvFt1g8YplUfoZjUmn49eWQPyjESgzboFIogdhqs+x08s1AxR165p9AnARDjFYbcZqbtVg4x40St9KLqb7LlbeGiLW3PmOxBNWHT6JWH4DgBUflIUnUpWjdO6aC5Z9Cmdflp4X7w== 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=XArLj6mJ+UexcDFGeiv8cmhfIMOMz6KSpXBtiTRam9U=; b=k1rDw8o0aWg1LEkwppbU5OdbK0zx4vFsnxbdJvTuth2+2D72N5jKPdQ7m2YBN+J2SBalzDfWgCFeHUQ2au+UUgk1cDK2BST0bBL4NFJWQffU4TzHKVK0W3+d2TMVgg+62LmDZ17Fnpc7pgYr78RM+QnLkZvSQNhM4W+OcsmOfeA= Received: from SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) by CO1PR10MB4770.namprd10.prod.outlook.com (2603:10b6:303:96::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6156.17; Fri, 3 Mar 2023 02:15:54 +0000 Received: from SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::93c9:c99e:5ab:4319]) by SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::93c9:c99e:5ab:4319%7]) with mapi id 15.20.6156.017; Fri, 3 Mar 2023 02:15:54 +0000 From: "Liam R. Howlett" To: maple-tree@lists.infradead.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org, Andrew Morton , Snild Dolkow Cc: "Liam R. Howlett" , Stable@vger.kernel.org Subject: [PATCH 2/2] test_maple_tree: Add more testing for mas_empty_area() Date: Thu, 2 Mar 2023 21:15:40 -0500 Message-Id: <20230303021540.1056603-2-Liam.Howlett@oracle.com> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230303021540.1056603-1-Liam.Howlett@oracle.com> References: <20230303021540.1056603-1-Liam.Howlett@oracle.com> X-ClientProxiedBy: YT3PR01CA0102.CANPRD01.PROD.OUTLOOK.COM (2603:10b6:b01:85::21) To SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SN6PR10MB3022:EE_|CO1PR10MB4770:EE_ X-MS-Office365-Filtering-Correlation-Id: 4e789990-27db-47c8-773b-08db1b8d37da X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: CM+/8Bqgkm8DAUmfpLTbKO5IgIPuQdMBPY9XbUa5K6Hzh9lJcibOqFdnHdMnXI34pzmYyU1ZUDtvZIfFytw4juY5kdDnWGAxLV115IZPVokN7OKS94QndCbHNtzslyFZd5iAJO2bs9UxUzsiPjjGqFcsOR25AQlCnBLE1X3vd9FwgvaR7t2hFtKnrZ8+vMmUOuunPdFym+3VQhNpxB9GAMYVJP1/jWHAKAnD9vFT7C36o9reOA+A2UPARzq7B9Nzk+rBf5FxWSEA/Q22AnrFaVuOgMrLT78zz3+UT44EXY+Ryz6Zhx9NmBTvXma4I6dFi1DWvYf6UugnLyHBBxedNTdwihjSUQJ+VSDmH+Gq1VwkSPsxZ5g4sKtmvNV4yITsvUjpyZLH8WAVXINvfnO8kO8ljqLshlHZ1PcyllewODvHvkYYdfBVHFBrcYin2SHhPS5zx2rz20nywzJCTxhkcrppiY16Urbe7TbDtHLhx/khrLTJGiP/SsVWQsIftZN5Lc8x1nMRlWx9i57iW1YuzDSBnw+XsbGhDpu9SjYnzF5uCz0a6G7ZS9lAfp0tOr3jilPox+FKBR2l9o/+8M8zs2DLsYxIVnzm8WZqMe/VgZGlCunUKu9glRpZHiel/VFn X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SN6PR10MB3022.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(346002)(136003)(39860400002)(366004)(396003)(376002)(451199018)(36756003)(6666004)(6506007)(966005)(6512007)(2616005)(1076003)(6486002)(26005)(41300700001)(316002)(110136005)(4326008)(66556008)(186003)(8676002)(2906002)(66476007)(478600001)(8936002)(5660300002)(86362001)(38100700002)(66946007)(83380400001);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: R3AK+ul/yQd6bTK3a2fsgyyIoT24L80OY1cwHt0TliMxp5QarFe4e6X0tLOoXZCx01/DFem2dhne5eRPeHhsFp/CcOVfzr5SwlRnsjUYrZ5UZE4vQ24OP9rIYRLPQbqyhr1FfrOj1xKV0iYI8yYdqMBgHEX559qXPStNsrfyLhZbMYDP9+BuRdhFQPdYnyxAfxhe7kTEAq1nWC5+2Gw2aBUUwrf26Siv9JTiC4wk+YyDQ3c4/fa5Z3C+Svgj6j9Zk6c5ZHSn+xTDdUeu+kY5qudIGsKs6r+36auGSD4cT8+hAJ3R1LPR5lDmO/Ut0fJzfS01uba4HtIyn3XvuyIVFw6/dOHdEB21/aaBYvcuEnQDxMNgZO6vcfs4DqYniDm0tVCAY4tncQL48vCZCG02dDlWnuW6TMW/xB1Nw3ogaWVKeQYsCPq6aH6eyUgTygm09QiZjqbz6kKABqzl8xx27MvqJnGqtbqaBelaLmQp3vzg9zKkOB6m7P85u8zoIoJkD/2extjtwYaFix5lwAeYiPzf1/dcK+AuHhDHBVBCR1sjMX/5XyT50+AQujI3ge+fgwPto/cU4pVXPrQCRwYZVwBUt8xAfu94wzBVQ7w05PrpUxQIERZy2cpYXjUkvAY+mF8xyf3NCxwvQwYNL4KK8IJTIuF0ZvcnrlzG5PKm0eoB4VEiBNlWl3HtBq8idiq5zPLOSsNev0OEuXsb/rL3/rEIB4LucXF3OjY3E0s1zub9YPbfUWEjA2WsaINNNgtHfgglDex0JQjBZGdM5jKfjmlwXdjR6w3uGFxiWaI32BgJgEiH1WskFzFhl74OzZWakI4Kf1K01CxixBX2lYVnlW3hl8pMoWJten1qGGLesR9rx4oDdnxQCePotQA3+U9hihxl/VlyzbdxvdsMnvorWyWJJnfw1z39LZj6TlumEC8/7ZE2i/9jDaB0Y1mIkltNfVGVn1msMSp2lqbJavgDEOSrI3GYKV+DS9cpCgZ+ay3mjPcldKp0gHmyT5/0jbYXP67oV82LIXwRxEwFNXmUvGaPVe/ct+dojHkkuT+TeJRfZDb/khRHx3iFN61S+orcZ02FkrtNlxWPzYjL2iWE62qmkeKC70o0L6rnKioPN0mKJciFGIgq30xAZUDUF+WbYlP7lJrAOYBG/R7Wt2mETEgkhNQaAwWW0CR93ErMQfhI2L3avY6IWQh4R0GjGbdNlZ+Fixo1KXNrJlCCL1xNYxR4tOmSL/MaJdc8g7WbD8WHq7qbXSpGN9OuY2S66ahhFfMmxJGQQibta0fHAVV0IzvR9/nUD5jUWTYUBJG7Yq7iAlO8aoH8uPUagRAb2cFNqtzHLRZoWajmjwyeuse9aLzWOUkg6LYUCy4oGO+AwkVEDEY6Y6HHhYauqKI2I5XUcG84g1m/M7yri4tbk3qF5QA1jOy2dlAvND2qE3xYxAFM7YbojgBPLur5AaXhRR2S3qGsHhjvpxVqsZTDQHaRhdQ9eFoqmorydBO5R7Wzsm+hEec76BBkm3+8HekC/8+nS+CYJfp1rL65FLK0jKnBf2P6bRdYqvsKkQF8LPuZrgiLMoXnFLSb9raJt9JjM1l2w8/VxFcnz19xrZU6fD19Dw== X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: f6+hOowneqfxFk0yt7Ax0Gk4QlrwoWsMl81eV7q2wcI/jcmk8DeJKVSergKdgCAJZhJkTuD89dy8NIS95mQ8pnTJ/lYzS4V77oJxtKrwGqygFJg4RRGHGUNkybNer2sJilIkdmQR9z/uTa6Xh0Ee4s4T1yRBbRPApXvheJ3p4E8STi26S0gAIX0Bpy1eZtwpLhOMQQcufhB8l4Xq8INOyE+p+Kc4gUeY7P5v1+y3vjN+Yb9hlKrugf6f0yP5fF4h8CSntoRHpFx730xXrp8rbtsYyksovj7CXMW+f1D6q7L8QDeZ0GD9n4c+Blp4bEEjMTFcDTmPijRBUykSIr6Ge2hPRBU0CcrEcYx9a9JZEFm+EzNiXVT0E03RBC/dzDbTknpKDUOvpnoFP34PB+pheDDOMrApmkTTds04KtLiGfNd3QnJ6o/rP0trb3rVC6MaTzSwsuOm3ERYp5mkTjI9L5ygmE1Ih+LFFVuvUs361NeFxVtS9VQLtNVqFpX9EMv9Lihv+YXqNZAa99JtsbJfRB+CtYOAAJNkG3KCFncu7CWA9Aro4qT9NHHT42clhalwOv4OYam5ZzgV9lsOLrAJg57SOeDSrJIURr+HIsu06RDD/h4jORmUAaBmVhLW0x2DyGP3uSZmoB13Tfv6bF4aJ/5qgn/7BwwPV1EsAaS92CkjxuwmNe2jm07FZtXKAzWoieHDsW5mXM1Mg4WpXkYjIeekqCjHTwHauLG5ZEa9i14oPT8ztoFZXsOVHhHh0T+PVHJTqtNrTJBxyFN5Q+f9EdZNHVQWkl8Y8ybw+0Cunj2QBIJDXy6SJCTEl4xS/Fgt5QGkDETgYfk4XogVQwJq8u0zCILMp3l7/CNKxSS+ccSikhyrf6ph8y1sBvR4bmcFGoVdMEjgbT4wtVdYb1ZYUKbTSYbewqj4RXjk58PSXw8= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 4e789990-27db-47c8-773b-08db1b8d37da X-MS-Exchange-CrossTenant-AuthSource: SN6PR10MB3022.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Mar 2023 02:15:54.5397 (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: KTu/KX5njyyewCbTtfR0rbH6bqGxU3L8M8zCtIDMMprDe7600KzOdbCU6PeFnogOUatTWNvMDXEMsUygzOWVWA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CO1PR10MB4770 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.219,Aquarius:18.0.942,Hydra:6.0.573,FMLib:17.11.170.22 definitions=2023-03-03_01,2023-03-02_02,2023-02-09_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 malwarescore=0 mlxlogscore=999 phishscore=0 bulkscore=0 spamscore=0 suspectscore=0 adultscore=0 mlxscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2212070000 definitions=main-2303030017 X-Proofpoint-ORIG-GUID: M2nNT_23kXJX-GSQGIiLO5WxsCjGHYDh X-Proofpoint-GUID: M2nNT_23kXJX-GSQGIiLO5WxsCjGHYDh X-Rspam-User: X-Rspamd-Server: rspam03 X-Stat-Signature: zn6b99yorm8j3emauhhcgfm9qcs1k15z X-Rspamd-Queue-Id: BFF8914000A X-HE-Tag: 1677809757-519941 X-HE-Meta: U2FsdGVkX1+/M3Gm8kpo4rHEi4/HfxWuGelJ8s6lX0QDDThAuBMD+g4t4etWgBHQ6lUFhFNUBaMrPTKC+R9gYZSrfkBhG5cwnade9kaNEYZlZS76OX4QBrun0a6lzGPlQm62m+v36JfYzzBdwHO05kadS1v3yWOkwA9GfpVXaz+W96UTLHTiVxWzmR8NM8PiWmwzA104Vrt8O36yJ+IHZHX8xO3+GJ9s7zrtP9IIB+vGmgz8v07HmkAnplzQ++zKkOKTaxHcvE1Lww210qFNhVcFY81CsNF3eEZLeo4bvLAFzLybZUm5QbU9awzkd6Kqot6AfEa01k/VYpqBmxQpwVvbAUxC2RbwL14gRdV98o8Gv8TW86poaIb3SAjUxpHNd7Fl3FV61iYT+eGa4zjQJG/NUeFw3ti/OA+hjkTU/8xQEX1HOJWi6VB3WU5YuoFPJP53ylS1wW2X4T6pV5IzZ4jCDQvUIfc3YU71ZqSX++7+OZIT66itCI7AZaevCIKB7rH2csKh8Y/tu53abIU2vy0H4ACzyzABNxEjUOL7Y9MzwBHQLgmwnL83inFpPK1Qf41vbIqsuifBhAVR4HDrw3gH6aQWfzuBOMOt6f4xQAN1zFJvU29DB4Nd1wkIwaR4jYICK7eDoyIabooiCkc11NKc3L7XZ8ja8e6ULGX21ucTiffgk0E64iriiiy84O+LpOxQLQ+MXhKqyblcppeMwXTTK0ICRz1Mbntr77G4PfWdN8CoOW4EFUR1sxmP8F0Jocmm+uGM6RgKcJ9aKXtiFHT8m5OHEWkGt5fCvF0JaF4Xxnu7Kx5EHZxYEOWJar3SEmDabnWM+V600gzxCzDPvbW2ik5DeSORXj0+lT/45pWHrV+hYdf48VdmZYOQgEYloKa3LooF2t89uCCxOZeSnmC13rcHtUsCMUD+/eCfubn5oKL4iaeqoIXE5u+5r5pgc4dOrDe4S9lBsj1Pvka dKWdcFGh dMpi2/XHLVqMcZQiX/4MyLBHUtBC7F7ui5Ulnw35ghPJFh4p+Hf2/w7nT4IdmnHwF7HuZGsl6/pkW/nwRni9L1W/CrfcbfB5DZHXJEeaOq2efOnW2PAxZKdUM2F2ouN8Bn47xgQ4RtQI8FLe6Rk9csTIsbk2A2FiRysc3J4VaID5r/yRo6qhpRJlhBddFvcDQ4Yk3abI1CfkuMX6tq0Yl/94uQ+QvYmWkn0s4gKao6mLGTFhFkM0yF/4I8JsP0VMx3SY6NMuTDrYeL8ed9akhdaNdZs5Y2Xm0u0zoagWlZDFsOcNFPTCES7UKZgg+9sSRDowqYLWYXyP8tcPKpcSEgiFlcCwv/Dnfe9CE7mQh7yf4OOmMf+eHuKnyhSeZdlT9Qr5G7gb9gjcg7cBArTCtvZTpiVAK4R+KXUdkyIWzyXnOuw0Ack1nunUyme7mIDQilsauVCcHwAKf6lV5Frg1WOlM+1ZXJKcWq1myFKUMbZLWlptGHrmRjGf49DcuQtSOSOyuyCriUbPECXu8wu9Cug4QjxKOKC7uqKST8N4vWnSU84o9WhXi00DaGA== 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: Test robust filling of an entire area of the tree, then test one beyond. This is to test the walking back up the tree at the end of nodes and error condition. Test inspired by the reproducer code provided by Snild Dolkow. Cc: Snild Dolkow Link: https://lore.kernel.org/linux-mm/cb8dc31a-fef2-1d09-f133-e9f7b9f9e77a@sony.com/ Cc: Fixes: e15e06a83923 ("lib/test_maple_tree: add testing for maple tree") Signed-off-by: Liam R. Howlett --- lib/test_maple_tree.c | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) diff --git a/lib/test_maple_tree.c b/lib/test_maple_tree.c index 3d19b1f78d71..fa86874763f0 100644 --- a/lib/test_maple_tree.c +++ b/lib/test_maple_tree.c @@ -2670,6 +2670,36 @@ static noinline void check_empty_area_window(struct maple_tree *mt) rcu_read_unlock(); } +static noinline void check_empty_area_fill(struct maple_tree *mt) +{ + int loop, shift; + unsigned long max = 0x25D78000; + unsigned long size; + MA_STATE(mas, mt, 0, 0); + + mt_set_non_kernel(99999); + for (shift = 12; shift <= 16; shift++) { + loop = 5000; + size = 1 << shift; + while (loop--) { + mas_lock(&mas); + MT_BUG_ON(mt, mas_empty_area(&mas, 0, max, size) != 0); + MT_BUG_ON(mt, mas.last != mas.index + size - 1); + mas_store_gfp(&mas, &check_empty_area_fill, GFP_KERNEL); + mas_unlock(&mas); + mas_reset(&mas); + } + } + + /* No space left. */ + size = 0x1000; + rcu_read_lock(); + MT_BUG_ON(mt, mas_empty_area(&mas, 0, max, size) != -EBUSY); + rcu_read_unlock(); + + mt_set_non_kernel(0); +} + static DEFINE_MTREE(tree); static int maple_tree_seed(void) { @@ -2926,6 +2956,11 @@ static int maple_tree_seed(void) check_empty_area_window(&tree); mtree_destroy(&tree); + mt_init_flags(&tree, MT_FLAGS_ALLOC_RANGE); + check_empty_area_fill(&tree); + mtree_destroy(&tree); + + #if defined(BENCH) skip: #endif