From patchwork Wed May 11 14:43:14 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: 12846240 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 4EA4BC433EF for ; Wed, 11 May 2022 14:43:22 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id C6DCB6B0073; Wed, 11 May 2022 10:43:20 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id B86D38D0006; Wed, 11 May 2022 10:43:20 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 863296B0075; Wed, 11 May 2022 10:43:20 -0400 (EDT) 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 600036B0074 for ; Wed, 11 May 2022 10:43:20 -0400 (EDT) Received: from smtpin08.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay11.hostedemail.com (Postfix) with ESMTP id 280F881B57 for ; Wed, 11 May 2022 14:43:20 +0000 (UTC) X-FDA: 79453730160.08.31E3F54 Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) by imf01.hostedemail.com (Postfix) with ESMTP id B528F40003 for ; Wed, 11 May 2022 14:43:07 +0000 (UTC) Received: from pps.filterd (m0246632.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.5/8.17.1.5) with ESMTP id 24BD1GjS023549; Wed, 11 May 2022 14:43:19 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : subject : date : message-id : references : in-reply-to : content-type : content-transfer-encoding : mime-version; s=corp-2021-07-09; bh=x4SDKfQeKlXZNynp6uVGH6qSSRFvaXEVpnYmka3Iv8A=; b=JW3yD2NP7MKkE5tuX8hFZ0b0Fcv2Gr3fPQVKo5O5GgaDRMfvfi1hbIGQgVpJF06xJ2yM HPCqQTCoPkEu41fPtegHd8wqdTu0rjNeC7QRp0UldohFlAsj0DV0TpQ2FjeZ/CKrHVsO nrDhoy3hThxJzUhv/rP01Ae0Cy83QQzF+p2M3XO1x5Dw72ddTTTstjTpHv2wOmQT8ELu 5bv6A4hOe3G5X0PNukPbhP3W8E+UB9DI/GxDscqmfXxQYJW3E0mgqgL470dmqa0rYnEM u7ChV++ZKVyFb96WgFRtLIGcaO98YvH65qpPzdSTcZO8xuafXQthI11hnM9hIOOO8nWZ 1w== Received: from iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta01.appoci.oracle.com [130.35.100.223]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3fwgcst3rw-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 11 May 2022 14:43:17 +0000 Received: from pps.filterd (iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com [127.0.0.1]) by iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com (8.16.1.2/8.16.1.2) with SMTP id 24BEg3c4019674; Wed, 11 May 2022 14:43:16 GMT Received: from nam02-dm3-obe.outbound.protection.outlook.com (mail-dm3nam07lp2048.outbound.protection.outlook.com [104.47.56.48]) by iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com with ESMTP id 3fwf7appr8-2 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 11 May 2022 14:43:16 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=ZenYml4bJkecbs2wsBIqnOQGerdBP7amta2Eqn/E6dbQtpYyNdGb9qpXH4ATKBrMp3tQTe6cWs55mBiOtLnOKQjnaKDwLAYTHZGVZR9Bw/U6kiN8KAFZR97FGMwCLmIcu8jELOHkcFFN57nm5q0uNAInJ/TL4qf/xS2mURFsJyyXumW7xjBMpznKPfwwoa7sxI05O/8047gX2gq4ENanmCcv/BDV9jmTRYaO4m49ZhNuIrG6pecEiPIIapYJST3dbzv2uwLTSP1E7Bot+lbmPcBHh2FjwF8PYOOSNdtZOJWJbFgIRfSv+KdwXw6YaDTDBs1rYTUH4KtJE+U9JL0ttA== 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=x4SDKfQeKlXZNynp6uVGH6qSSRFvaXEVpnYmka3Iv8A=; b=hHYwf3gIeJnonzQcveEHRrbsJ4TmXKlyGX5SIJt8BpZ61vh/00R1VAgGb1l0odGO3rI+fdnbvcGF4D1aGPMCWIv5kp+q4/7NVUzLJ03i9RNHvFemj3aR2BNo6ZtJXPRfntrAf1CFNd39JPI5KKxc6GcFd0b2uvbE3HGX//x/TWREiOaJH396AD4S0QKRiExrD0F1iI6u2RdCBzFR8yejmqIYnVTabxVl6sjCDbeMiyymt4/iycq+Vr96T4mfH6sfQ0U3TU6vwasP8cHNck081fllQVXLHDarPZ/VZvsmcYCWtl42wth8itFtFNb9SEuKfhhCbBdDDJCaG0bNXCb+tg== 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=x4SDKfQeKlXZNynp6uVGH6qSSRFvaXEVpnYmka3Iv8A=; b=BQPa8IevwwigC0TbpjmlX2uwJVy6AMO2DrEAn3cIVEPLjqBQ4L4j6Agew6NuvPMfExVvw3dw0ixp8WRREjdbvVYpKN5Cx3LtdBNbIZzPitp/33VvFI39tetF3Csbyu9ze3PPJgCxLV4hg7/RXi+KbYuo2aVSQyQxNtV7jRabM7U= Received: from SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) by BYAPR10MB3351.namprd10.prod.outlook.com (2603:10b6:a03:14d::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5227.21; Wed, 11 May 2022 14:43:15 +0000 Received: from SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::318c:d02:2280:c2c]) by SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::318c:d02:2280:c2c%7]) with mapi id 15.20.5227.023; Wed, 11 May 2022 14:43:14 +0000 From: Liam Howlett To: "maple-tree@lists.infradead.org" , "linux-mm@kvack.org" , "linux-kernel@vger.kernel.org" , Andrew Morton Subject: [PATCH Fix 1/2] maple_tree: Fix expanding null off the end of the data. Thread-Topic: [PATCH Fix 1/2] maple_tree: Fix expanding null off the end of the data. Thread-Index: AQHYZUVxgvd9A2Z4PEqM7YyCmqXtMA== Date: Wed, 11 May 2022 14:43:14 +0000 Message-ID: <20220511144304.1430851-2-Liam.Howlett@oracle.com> References: <20220511144304.1430851-1-Liam.Howlett@oracle.com> In-Reply-To: <20220511144304.1430851-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: a36fa7e7-2c64-4655-8271-08da335c949a x-ms-traffictypediagnostic: BYAPR10MB3351:EE_ x-microsoft-antispam-prvs: x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: 1BTiqTBz1bSDcU1FPzzxTfinFTyzukerHL3Z1x0oavPY5zF1Hy1UTby3Vd2HqurJ5Qx6bw5E1cz+YA0DocDz/ZVxb3RgXzUqyNdfzprI/iPUyfhIt0HmXtwOPn4LlWopDFL/fHsV3PvMPGalFQK51hKe0Os9pr+9Jd0sOMrfpsJbBSkfAh0psjOjSpj7T7f8CcZSCKU1c8RmYozIslh2sOnOFweqX0AkSth7pX6fIl/MaxYuS6zXsG5y3dtiyzJOHQ1km6Kk6DDmiQ5fCyv6GuE9Uw1Vxs9tC3tjtnCwwhXySCFmVWNt1jwjiKz7fsv7Dj0JJUGMH70F5osCgLBuvG4EYQeyzsgD94tcDE7ibPoimSQdxLxruEZnVAAHChFK9TlbsbNmX37nVmUfsu8ZVH2f4AvIzFBz+1thniDblh27udTcvP3ltcz0HQxKwVAGs8D/XNi3U2nUqEJtfR2Pqb/wCs5WJQADzLhWuzp3OFvvVJrK/AAXuu4Pvm0mCuyb2xwZCan0piVnK2NcxzGGY0BlhjmJL5Gm3/qXaaixO0Fmquy1D+SucGlGggsuu4qVb48KtPP20REDsUQMnpfV16qIyFxLjKVRnwVGBpcC1avhqKq+dn1Tv87jGZLV1zOhNn78cxezoTnMmxQlWJw7SL649HR/sw+Irvdj5uI0780aypOV3RNJueTSI4UmE/RpiKkKMhNO2blyZJNtN2asng== 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:(13230001)(366004)(2616005)(1076003)(26005)(122000001)(6506007)(6512007)(38100700002)(86362001)(316002)(186003)(44832011)(5660300002)(38070700005)(6486002)(8936002)(71200400001)(91956017)(36756003)(76116006)(66476007)(66446008)(66556008)(64756008)(2906002)(66946007)(83380400001)(110136005)(508600001)(8676002);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?iso-8859-1?q?nBE1+bTsp3vYmNGbHqTqLDy?= =?iso-8859-1?q?glSlrHeMmQy5zbINl2e2nxd4yFLjrvCFgvOPb+Hp1rnW8lFdGR+LcHaChUiC?= =?iso-8859-1?q?VT10kpO3ymtjLzm2LKh/SdbS6/t87x3KOuNj7xcX4lyAmbV/Bw89tkmblL36?= =?iso-8859-1?q?rGeY4ZrDfoknise2lBTrmYaARzLEwtDUPqqynXV/FLuv855TYF2MucHCpbom?= =?iso-8859-1?q?R4Axip/M57FLHoOe1eh/vNbTdrUeQtoUTSa7CW9ny/UEiwaHzOW5UVzs602X?= =?iso-8859-1?q?vkEkjKLe3PB0ovtMd8/hZG0+rGD2u3dwvXphj81h08DQVnr1KbfafZ1v5Cbp?= =?iso-8859-1?q?VqARwvL3ptGvQIDcg9ehJhlQ1fR3fgS8DKsiTQuz7ykDf+glWCVmv9/7TpNO?= =?iso-8859-1?q?QOAwy1NJcAnWvzDt6ktZPqy6qy/sf+2eGqTY/K4K6hpg1HwxwVkKLXpIqRTS?= =?iso-8859-1?q?/fGloFeSUivP51xwiLa+8ZR30oywkZcmy15uIZ/uu3swDQ0QJQ/KhSQ9BStl?= =?iso-8859-1?q?cfuw7MAacnK3NGZJyt/kk3pWo7C88qSbyHMTwUyJq6+ryuWlwWe9ZSdPJtzA?= =?iso-8859-1?q?SgEtyRMzsCVzv4/fXp7w04oQwgq9vBOPU3iGMfApNLQ4qNZNk7AL6cuooy7M?= =?iso-8859-1?q?LwyH9LAWTMNb4GloRM1KqYhNv0DN3YuuCN1UBxfXUeinIxQ5QJdG7FodmXQA?= =?iso-8859-1?q?ZTuaLFZUVQczzSwdwBlloYGcSi4xwcFBHP+f/Ew5VIpwVKVYVyNMryXOdkG7?= =?iso-8859-1?q?sNGYQuoNhzpIb7klzmtTi77Ht3NTskW5sUrZTr+BEXV/WGQdm2uatOMKXChj?= =?iso-8859-1?q?dSrLGTiyplmcG9dLJsZQ88nSnmaI4kdIECVFARMfFGO4UP1vojcUv5fkKekT?= =?iso-8859-1?q?HJDiKlpnorVozVGKTsoVZRuGEYvY0d8uLt0hbFEkp9HfjeLdkY2l9X6p2Iv0?= =?iso-8859-1?q?jI4pqsOGfVD1jaWF21tnUVBRKmtAGLdE5vYt+Sj6Q+RsVzP4+ZLMdqpJJotr?= =?iso-8859-1?q?qAC/T0HrYiKzbW2AAhYBc/r5yLyKrjkmOAeF5Uv2xWB/d8ZR6hrR49kXxuV3?= =?iso-8859-1?q?yZp938myIfAQMAaAwUMmPn8BAzHi9ZqW0J0kUSF6GdQVOprm8xVcVwxFxiKH?= =?iso-8859-1?q?vQ/WlgRKdptl4bmKL7pRlzbBRUy/9kLtVvg7Uc9THJGc7uKOyxLOfjMR/alP?= =?iso-8859-1?q?06Szq1/oleV1hNghUv1BfBC4X3HAutERS0tn9gQuevtLXRRkN0g5qRbYzEDl?= =?iso-8859-1?q?wCbuuPtTbPE5YczEFfqhYNQanL5ryQB79CbbWfXnYBHLgCV78RMMFeDBv36g?= =?iso-8859-1?q?+3Ju5w4KdGQnG/Rzv4MjyJ+MPibGpQfYgEQKdpVrDOyXzOSa2cDPOaulzgi2?= =?iso-8859-1?q?f05ib/il+fsOt33nCaerysqAeLan8v4n0PjoID8X2j2LgCvR0D9ODzL8XDl6?= =?iso-8859-1?q?+j+CISMDSZ3BP23RW5s849BTQ6p06Vj5eMKaMube73+p2AHhXHfgXe2E3K22?= =?iso-8859-1?q?OtZN4yYvDZ+YDMJbSOhI5MWC7i6wi0xzKjPoV1UOtCAav235MzOOhyOwUfoR?= =?iso-8859-1?q?t8+VFFlbTeR6Pir8q9dAfSSAx7e0XWA2TU2Xwf454wWDo83UGh9W8KzH9TC8?= =?iso-8859-1?q?eQtcS2l4HN4ewe0LNYX1fhuP029ghucuZPtarVaMB3+thL7Y9Yu9kSFtFROO?= =?iso-8859-1?q?WZnGB4xqi6wlFJ8ClUuvVhXwShWMtru67eA3dUH11d2A497yzvCqCeZ6Lu+7?= =?iso-8859-1?q?YxPRdorfJH2yuIAV0IELSf2fVPIg6aEQjFk+XsuaAegzViyoVoZCdbUSp9KJ?= =?iso-8859-1?q?KxBak/1M=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: a36fa7e7-2c64-4655-8271-08da335c949a X-MS-Exchange-CrossTenant-originalarrivaltime: 11 May 2022 14:43:14.7008 (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: 2+oHnlmi8Q0Y2uFAoRLWGKLy5S0gs18optNiDBk4/Vt9nkDJU/udaSHYYYwBH7Wswz9n74uh1ruNZDbBHqIgiA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BYAPR10MB3351 X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:6.0.486,18.0.858 definitions=2022-05-11_07:2022-05-11,2022-05-11 signatures=0 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 malwarescore=0 mlxlogscore=999 spamscore=0 bulkscore=0 adultscore=0 suspectscore=0 mlxscore=0 phishscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2202240000 definitions=main-2205110069 X-Proofpoint-GUID: kVpkPExrkFkwmACgfLhYrH-4Zxa024Z6 X-Proofpoint-ORIG-GUID: kVpkPExrkFkwmACgfLhYrH-4Zxa024Z6 X-Stat-Signature: yzi4bmpi3q1ptj134sjeeowxfux1aw99 Authentication-Results: imf01.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2021-07-09 header.b=JW3yD2NP; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=BQPa8Iev; spf=none (imf01.hostedemail.com: domain of liam.howlett@oracle.com has no SPF policy when checking 205.220.177.32) smtp.mailfrom=liam.howlett@oracle.com; dmarc=pass (policy=none) header.from=oracle.com X-Rspam-User: X-Rspamd-Server: rspam01 X-Rspamd-Queue-Id: B528F40003 X-HE-Tag: 1652280187-130384 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 expanding a write of null to another null, the metadata for the end of the node may be off by one. Fix this issue by setting the write end pivot (wr_mas->end_piv) in mas_wr_extend_null(). Also use the saved value for the end pivot during node stores instead of looking up the same entry again. There is also unnecessary code in mas_wr_extend_null() that can be dropped. Signed-off-by: Liam R. Howlett --- lib/maple_tree.c | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/lib/maple_tree.c b/lib/maple_tree.c index c7b7a10b15d5..967631055210 100644 --- a/lib/maple_tree.c +++ b/lib/maple_tree.c @@ -3981,8 +3981,7 @@ static inline bool mas_wr_node_store(struct ma_wr_state *wr_mas) new_end++; } else { - if (mas_safe_pivot(mas, wr_mas->pivots, wr_mas->offset_end, - wr_mas->type) == mas->last) + if (wr_mas->end_piv == mas->last) wr_mas->offset_end++; new_end -= wr_mas->offset_end - offset - 1; @@ -4146,10 +4145,7 @@ static inline void mas_wr_extend_null(struct ma_wr_state *wr_mas) mas->last = mas->max; else mas->last = wr_mas->pivots[wr_mas->offset_end]; - } else if ((mas->last > wr_mas->end_piv) && - !wr_mas->slots[wr_mas->offset_end]) { - mas->last = wr_mas->end_piv; - wr_mas->offset_end++; + wr_mas->end_piv = mas->last; } if (!wr_mas->content) {