From patchwork Mon Nov 7 16:38:35 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: 13034850 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 63AC9C4332F for ; Mon, 7 Nov 2022 16:38:45 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 990118E0005; Mon, 7 Nov 2022 11:38:44 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 940468E0002; Mon, 7 Nov 2022 11:38:44 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 7E0968E0005; Mon, 7 Nov 2022 11:38:44 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0012.hostedemail.com [216.40.44.12]) by kanga.kvack.org (Postfix) with ESMTP id 6E4A58E0002 for ; Mon, 7 Nov 2022 11:38:44 -0500 (EST) Received: from smtpin25.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay08.hostedemail.com (Postfix) with ESMTP id 3D618140EEB for ; Mon, 7 Nov 2022 16:38:44 +0000 (UTC) X-FDA: 80107204968.25.059F1E0 Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) by imf23.hostedemail.com (Postfix) with ESMTP id ACC2514000D for ; Mon, 7 Nov 2022 16:38:43 +0000 (UTC) Received: from pps.filterd (m0246630.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.5/8.17.1.5) with ESMTP id 2A7GT2S9007234; Mon, 7 Nov 2022 16:38:40 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=YA/ks+zj7IDZkHin8TFO8rZQSYwqvusTQU7+2+RdHzw=; b=gwFh6/osd3hVY4bnhUNOW6RO6HPgvP14RRchic52RqDlHdbuWgpfKuboRjQnE5ipFkT0 bJHIRn/zd1cA88ZGBaWIH8E3or2j8vzDn/iVHGiZLfTdj0WYqt8ADlUEGjHKctxPCA1M aMg3W9uaV2UhKddUWG+tW4QBVnlDBWP1fdGqWEumx17QO2yTfn3uM0Xb0Z2m2PEgKM8/ 7jO4zyNjHwMGlQSKCXNTV5R5rOL/Mp22FHLxOAi7lrYPbgwtyS+GWBKAr+tKbP81AsNC ZMvP4UtoJPvG+v/0FQ4zY1gjKk6rK8t0+LmR7FpUnJVofXCip3eVO3tOb/cnpObF8COo 9Q== Received: from phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta02.appoci.oracle.com [147.154.114.232]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3kngmj475p-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 07 Nov 2022 16:38:39 +0000 Received: from pps.filterd (phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (8.17.1.5/8.17.1.5) with ESMTP id 2A7EhhHc030220; Mon, 7 Nov 2022 16:38:38 GMT Received: from nam10-bn7-obe.outbound.protection.outlook.com (mail-bn7nam10lp2102.outbound.protection.outlook.com [104.47.70.102]) by phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 3kpctjf8ek-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 07 Nov 2022 16:38:38 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=ZRok4RNVsJWpNxdr482dU7Z+zILNZGqDuqYRBtqNF3L7ieaZdfMPCfk/U/W1xg8RxStQSxb5K/74V6/CZhCDP9ify/V2xB9zw7SFCh1g58lcwUUNiDHNwmXse0g9E8kWcsnIXPl33hexMiKuD0vd6YbNFx4LvZ/0nERpQlUHd8EfziqULNPk7jxGWW5PspdtU0NNCyUmUGrxpiIlrLubab4yYuPCp7ksaH0KpNcCV84faxZVQ0DBbQ0MxFXnt3+W/UxnJpKdgJxX8IpZIjEWDnH+g5WdJ7957oNUaI5D2mtH49loX83i6vjoamCTFuJXEjYz48BWsWLRw1jnIJ5yyg== 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=YA/ks+zj7IDZkHin8TFO8rZQSYwqvusTQU7+2+RdHzw=; b=efdJ2wr3fPdIlQtKn9VnYBc1WwxEdzu/2WJ/OFl6K80LoCqU1n+cGeh8mOk7anqoblanU9D5OzwYSOOzE1GuoiR6LfKHg4tCHbGTr5Tv5VdpZd4acDPM2Cxvqes+riiwF6B+8pm/GQwJ0nytBX8aiNjjgigBACbKOHisKEbQGnUrXJyEJLfY+Eajc7hPuJDFm1sH4fuw4SqVCzGFZZwFGkBt42TQ+LikZciOlqzbyLQrdllU0CTkX4faRs7lN8dX1vHd7LIfI4bFVoZONQyoGg2lqGfcWQLDGeO1BW2CUromC3MKlVvcx24Uim0WyTTbP5LJVT0BJWBQeLOfM807mA== 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=YA/ks+zj7IDZkHin8TFO8rZQSYwqvusTQU7+2+RdHzw=; b=UUx4YTmn3W20B8441Q1NxI7oljcIg0A32WvjvgzVdRq4H3v13XWreQfoFr5NkQgiG61mEBMyzWQOfyDxH7OQwxNC1RkGA1PtfcYheqOAnAsXXB+WtdmDoO04r6L8IYKdWgAYpAKDbXZgV61XExRyiYGmoUt52flVYUjpL2pBJos= Received: from SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) by SJ0PR10MB5742.namprd10.prod.outlook.com (2603:10b6:a03:3ed::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5791.26; Mon, 7 Nov 2022 16:38:36 +0000 Received: from SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::f378:f1d0:796a:55a1]) by SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::f378:f1d0:796a:55a1%3]) with mapi id 15.20.5791.026; Mon, 7 Nov 2022 16:38:35 +0000 From: Liam Howlett To: "maple-tree@lists.infradead.org" , "linux-mm@kvack.org" , "linux-kernel@vger.kernel.org" , Andrew Morton CC: Suren Baghdasaryan , Liam Howlett Subject: [PATCH] maple_tree: Fix depth tracking in maple_state Thread-Topic: [PATCH] maple_tree: Fix depth tracking in maple_state Thread-Index: AQHY8sdhjSuovy1fZU6O2Uf9+sMxcA== Date: Mon, 7 Nov 2022 16:38:35 +0000 Message-ID: <20221107163814.866612-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: SN6PR10MB3022:EE_|SJ0PR10MB5742:EE_ x-ms-office365-filtering-correlation-id: 05e181ed-669e-4cd3-a65f-08dac0de842e x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: 3TAEcTv+AuufiW8nLEXq8R+CyVYrDtU+hn0+iHqmTtMV6sAFlWrXQqywmWzak35O+WdR2FWaHvoHIyHbtYetkxdjvNJ6IBiGstoSuCLHb3GeeeQkjSsMO2kRXIPv/A+vpOG3H3Ax9sjglsTvPWYw1pkQIQTLFxCKTPWnha1bXdhKh1+C0GId0sD7SemP88UaQamIoto7cqp4XAlyPP540zDU/7gA1O2CiL1T5kF/LbtVAfLygPRPgaFHcWJWTFL5uE3mpJyQStCs3PZQxhiEC58UUzoZ59yJNhBPE9yiUUBQthWegRjc7S4yLJSgtD7H1iB0i8q/MfprR2QEQYNYcc8+/ofYHNolqkHWyEH0g5TGKN+MRkVdDksTDriUrcjO9bG2JWyHSIJ5/4SM665joC6QBslCjsGpg+Mcc5kPhbKYVxgGmK1cKn2jC1+gxnLKaRe/98HM97Vn2BTcfuLHdUPNaNyMwAWwYH91x236wS8fnA0LwnDyfU/QVfaeh1eRG0OMIOx4s81cjo2ENstRJzpqi7n6HF3+ZjQIhyBU2WzwyTvO/rYGMIc/3gziKk0KrvA84RIG/snm8ZLbG6kB+jadVc5m9LVwqFYitQBBjDP3AEeA9IxwUvbbLV+LjnWMtU82Bn2ibPmMhdTFUU2918sjUXxU2snUoFg+jJxqkaxch9rF7TeXKDfJZrK4DSPKJsCb66RtzUKoPfDwXLfBDX4IhluNdxURd3e+dwRY2okzK1F3F0xrCeyXhv1KZ46RH3wLCQdK2kS/kCI8PO44aQ== 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:(13230022)(346002)(136003)(376002)(39860400002)(396003)(366004)(451199015)(8936002)(5660300002)(44832011)(2906002)(186003)(91956017)(76116006)(66946007)(316002)(86362001)(36756003)(110136005)(478600001)(6486002)(38100700002)(122000001)(66556008)(38070700005)(64756008)(4326008)(71200400001)(66446008)(1076003)(8676002)(66476007)(41300700001)(83380400001)(2616005)(6506007)(26005)(6512007)(54906003)(107886003);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?iso-8859-1?q?vdAVsY8ayAwk0NUjq4lRcJJ?= =?iso-8859-1?q?Sx3RC6EH7etBuJLmrPvuyg8WpLSlaPPnQ7HoUn8cXeqMpamAwYf2l9tw6Tfg?= =?iso-8859-1?q?HbiWDv3UgAkILWN5BYcP1mrSslcr3TUz0supAv93hnJCvce4wsAyBN8FqUaW?= =?iso-8859-1?q?SD1R9/+y/cL2cFabBMXTAvxPxENt9mzQU0o5uSJpBG3yi08Ohb1R3OP4GNSG?= =?iso-8859-1?q?RVU6R3JEWKSNahu26XCdwpwa2+aQ/v8Ye4Fbol/plImJnbc6JLfcMyS+GplE?= =?iso-8859-1?q?4akB+XI9aPoSzvJ3rrcembCoD6S6eD1+C67M0aew0qv4/QTDUcoIeanVkcV2?= =?iso-8859-1?q?iARo/Z4A+ogbSOO18FJJO2fiGQz/gLLUbhSkPm2WkB6s43J5N3VLxzIktdFZ?= =?iso-8859-1?q?mUOTWDV7hUuJMxQp+76GZ1GzZFFoEwfWUtsnf4tb6HAuIGyl+KcoSNhaHCZN?= =?iso-8859-1?q?J58nVdbnAgzrZvsFmTOJvQF1PtzNdl/CPG1UdiQIr6+Wgu4ORjmKCjRpdfl/?= =?iso-8859-1?q?iHbsWB6yPlAn5XfBFrkKQjZaJd/zEqlQb2cdHo1bz631B6IIU1mRLtTnnV9T?= =?iso-8859-1?q?s9IHV0uv6m7FL3dj5/7GTArK42e+fZS9xRJXkJnSeXilRWcGJOb3reWAD0c4?= =?iso-8859-1?q?tIe4GloCZHE4Z94fMwvJ9sN9e3OSUMFMk0tS5vCCaL0h3DvnT2cwXStGonh5?= =?iso-8859-1?q?C66v52OW5yCRY2XjlN/t/QatBdoCYS1fYpSnB8EEWAFon6YmBpHjfP7+EKyu?= =?iso-8859-1?q?36MQIcs3yADtktfSKLUh+dIh7obXFg1k/Gw97tMXZU0zSv8TX9h534nsBpUl?= =?iso-8859-1?q?NDw8WodyaibhpcjJibLQGRF6VLnGvhMCSX7ccFkoqHx+3OpwwGYpfiLQFRaM?= =?iso-8859-1?q?l4ZjYDcfl1LzXXQGnnG7uO37ZI+uoK81HSz3VoR8h/OE3xoZSW1TagV5V8kB?= =?iso-8859-1?q?KkBrEtO0ade2Ng4fNpdPT01PsM4udLh220zlOt/XFNkLSMr3OElr7BDiH3Kl?= =?iso-8859-1?q?tcewO68GUO5uSOFABgOpLVjjp27E32Rws47IuyZzbssWwrOI48mhzbwCIv4K?= =?iso-8859-1?q?N1rb11OJpkCBQ56GdWNJ5RKxPFLwvg/hni8Qia2cj3miDGpzb61z1RJL/zmK?= =?iso-8859-1?q?penlmpd/xLjZ2cIoeC7/vw8tX9DU23P8xq3dY4xU75DvDDnzdfFtNRrC70Mw?= =?iso-8859-1?q?mb7TdjIQAgui1s94NYH4iFjc5zl8J9EL5S3Ozy+EkUjW13m9h99JNwZOmVMG?= =?iso-8859-1?q?hRxSVlGn6PskqonXC/C1ZthlCigC41z7ivgr+Pz44k5NrZyqwlX0amMt5fhH?= =?iso-8859-1?q?hqrWHr7UHZ5uN1D0lsMfU6p612E5MVMRvdvd12xBlSKoJD9AUQVeNXvC43KM?= =?iso-8859-1?q?Enk9kWwZc9y+cBhDs6SQ95IcC+7ziSUJALurIY9KYJK8NDiksUX81q1ZMbpz?= =?iso-8859-1?q?zlKxH77h5git8O/zS5MVeDF0F0PyKl2st/QyaWZHaIUgkwmq6XftiG6gAXG/?= =?iso-8859-1?q?capi7O2xYVqJ2syzcRrOErXnlBH1wBPqnBAUTZS6bRnToM5IKBLD06YIvK3C?= =?iso-8859-1?q?+ViVI3ANP1eWVt0x+6dTb3g5VXHA8p10ishT3itVFakgr0BbXIWtE7gAbWZk?= =?iso-8859-1?q?R3IDVbrrVIy3Ql9eQYgUF0srpiaVp49NCuQkHiA=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: 05e181ed-669e-4cd3-a65f-08dac0de842e X-MS-Exchange-CrossTenant-originalarrivaltime: 07 Nov 2022 16:38:35.8956 (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: 8UVnBAMwv0RDrUezVpknCG/rblFmY6sM9f9wO9UIPE1GmuPmFGywm0Z04f21dEyj4hwLpftHKVPYUcSkuPhOSA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR10MB5742 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.219,Aquarius:18.0.895,Hydra:6.0.545,FMLib:17.11.122.1 definitions=2022-11-07_08,2022-11-07_02,2022-06-22_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 mlxlogscore=999 spamscore=0 bulkscore=0 adultscore=0 mlxscore=0 suspectscore=0 malwarescore=0 phishscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2210170000 definitions=main-2211070133 X-Proofpoint-GUID: ovS_Wd5yxQt_0ZfUv4Z3u1zPiXRCY7hJ X-Proofpoint-ORIG-GUID: ovS_Wd5yxQt_0ZfUv4Z3u1zPiXRCY7hJ ARC-Authentication-Results: i=2; imf23.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2022-7-12 header.b="gwFh6/os"; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=UUx4YTmn; spf=pass (imf23.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=pass ("microsoft.com:s=arcselector9901:i=1") ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1667839123; a=rsa-sha256; cv=pass; b=pCa2aYKR3R6gA8cfk5TzsAZ/NaZWM7LT4gTTyhobdc+kGozlTAFgt1+1pvp+PuVI260aWi hJPVGidvnN+BTxcdMNR66wKz62NziyJwBZWjnwQRvvnGOFolUwdz1mTdyv/zNCJeFHdkmB XTZMt2mLMUdiivEdc2fiKT80sQiNq84= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1667839123; 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=YA/ks+zj7IDZkHin8TFO8rZQSYwqvusTQU7+2+RdHzw=; b=OT8FCchaJaelDXJJSWZqOeFsZGZfXSzqS8VhbytGol/O2GESUF1JmipUWSoSn0DGbI2c+G 9K+OvCngCGG4l9gyCVhwta44fwhjsvHUoSlnc3bwUDa5PKqhkIXkIMRfuoHhmNXMzzjKwM u3Ldz3WXaCaeJOcSp51gTyBv1lExN+s= X-Rspamd-Server: rspam04 X-Rspamd-Queue-Id: ACC2514000D Authentication-Results: imf23.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2022-7-12 header.b="gwFh6/os"; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=UUx4YTmn; spf=pass (imf23.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=pass ("microsoft.com:s=arcselector9901:i=1") X-Stat-Signature: 8q9pq7mh4fnkp3qg919645dcnwxgyzt1 X-Rspam-User: X-HE-Tag: 1667839123-662052 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: It is possible to confuse the depth tracking in the maple state by searching the same node for values. Fix the depth tracking by moving where the depth is incremented closer to where the node changes level. Also change the initial depth setting when using the root node. Signed-off-by: Liam R. Howlett --- lib/maple_tree.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lib/maple_tree.c b/lib/maple_tree.c index 4c79c36868d8..acc7123347c7 100644 --- a/lib/maple_tree.c +++ b/lib/maple_tree.c @@ -1356,6 +1356,7 @@ static inline struct maple_enode *mas_start(struct ma_state *mas) root = mas_root(mas); /* Tree with nodes */ if (likely(xa_is_node(root))) { + mas->depth = 1; mas->node = mte_safe_root(root); return NULL; } @@ -3732,7 +3733,6 @@ static bool mas_is_span_wr(struct ma_wr_state *wr_mas) static inline void mas_wr_walk_descend(struct ma_wr_state *wr_mas) { - wr_mas->mas->depth++; wr_mas->type = mte_node_type(wr_mas->mas->node); mas_wr_node_walk(wr_mas); wr_mas->slots = ma_slots(wr_mas->node, wr_mas->type); @@ -3744,6 +3744,7 @@ static inline void mas_wr_walk_traverse(struct ma_wr_state *wr_mas) wr_mas->mas->min = wr_mas->r_min; wr_mas->mas->node = wr_mas->content; wr_mas->mas->offset = 0; + wr_mas->mas->depth++; } /* * mas_wr_walk() - Walk the tree for a write.