From patchwork Fri Jul 15 19:43:08 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: 12919623 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 5A371C433EF for ; Fri, 15 Jul 2022 19:43:16 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 68CBC94020F; Fri, 15 Jul 2022 15:43:15 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 63BED9401FB; Fri, 15 Jul 2022 15:43:15 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 4B6BD94020F; Fri, 15 Jul 2022 15:43:15 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0013.hostedemail.com [216.40.44.13]) by kanga.kvack.org (Postfix) with ESMTP id 39EE19401FB for ; Fri, 15 Jul 2022 15:43:15 -0400 (EDT) Received: from smtpin09.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay01.hostedemail.com (Postfix) with ESMTP id 0F0B0604A1 for ; Fri, 15 Jul 2022 19:43:15 +0000 (UTC) X-FDA: 79690357950.09.E40DE46 Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) by imf02.hostedemail.com (Postfix) with ESMTP id 6534380040 for ; Fri, 15 Jul 2022 19:43:14 +0000 (UTC) Received: from pps.filterd (m0246631.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.5/8.17.1.5) with ESMTP id 26FH4aCt030500; Fri, 15 Jul 2022 19:43:12 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : subject : date : message-id : content-type : content-transfer-encoding : mime-version; s=corp-2022-7-12; bh=CFz8liIYcWEzU05dtNJBl/R3bpiin88VXxvajT5ThE0=; b=tJ4JhPuywe1RuUhmyi3z98yq+Z2BVKqlfwHgrcZetSWOqY37zCypcPk5C2cor49zZt7e Q2EeSKqfxj279ghSXP2WqqtqhCOwtykEPLoKw6ER5O/Jjfcn2r6VIQYGOBgLs7paT1vI bbdNchJ32sDfcR21cYuWClOzu5rvTCjgHqZzTFz1V4Lkfir1Yv8Od5wm2m1blpGg1sQJ zi2vp/X9E2t7H3tZp5/NMSfEgPNKxbciWfrXTvDvEIWVQu6QqXlwtppf67YRJbaEKwhz gz2yVeaiMPZRl1rduqde+qYCkXlRjrmRAH2oBwLL3A7+uBlNvb3ksAzzS2UTEZmGtP+X ZA== Received: from phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta02.appoci.oracle.com [147.154.114.232]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3h71sch0uq-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 15 Jul 2022 19:43:12 +0000 Received: from pps.filterd (phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (8.16.1.2/8.16.1.2) with SMTP id 26FJZrBs002820; Fri, 15 Jul 2022 19:43:11 GMT Received: from nam04-mw2-obe.outbound.protection.outlook.com (mail-mw2nam04lp2173.outbound.protection.outlook.com [104.47.73.173]) by phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com with ESMTP id 3h7047qukf-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 15 Jul 2022 19:43:11 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=kww8X+MgQX2bY+ghmU+gp2shaShMclNW6TpvYlW/1nB+i2vgC/BNUHf7OpuktB2beZaRSdYhW9Eo9oIKv8BOCo9waIDFveMcEc2USR2scG60yePxhMO8NAYMMCnrTgJZFXfCtznpxNp5TPtVvRO+VFUnafMWvU3DGw5MWKqentQCvfLgigAM6ND2L6zj/hYF3drcTkkRcUscSoqnGHGcyXJHbHzOSMDb9wtyij9yECf39qH+OsUaNX5ONpGJbbCn/w3MLhVDBYs8IFRDqwU1tz/SF8AQbAz3zvlibepQARY3LUXbQ/JxUsletycOR5F3UR/vr/gnK3vXf7H/BOICNA== 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=CFz8liIYcWEzU05dtNJBl/R3bpiin88VXxvajT5ThE0=; b=JwxzzIpL1yZTxuLrwzmZ3nqJne+7QYPP6A+f1tsImJuAzlBzhzVap4Ub46vAEm7hTq6Qbv5sPcdGfKW4AnCZL+kOAczpzlRxkNnXikFO/N5QM4ogVkUIVF4lgCSs9azNPYpVzTEFxb97Z3SW/1cAp5KPpCLSGToCBwRIiMkV927KmhlBa70nadl6Fx0blZhu9H98KW4PGA45bYxxMrRq78HBkDWM/qZYMne3GSxwI7g1Hxvq1cPmodsSU/bi3S/6puuvTIv49kJOLVsdt2flF45JU/U2LzWuf2wTjK7aq5YbE9MgVzY8SuYxb2t88AE/2G0/S+/quS363rTZjNWNcA== 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=CFz8liIYcWEzU05dtNJBl/R3bpiin88VXxvajT5ThE0=; b=IZHu/B4Yh8XObWUt1S8ew55swc/ARI6MI0HQc+YY1295R716hcJWxi6/HIFbHoKboRVhEkGARQvlP8UcnG4fJbsIBUGWvOaDUoCj5TXTj2uyX+AOon7yzhuc1x/deV04iLNSkbKxPIRGJKMg9MoY7k5mttpShcbi7eseqpbCbqA= Received: from SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) by BLAPR10MB5090.namprd10.prod.outlook.com (2603:10b6:208:322::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5438.14; Fri, 15 Jul 2022 19:43:09 +0000 Received: from SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::c4d1:edc3:7d21:7c68]) by SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::c4d1:edc3:7d21:7c68%6]) with mapi id 15.20.5417.026; Fri, 15 Jul 2022 19:43:09 +0000 From: Liam Howlett To: "maple-tree@lists.infradead.org" , "linux-mm@kvack.org" , "linux-kernel@vger.kernel.org" , Andrew Morton , Yu Zhao , Hugh Dickins Subject: [PATCH Fix] maple_tree: Use metadata for mas_dead_leaves() walk Thread-Topic: [PATCH Fix] maple_tree: Use metadata for mas_dead_leaves() walk Thread-Index: AQHYmIMccCW98/jR4km0kgJMNFpz+Q== Date: Fri, 15 Jul 2022 19:43:08 +0000 Message-ID: <20220715194258.1734056-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-office365-filtering-correlation-id: 38b3a641-58a1-47cd-5144-08da669a3ecb x-ms-traffictypediagnostic: BLAPR10MB5090:EE_ x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: k7/8vKjxYiuBESFgy88hrgJKIxWxMcq0Km69rY1aEG3PnxRV/4+mIKIx+nNEHVSN15wGTz2ReIcyeWjjdORQGaiH4iOxwnVKwtW+8I8n9LfwjAViOslP4i93E8ZkADgZdrplJEvFFJAUjYoIanpRU8/3jMUj+01ztpZYB7/YHxVuXNLLUBDjFoaWM73o4U3YRwz/YyTWD3u6IBeSxh3Wvjnry45FQmXnNEmZiaIKRFH1oq4J2wHbjgNRuOlPqasnJ3xD4xQQ/fqM7RKA8mOnv045CipgTb+Vc4yGwxeIIJzvvgYivOUXxj9CymET8ZGrGCv+tP1Tc604A3D5ZqnSE6WrxdwYy2wtZttn7K/4kuxn72fZBCtY2kaza6tClVWEoF+hMmSbzh5L+a0/wKaAyYnYoh271kLeiRzAeGrI8Wcpc0ZymtxQTx7WSxPll7z30nwUxAPaaJpS+cdt8YShMhmVKhOFuVPAhLC2CLUpphC+Ljge6vmwKwe3w6tcF0Mo2A+X6Jamqi5vp+oQPQqL8O2S8ZuBtNyDhH1pPdDhRTbACnbJaimuda6rKiPjAKjHrTxRVEX/pGP2yCUGwQlg/Prtux62YwXW/6/ahNBDSZTGbmmL/5ErJKE+PDPTHHpM8bsGf/LmqXfcPqrGeQCkDVkxrIk3Ik7mdGx1Lw10oZjxgSyBt07YooVVOx6dlgBudQ5vmz3ZGdxdnhECeewWowu2X0QU2X8v1TyYLbHuwNf4/6YEPKH9hSD+DE+ywHVoXDI4s4UHcJk4m6mJOIVfaokHUE8ev5HCLNodshxwRh9UwbGYF251sWXn3tKunRlt 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:(13230016)(39860400002)(366004)(136003)(376002)(346002)(396003)(2616005)(110136005)(316002)(38100700002)(86362001)(6506007)(26005)(36756003)(186003)(6512007)(1076003)(6486002)(122000001)(41300700001)(38070700005)(66446008)(2906002)(64756008)(91956017)(8676002)(66476007)(66556008)(76116006)(71200400001)(66946007)(44832011)(83380400001)(478600001)(8936002)(5660300002);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?iso-8859-1?q?kCo8ON4IfjDJSI4zGRf62Nb?= =?iso-8859-1?q?ku18c5xZ/4zxJ0vIAva/NWCkU9uR1LR1UGuGRa9NTzh3zWknKsIGkVjgKLp/?= =?iso-8859-1?q?6YmW2Fz8JREIMwmV/FvbJaZ7764HUv9+Hir8Kc7+oKGGbPP5TZC3nTtik2BB?= =?iso-8859-1?q?M4Y46JjXlIUVTgTxUGxVf4iTDoM/5HuXR88RlYzK6X9YuNVsvv1am2joUpza?= =?iso-8859-1?q?PLEhHqWnu3p2t7LfE/VN3ccm8XBEtywY7vNdcModiPqcIEPfbF2cCdr78twB?= =?iso-8859-1?q?2QIDOpRd++pZEkp1ssocB6UcY2oU+5e9aHt66r/0QW2OTG0POIMeMPsVdG+u?= =?iso-8859-1?q?I/cjlS/s9esp4aiGuYnY2NZz2h+tx4DSg9YT2dFVc/Rdl6Jqt56pBnpZvCTA?= =?iso-8859-1?q?M10ZzQAGxpRNhGan7s6DFDz0Z0aXnkWQOtsR4sXKMoBHGixZkpaUvAmmLQAE?= =?iso-8859-1?q?CbjfgISq1M34kQ7FcR0ih29cfxc44/UB29CCR/BmT33fCKXHTLtoJI4OpFEe?= =?iso-8859-1?q?EXE8A1y9LpgBvd6bh3CXntdaWz8uEzgNp1u8FH/t2DwvbMqDZnoj775gmY4u?= =?iso-8859-1?q?bPuyCl/0Wp6Oh3anpvSIIXpWM7HUB1edyLPtBSHB7lqlV1FEus36PcZxpWWa?= =?iso-8859-1?q?LVroU7RTxltJemIJXw6/xHCVWTHE1lRTEpxKeBxEG8r5NE7Y2PbbI2n92WNv?= =?iso-8859-1?q?szTAjNa/1dtfq8zw/rBqM+xfrCKL491BLyZllvMeMNlxjSXk/KcyjFhvT342?= =?iso-8859-1?q?bjUvKN7KTWEGum28AjDuYuhiaaivQ6yr9TWuOuWex562oYHD1VbUIiBDHF5e?= =?iso-8859-1?q?zez2IA48ZYeJz2vs8PMa7yc34WehoGYfzokUTscsdK2phXejSmqIDThsFY+c?= =?iso-8859-1?q?hkgUnlW7CNZgVDxeDrqdA8IKLphJf3sZzGrjoMXICVGYmAhEqvvYK68iuOLJ?= =?iso-8859-1?q?YrWHGINpiHh9Ah+bJN3lVN9Nk9tLTLtthWKketWFErBJbqJgCgnThPpbPig+?= =?iso-8859-1?q?UX8LJq2pMVcnDUua3XRuCag8riINi1P2oOnmqbYbkZloThSofmgukKGk8Uk4?= =?iso-8859-1?q?t5qo0zlzJPtv37IKg6kswf9674yjMHNTrTWrnwarKw+lGe1cLQNQRwSmOOa5?= =?iso-8859-1?q?H3Hc8iMiR7xXIi1ySwCjP9hQQGiHgMCcA322STnyOY1u8PkywBw7WB7+RqCM?= =?iso-8859-1?q?JH1K9OMW2Ioz4l+oDkXJKVKsotqa8fn6Qbe/FicjIjWshlpECbgDiNf78qt3?= =?iso-8859-1?q?olUcESK+wMQe74azcZWBK+1kf1iwVuPgMAmSHEfZqoH6LR9tRMYlRh4NQH9e?= =?iso-8859-1?q?oXggzjOpNkMVSa9buKfb5mPi98JXz0CXJjnOvjhWcltI/mrr+5jd7aMU39Lt?= =?iso-8859-1?q?gcT8zCEZrPVRcLEfYyNTvJNcvwwf87Cru7iYQYow8v7eOAyATACtIK7WA0pt?= =?iso-8859-1?q?Q25Pg7yx3+toe/iZzRvCG03Cz9GnlObr4mOrXkE0InRcx+U6HhvDdiStgTho?= =?iso-8859-1?q?lWv/4gU5vygrrfzIluPdyU3qLng1KgzLxbDy8o0f//4gVMaujhmw1h6DfHsY?= =?iso-8859-1?q?OIc+YGfwBfIDUxyDvdf6a9UDrE0zDkJwsu5NoaQ23JmxST03eVii8sfW4BvV?= =?iso-8859-1?q?9utMlpB8EkLUbYdfRc8JhcV4qC8GBszPC0p4XnQ=3D=3D?= MIME-Version: 1.0 X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: SN6PR10MB3022.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 38b3a641-58a1-47cd-5144-08da669a3ecb X-MS-Exchange-CrossTenant-originalarrivaltime: 15 Jul 2022 19:43:09.0542 (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: rK9lsLNPqqeuAOqAsMzgWw1IlTO1Lyul+/1klzLu5nGbG/xP+I9Qnn1nfjv0nr6iOn8lkSKyQNfxZYG+fxbWjg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BLAPR10MB5090 X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:6.0.517,18.0.883 definitions=2022-07-15_10:2022-07-14,2022-07-15 signatures=0 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 adultscore=0 phishscore=0 suspectscore=0 mlxlogscore=999 mlxscore=0 spamscore=0 malwarescore=0 bulkscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2206140000 definitions=main-2207150086 X-Proofpoint-GUID: -0D1P-_VzmOVn3LZ1TDY8nFzW53Key8h X-Proofpoint-ORIG-GUID: -0D1P-_VzmOVn3LZ1TDY8nFzW53Key8h ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1657914194; a=rsa-sha256; cv=pass; b=gwRmPPcWH9vfR2+fKkiOXOm/3xvV53LEfDEJCprgwg+tYgXcWTfzMUiW5bJ/Calvi6rj7O ma6+bVrGkCju+FunbH1RGLZtfquy9KHzN5rDjpYVEoDWAYM02npuiYkJvb4YRkRza+eaqD sI2PUwx/wqid1jerOU4oVj/8kiEZRgk= ARC-Authentication-Results: i=2; imf02.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2022-7-12 header.b=tJ4JhPuy; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b="IZHu/B4Y"; arc=pass ("microsoft.com:s=arcselector9901:i=1"); dmarc=pass (policy=none) header.from=oracle.com; spf=none (imf02.hostedemail.com: domain of liam.howlett@oracle.com has no SPF policy when checking 205.220.177.32) smtp.mailfrom=liam.howlett@oracle.com ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1657914194; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding:in-reply-to: references:dkim-signature; bh=CFz8liIYcWEzU05dtNJBl/R3bpiin88VXxvajT5ThE0=; b=gYXrzKYL3sFI2O4XrXiVUEfyUccNBHNl+xisFtBqXpoQhwiuEqJreLgF0uDaQUkqITH591 wOpKJksjUB/BGyTYjsI81zG+51Zmu8aWWslq7VcwIRT0I4dar285q2utpGa8F6jw6HXCE0 Tt+Wd2yt3cpUL2cLYxYPjinxqO03E3Q= X-Rspam-User: Authentication-Results: imf02.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2022-7-12 header.b=tJ4JhPuy; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b="IZHu/B4Y"; arc=pass ("microsoft.com:s=arcselector9901:i=1"); dmarc=pass (policy=none) header.from=oracle.com; spf=none (imf02.hostedemail.com: domain of liam.howlett@oracle.com has no SPF policy when checking 205.220.177.32) smtp.mailfrom=liam.howlett@oracle.com X-Stat-Signature: fw5b1w9dyo4wq3og16pw6mkgctrk6kkf X-Rspamd-Queue-Id: 6534380040 X-Rspamd-Server: rspam08 X-HE-Tag: 1657914194-262734 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: When walking the dead leaves, use the nodes metadata for the end of the node. This avoids needing to use tricks for BE/LE unions. Fixes: d0aac5e48048 (Maple Tree: add new data structure) Signed-off-by: Liam R. Howlett --- lib/maple_tree.c | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/lib/maple_tree.c b/lib/maple_tree.c index 14e9ab14c1da..c661fda37665 100644 --- a/lib/maple_tree.c +++ b/lib/maple_tree.c @@ -5390,15 +5390,12 @@ unsigned char mas_dead_leaves(struct ma_state *mas, void __rcu **slots) enum maple_type type; void *entry; int offset; + unsigned end = mas_data_end(mas); - for (offset = 0; offset < mt_slot_count(mas->node); offset++) { + for (offset = 0; offset <= end; offset++) { entry = mas_slot_locked(mas, slots, offset); type = mte_node_type(entry); node = mte_to_node(entry); - /* Use both node and type to catch LE & BE metadata */ - if (!node || !type) - break; - mte_set_node_dead(entry); smp_wmb(); /* Needed for RCU */ node->type = type;