From patchwork Fri Dec 16 18:53:15 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Liam R. Howlett" X-Patchwork-Id: 13075298 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 0FB52C4332F for ; Fri, 16 Dec 2022 18:53:30 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 6DC758E0002; Fri, 16 Dec 2022 13:53:30 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 664598E0001; Fri, 16 Dec 2022 13:53:30 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 4B7068E0002; Fri, 16 Dec 2022 13:53:30 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0015.hostedemail.com [216.40.44.15]) by kanga.kvack.org (Postfix) with ESMTP id 36E358E0001 for ; Fri, 16 Dec 2022 13:53:30 -0500 (EST) Received: from smtpin10.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay03.hostedemail.com (Postfix) with ESMTP id DBB4AA11DE for ; Fri, 16 Dec 2022 18:53:29 +0000 (UTC) X-FDA: 80249067738.10.C71D126 Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) by imf27.hostedemail.com (Postfix) with ESMTP id 58D0440005 for ; Fri, 16 Dec 2022 18:53:25 +0000 (UTC) Authentication-Results: imf27.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2022-7-12 header.b=rZFPXGtZ; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=QaxTXz0r; arc=pass ("microsoft.com:s=arcselector9901:i=1"); spf=pass (imf27.hostedemail.com: domain of liam.howlett@oracle.com designates 205.220.165.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=1671216805; a=rsa-sha256; cv=pass; b=B8QGxufd5VDaIzu+52VT/Vgv7XgLEvmYBPWqCMyrMxu1DTUq39UWeCQUQMfvYdXiYqQ9vx atAZCiAGKPT8mUPFZPIYYGzwy4ekbKOFVHrir2qF8vH+rMqKHBQXiqyYdSCrkwEkttDci7 wD0DXnyjWU/PFc01eotArELDdSSLu4o= ARC-Authentication-Results: i=2; imf27.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2022-7-12 header.b=rZFPXGtZ; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=QaxTXz0r; arc=pass ("microsoft.com:s=arcselector9901:i=1"); spf=pass (imf27.hostedemail.com: domain of liam.howlett@oracle.com designates 205.220.165.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=1671216805; 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=jpFkq0FfekSAcg0g37LbW4e0z91e2ZjG9MaZvLqMgHY=; b=QKc9bs/DlKu1yAv82qPfECqC+VuKmCPSPjKaQK5AsTpa60kvO5ARq8nDrgUxqWKXZorZrf AwQrTiNcF7Q1bIhI+9pErbwGEXEWV4LgtEmYsEM6SI9mCddJ3n9itewYRTuWrNlSoQwy1Y IbOURGksYDe4xAV/wZrJ8r3WyJS+g1g= Received: from pps.filterd (m0333521.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 2BGGhk8R012485; Fri, 16 Dec 2022 18:53:19 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : cc : subject : date : message-id : content-type : content-transfer-encoding : mime-version; s=corp-2022-7-12; bh=jpFkq0FfekSAcg0g37LbW4e0z91e2ZjG9MaZvLqMgHY=; b=rZFPXGtZ0xHBLo6mQrvpvwAZ4BupLAGgVYpjLNm79BmYpkU7l0EstZ3UWfs0uK7OvGid oxUfsO9sC6VL37grI7x3AnpyIuL6a4uAn2m6rqFGD7zeN09ZGn4eS77X7KfiHROB1G+p dG2sTA3g8Djm4ouAnsjfcrFBENmogKSmWciiw3QSmJc2/D/F6M8oitzA1a+W6VOdGI8B fDvfGuoxTDUJlzlLAOQXbqB0UYv2o95Tvn2Ujt80Oy66EOBiiAGNQpTrNP1mIWAmTWvT TfWT0vF0TQsmRb0pGd96j38Hps4j4YErJXvvjalyhaMMI+yINWz8lkoYecbikta2zJUd IQ== Received: from iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta01.appoci.oracle.com [130.35.100.223]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3meyex887v-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 16 Dec 2022 18:53:18 +0000 Received: from pps.filterd (iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com [127.0.0.1]) by iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com (8.17.1.5/8.17.1.5) with ESMTP id 2BGHEonn027797; Fri, 16 Dec 2022 18:53:17 GMT Received: from nam12-bn8-obe.outbound.protection.outlook.com (mail-bn8nam12lp2175.outbound.protection.outlook.com [104.47.55.175]) by iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 3meyf0r2j7-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 16 Dec 2022 18:53:17 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=elD/oSnuzZFRr5/y5sPs+a9JcCcgGcduPSowACZ9Y/2jwpO76Wamt28UMwNi6aQmyZs6PC+d/wyQjfi6pB4uQmvgFQ7HrzUMXIRT0ts2GbJgpnLn84SgfTtrYT+G3Ts/lbolCuAyAYx88EZSkVcN8+F+5hmflXtaTOMDDmPKV0NBpydVnS1IcZ+R/umswxxQglL2V/BxNUHA4hE5OxRojrPEXq9RLQeRHghGpGq3fxheWs6B8crKMQ1MAdLlJpq8Gg+Qbbgxc+HirWoMuJqj4d7DesKh9Ey1ZLPtxrC+MgmiGl6v+hInY61yjiVwLLqRB6K8ZoOO4I+LN70MTcZEfw== 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=jpFkq0FfekSAcg0g37LbW4e0z91e2ZjG9MaZvLqMgHY=; b=Pt7llj288HzxQXLVesDJfi96MISTRsy212dqNXkjw5HUhfVP+KBAurtebMx1b8z39L/YRzW9fR1Fwlm6QAv8k6X65UzYtFHQ0WXJq21yd49Z/qqfZVIvrog1Aa3mspwMgBPBm03E7OqjXOC9QsE32WPhMUQWuUJFdBDz6SWZqlc9FaE9FKsgxIGdn0LpT0njuno0XSjfMdtuufQbB0zs2jBv4dbDHXjdrdN45icLBYrfcAeYPZxixSTAWk/hvUJLq9WF4tdp75wmnDsvXH6pj4ohmOeIfzTkPkYK8AA/rTTUvmnXMYpzmwofF9XYBUdMnv6BvptOiUus3Fpo5qhGZg== 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=jpFkq0FfekSAcg0g37LbW4e0z91e2ZjG9MaZvLqMgHY=; b=QaxTXz0rx4EI58GGPWxmfvgEKnAnKsFVqLY1HTJuTi2wo1LIxfFdLdHjjaS6q8iHFssnooPOdO6G4WfxmcaZAqabvFWXYyt4Ho4ilJMROpYkOeMx+28be/R1lqfGe0CSk+7pU3uvBdHO/ajRg6GyRKb/6jxnAT3V5OgzJqGeTLs= Received: from BL0PR10MB3011.namprd10.prod.outlook.com (2603:10b6:208:7e::29) by MN0PR10MB5959.namprd10.prod.outlook.com (2603:10b6:208:3cd::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5924.11; Fri, 16 Dec 2022 18:53:15 +0000 Received: from BL0PR10MB3011.namprd10.prod.outlook.com ([fe80::4747:eca9:4a3d:a1e5]) by BL0PR10MB3011.namprd10.prod.outlook.com ([fe80::4747:eca9:4a3d:a1e5%4]) with mapi id 15.20.5924.012; Fri, 16 Dec 2022 18:53:15 +0000 From: Liam Howlett To: "linux-mm@kvack.org" , "linux-kernel@vger.kernel.org" , Andrew Morton , "maple-tree@lists.infradead.org" CC: Liam Howlett , Andrei Vagin , "usama.anjum@collabora.com" , Mike Rapoport Subject: [PATCH] maple_tree: Fix mas_spanning_rebalance() on insufficient data Thread-Topic: [PATCH] maple_tree: Fix mas_spanning_rebalance() on insufficient data Thread-Index: AQHZEX+nAbpIKZyMBUWjTfJJigFqHw== Date: Fri, 16 Dec 2022 18:53:15 +0000 Message-ID: <20221216185233.2036415-1-Liam.Howlett@oracle.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-mailer: git-send-email 2.35.1 x-ms-publictraffictype: Email x-ms-traffictypediagnostic: BL0PR10MB3011:EE_|MN0PR10MB5959:EE_ x-ms-office365-filtering-correlation-id: 10704a02-7378-44d5-0d4d-08dadf96ca34 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: LOqBPz/GLl/ZzSQXlrcJ+5XjoU7+XkPGxya49Xke2/xr989u9qZ7dyOdmxEEBvmKuwPllMasujQ6eCP/0GF8Jhb9MtiU2ca7cjJkInqGekKTzHiYD4680m/hvfs1RAqNyevSDqqg5mhG7t+as0D6EcYH24mlZ953CT9Ly8bPQO0W1BrzjMGRz4CoOnmmaP54pBsCD28lE6wGtyhyc5qNRKT7jXV78YJ+74NOgUjwTdo8PjblBCzoxEkTjKiK41LwIIAEBEa8FUWp9JekpzgpeJCLN7l3r+cB83UaUBQ9/zU5/LvGjNX/3T8AcB54HnK9a/ph6XkWEeyoeWMBt5fclCaOpoEXDduouGQNu59x6/9ZIXrb4K9vgwIyFIJLasjf/j4SZPA8ZIg0NTofmiJp6YbbIYDgsZ3YEk4QjmA+UV84VlPwbwb0LL+HTj1xuNxwyZqGQwDLdQYAxAtRlCzam4FSdD8SnH5je2CA75ClNAwUoYph28yDyF8R+vN/AJIqZxr03nxtEcmJ5SXnEaZygQT9sLs7BGoJBa2p3WQ1jZGqmnltxsDWKnZyc3D70GlezKVNTojjQwEYxPC/LVrtb2SVPu7wa48SnTEamTPCpRnzYiCxA91W09iRnGQa+mAWGAwhM2KKnkOpAdOjcmS7Kwxg7mKBYWYNeEB96zKiHOu3/Lc4RCbjItkMFx6LUQpy/mukKtoL1TwaO6Hvp1UVTQ== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BL0PR10MB3011.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(136003)(366004)(346002)(39860400002)(376002)(396003)(451199015)(71200400001)(66446008)(86362001)(6512007)(41300700001)(76116006)(66476007)(26005)(64756008)(91956017)(186003)(8676002)(2616005)(1076003)(4326008)(6486002)(478600001)(66556008)(110136005)(44832011)(6506007)(54906003)(38070700005)(122000001)(38100700002)(8936002)(83380400001)(5660300002)(2906002)(316002)(66946007)(36756003);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?iso-8859-1?q?nQL1zJFaMnXG8NnBg2rQcHo?= =?iso-8859-1?q?pfGHRBTXymwdrNPCj6aNzz/YMOjKxwi/7DYwmFWuksXYuxpPvoH9OJC4RWQM?= =?iso-8859-1?q?iYyTIgq2JRpDLG23uQrAkRvK+1rgbCxqrtDfd0JAQ2YlbMgDZgYrOUkVp4IK?= =?iso-8859-1?q?eJjgNq+Q6ucFkH3yAVLF4CGjZ93QOuTcZ2B2XenSoNNHuyWIAT9hT+V3zN7k?= =?iso-8859-1?q?6f7uYtQzlgqH/WQGrM0/ydxlQxQU01mjjin/wrqOI1i8csosz8ZN5+jurNIc?= =?iso-8859-1?q?rvOaHMJ1r1FT4zRbT8RWja6i8SwQME1SXFFAQDg6xW9XhDPnGowEFUkGqbMh?= =?iso-8859-1?q?cEjKc/5okvjiEjFrJCh8F+wc6ekaCHTwd64KiR9guPErHxGQqfxHoTb72sHD?= =?iso-8859-1?q?Canjv20c/euaCRJMIQ7Vrti/P69272lU5twjke60bbapf8XaiiYEv4lV970x?= =?iso-8859-1?q?8HAFunQOP2ATPXsafyT4deAC4uTcFNi/XJSjywXH/GIdCXy8aV48Jdm0ak/q?= =?iso-8859-1?q?jOpTVpU+ZxH+v5yleGtVD+Pq5iw2zuPa2TNZaoaIECLG8HkjS9kZBBcp0cN4?= =?iso-8859-1?q?E6KhtQ7MlfoxeWtIPdemFcihqgBcWYxzwK8wIcBOgiOWkrB2BlG7rxc3w59C?= =?iso-8859-1?q?C4CvrWdsKus4zYgA6VnebSVzYElJ7jYGDhn8axN4ESrvNUDflU1cI64NXbhN?= =?iso-8859-1?q?G21dN8weE76b903xh782BbqQ454+EtZgLqv2xsggv4L17tvVz1r0Iz980ObT?= =?iso-8859-1?q?wlsO6XAugQtPHzLwZS5VV/L/8sid51++770jLUyys740f5ETg/7OxXQtNtqC?= =?iso-8859-1?q?CaxdMb6ixX8tntFFvh9hRKQCjN2ifUOhvR5BKy5QK0iCUxA8VO9jfoEvdWgi?= =?iso-8859-1?q?S1aZS9bwa+pjL3edU5HJxaXLU8ynF/k9nGbW0/BZbSf/PDbERYn6qJcP8erI?= =?iso-8859-1?q?eYcOuiufJ71SOaDs2Xy9XwnqBH0GJeInB4/OQyENK3UYSMJbYBecLRLZzkSL?= =?iso-8859-1?q?W6IEfGq840xFant9Bxqj/3DgUWvOUnfgY3uw6CF95RAupsYkp3W4NfoHo7y5?= =?iso-8859-1?q?WGVw9NN0d5MqdcPxtG09shLSo0SUaVZuO38nqFwA/zqZgtL4yT5CtvfOlcen?= =?iso-8859-1?q?haYONAtZRymAepV3/I2K2vx1F+uvGCvAnnliVBIJ7YSJRqXRhfTOPoO88uwN?= =?iso-8859-1?q?+AKBK82dzhtmN1D/m9NYXes6ewAlCSH3B69nAClJ/rhL3wjXTm7qu7vXcPyS?= =?iso-8859-1?q?mWehxL3R19I7IDIMq8Eq5RgingrqewhAhaosdXMnOVQihwYN4eSh3/PY9muo?= =?iso-8859-1?q?jpGv5pTVOtTmW7oSrGVZJR/Nv90yl+eOM36uUqlgiH841AAqUwRUO9HTVOph?= =?iso-8859-1?q?n6W96f2yKUkSoJp7HHrd7tKzmurtlmJVgopo0FGiu/tKuX9L1CvP6heg/AbT?= =?iso-8859-1?q?xMarjxn4L0crsbsacxZFPurrlhgRvWw8GkCtDPQHufep3UupnqHnVylmJ1Pq?= =?iso-8859-1?q?AuyDGkodtAtjyYwTQxr33NlKIJPam2y8TGo5WtEhVEj7vXPQH2omtHdlmuhu?= =?iso-8859-1?q?xe4+tOs9w7IDcfIKoREswVSd0Th4Cuos31I5P0RgWhdSaZetJWnGOd1Kiv2P?= =?iso-8859-1?q?lObeKcqIeWRLxNdyyesrGkuIA0cOliCL/0eNedQ=3D=3D?= MIME-Version: 1.0 X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: BL0PR10MB3011.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 10704a02-7378-44d5-0d4d-08dadf96ca34 X-MS-Exchange-CrossTenant-originalarrivaltime: 16 Dec 2022 18:53:15.6687 (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: /oocB3FSkq2dwdDljudnn/b43PE5qP6GPCVuMoYrrKjbQUeJaESgH2ubT/m31hp6EvtFO23DTSciSSAeMNGgTw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN0PR10MB5959 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.205,Aquarius:18.0.923,Hydra:6.0.545,FMLib:17.11.122.1 definitions=2022-12-16_12,2022-12-15_02,2022-06-22_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 phishscore=0 suspectscore=0 bulkscore=0 spamscore=0 mlxscore=0 mlxlogscore=999 adultscore=0 malwarescore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2212070000 definitions=main-2212160165 X-Proofpoint-GUID: CouvS3i_rwQ-t3pY0NYDeZ5XVeelIDpa X-Proofpoint-ORIG-GUID: CouvS3i_rwQ-t3pY0NYDeZ5XVeelIDpa X-Rspam-User: X-Rspamd-Server: rspam03 X-Rspamd-Queue-Id: 58D0440005 X-Stat-Signature: 7oxfg9w8wzqutgqbffhyjf864rbe9add X-HE-Tag: 1671216805-815944 X-HE-Meta: U2FsdGVkX19YUt74hukm2szt8z5JV+qdW8u2QYPsfpN/ntQ1HiwGU5SL9N9up+zkwn+GPEuP9UG2D7CEMWp5WxwsZtMGHRx++Vxo9yAtnY1YqE9mmWa3N6Km+1h0PMroQVnOuNLBYRS+JFCVm4cXT133Xa37SJoxqRTfP+ZrRW8AqacbKaT3fsXcZTDBmJNxsTi5HYLasb/WVkaHg+7OMFNCq0+HLCrB33knlZCNzK38v0LkTsm14DwLfVLtc8dOk/1z0Bybg34p1tbqaVIL88W6gDsPVzzi+AgmhkPivr27qKGj9nF9sowO/j82/0tpnW6Xj2bC+2k+hyceIIelWXuAsDXrDzHjDPMvuk/LSwys+A08VDHTa7Q+0Z3zTY0Gg7exgvG6drNJOHOYnw3vICssnW68eJbBCSCi6t4MvH8r/GC9Cyftzij4Or1ldGQskezd7la1kUWcHNoLIXx5c0Cu26i9evh7oCGN7CaYIr1HCpiL6VU2fjL64NoXKBlDycxozAxtC1OTCRED2XYtQhqPLe1i0iQavvQvT7kEhL1jYnYOqh0gdU33VWGXx+P2xpPs6tNbpWuY1ez3nJ0nTGa/o8hw+wNUTxxTS47XghtLRB5C/YO3rtxVvLLdpkI6TzKgN51eOPKU4IH/12ae4dNZgGGjde8ZqnpEj6JwavrkZouKnCqEjRfcFh9pNy4DeCKKths/0l7rqGGY7si1eqzvBusM1n+mnYVw6oLo/iSJVeuwyI3TPVXAnreG5hdCnLDjBtA7byv1+f3jRu0ScZ/fEN6SD3HImLkwi65QbG8ZUscZRN7C8HdLkHt3meuHx3libvypeaGsS/cQjczbB9tmk6JSF4HgYs2JcyjI20rcYU8PZGlHEaw+oxVQNLq1D/t2TBQIQ5cnrPO49MjKiiEUSGsbRJIRP/vjXDVqUoZH9NWp4e2t7SKxyIRNoDDWl7OXpyG2PouotfKUaeC KKGPszkT /B6X5ZaZCMiRJ5PXDwupa8GIO/o+Z6+HAPesM94CfkMBbwkEB7DwIraHRFInZv3/7joaDEantW3t5sCkNHlI3bnUUfhuuSGynPuW6j+trWO1RKuVyteibRod2zHQpnvF8uS/L1XSWm9c5hYPouRkI2/ddfg== 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: Mike Rapoport contacted me off-list with a regression in running criu. Periodic tests fail with an RCU stall during execution. Although rare, it is possible to hit this with other uses so this patch should be backported to fix the regression. An insufficient node was causing an out-of-bounds access on the node in mas_leaf_max_gap(). The cause was the faulty detection of the new node being a root node when overwriting many entries at the end of the tree. Fix the detection of a new root and ensure there is sufficient data prior to entering the spanning rebalance loop. Add a testcase to the maple tree test suite for this issue. Cc: Andrei Vagin Cc: usama.anjum@collabora.com Reported-by: Mike Rapoport Fixes: 54a611b60590 ("Maple Tree: add new data structure") Signed-off-by: Liam R. Howlett Tested-by: Mike Rapoport --- lib/maple_tree.c | 4 +++- lib/test_maple_tree.c | 23 +++++++++++++++++++++++ 2 files changed, 26 insertions(+), 1 deletion(-) diff --git a/lib/maple_tree.c b/lib/maple_tree.c index fe3947b80069..26e2045d3cda 100644 --- a/lib/maple_tree.c +++ b/lib/maple_tree.c @@ -2994,7 +2994,9 @@ static int mas_spanning_rebalance(struct ma_state *mas, mast->free = &free; mast->destroy = &destroy; l_mas.node = r_mas.node = m_mas.node = MAS_NONE; - if (!(mast->orig_l->min && mast->orig_r->max == ULONG_MAX) && + + /* Check if this is not root and has sufficient data. */ + if (((mast->orig_l->min != 0) || (mast->orig_r->max != ULONG_MAX)) && unlikely(mast->bn->b_end <= mt_min_slots[mast->bn->type])) mast_spanning_rebalance(mast); diff --git a/lib/test_maple_tree.c b/lib/test_maple_tree.c index f425f169ef08..497fc93ccf9e 100644 --- a/lib/test_maple_tree.c +++ b/lib/test_maple_tree.c @@ -2498,6 +2498,25 @@ static noinline void check_dup(struct maple_tree *mt) } } +static noinline void check_bnode_min_spanning(struct maple_tree *mt) +{ + int i = 50; + MA_STATE(mas, mt, 0, 0); + + mt_set_non_kernel(9999); + mas_lock(&mas); + do { + mas_set_range(&mas, i*10, i*10+9); + mas_store(&mas, check_bnode_min_spanning); + } while (i--); + + mas_set_range(&mas, 240, 509); + mas_store(&mas, NULL); + mas_unlock(&mas); + mas_destroy(&mas); + mt_set_non_kernel(0); +} + static DEFINE_MTREE(tree); static int maple_tree_seed(void) { @@ -2742,6 +2761,10 @@ static int maple_tree_seed(void) check_dup(&tree); mtree_destroy(&tree); + mt_init_flags(&tree, MT_FLAGS_ALLOC_RANGE); + check_bnode_min_spanning(&tree); + mtree_destroy(&tree); + #if defined(BENCH) skip: #endif