From patchwork Thu Oct 24 13:22:13 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Yu Kuai X-Patchwork-Id: 13849008 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 56E92CE8E70 for ; Thu, 24 Oct 2024 13:25:17 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id DFB9F6B0096; Thu, 24 Oct 2024 09:25:16 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id D697C6B009C; Thu, 24 Oct 2024 09:25:16 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id BB1166B0099; Thu, 24 Oct 2024 09:25:16 -0400 (EDT) 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 9BE0A6B0096 for ; Thu, 24 Oct 2024 09:25:16 -0400 (EDT) Received: from smtpin19.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay02.hostedemail.com (Postfix) with ESMTP id 99EE1121205 for ; Thu, 24 Oct 2024 13:24:59 +0000 (UTC) X-FDA: 82708566234.19.3AA81EC Received: from dggsgout11.his.huawei.com (dggsgout11.his.huawei.com [45.249.212.51]) by imf25.hostedemail.com (Postfix) with ESMTP id E658AA001B for ; Thu, 24 Oct 2024 13:24:58 +0000 (UTC) Authentication-Results: imf25.hostedemail.com; dkim=none; dmarc=none; spf=pass (imf25.hostedemail.com: domain of yukuai1@huaweicloud.com designates 45.249.212.51 as permitted sender) smtp.mailfrom=yukuai1@huaweicloud.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1729776273; a=rsa-sha256; cv=none; b=BGqwafpFr6EfnsZRTNydZsadiheO4pI0/UiFP8VcaVJIYN43QOifJZZEhrKeH81FojqNgc wNGDP55213KLPkltHnj4yzZdCLLFxwHomtTIEG+iZYbqICkgHVgfSJRWAR2fcBsWe117Qq wgJxskgIekKc99Zry0Zokg8/Dj4ywfc= ARC-Authentication-Results: i=1; imf25.hostedemail.com; dkim=none; dmarc=none; spf=pass (imf25.hostedemail.com: domain of yukuai1@huaweicloud.com designates 45.249.212.51 as permitted sender) smtp.mailfrom=yukuai1@huaweicloud.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1729776273; 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-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=n9qCVZJid9de1OD67eg8Bw8M1wQPUGIZ16HYFJJHA/A=; b=bOQfIuK9BR6TApD64sexDYhfsFRo1PS+FvSPXpFF+jNNsqEC0qgoHtfQXyMAkMt2K5tBni 2Nay1WlzNFQFo0VlbVPCN3QDDIMZjec/HZ6PxX7JH5pa6UI3JPkPGJFz9wutjfZPogDres Et5Thasmikdq0MYNxchVSyltO2HI7tg= Received: from mail.maildlp.com (unknown [172.19.163.235]) by dggsgout11.his.huawei.com (SkyGuard) with ESMTP id 4XZ68d46Lgz4f3nb0 for ; Thu, 24 Oct 2024 21:24:49 +0800 (CST) Received: from mail02.huawei.com (unknown [10.116.40.128]) by mail.maildlp.com (Postfix) with ESMTP id D38881A0568 for ; Thu, 24 Oct 2024 21:25:07 +0800 (CST) Received: from huaweicloud.com (unknown [10.175.104.67]) by APP4 (Coremail) with SMTP id gCh0CgD3LMmxShpnmfz6Ew--.42902S4; Thu, 24 Oct 2024 21:25:07 +0800 (CST) From: Yu Kuai To: stable@vger.kernel.org, gregkh@linuxfoundation.org, harry.wentland@amd.com, sunpeng.li@amd.com, Rodrigo.Siqueira@amd.com, alexander.deucher@amd.com, christian.koenig@amd.com, Xinhui.Pan@amd.com, airlied@gmail.com, daniel@ffwll.ch, viro@zeniv.linux.org.uk, brauner@kernel.org, Liam.Howlett@oracle.com, akpm@linux-foundation.org, hughd@google.com, willy@infradead.org, sashal@kernel.org, srinivasan.shanmugam@amd.com, chiahsuan.chung@amd.com, mingo@kernel.org, mgorman@techsingularity.net, yukuai3@huawei.com, chengming.zhou@linux.dev, zhangpeng.00@bytedance.com, chuck.lever@oracle.com Cc: amd-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, linux-fsdevel@vger.kernel.org, maple-tree@lists.infradead.org, linux-mm@kvack.org, yukuai1@huaweicloud.com, yi.zhang@huawei.com, yangerkun@huawei.com Subject: [PATCH 6.6 16/28] Revert "maple_tree: correct tree corruption on spanning store" Date: Thu, 24 Oct 2024 21:22:13 +0800 Message-Id: <20241024132225.2271667-1-yukuai1@huaweicloud.com> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20241024132009.2267260-1-yukuai1@huaweicloud.com> References: <20241024132009.2267260-1-yukuai1@huaweicloud.com> MIME-Version: 1.0 X-CM-TRANSID: gCh0CgD3LMmxShpnmfz6Ew--.42902S4 X-Coremail-Antispam: 1UD129KBjvJXoW7tF1fZF4UAw4fCFyfCFyfWFg_yoW8ury5pa yDCFW2yr1jyF18GFWvk3y0vas8J3WDtF4YvFW5KanYvFyDKr9IganYvw1IvFW5Z3yxCr1S yFWjvr4DG3ZayFDanT9S1TB71UUUUU7qnTZGkaVYY2UrUUUUjbIjqfuFe4nvWSU5nxnvy2 9KBjDU0xBIdaVrnRJUUU9F14x267AKxVWrJVCq3wAFc2x0x2IEx4CE42xK8VAvwI8IcIk0 rVWrJVCq3wAFIxvE14AKwVWUJVWUGwA2ocxC64kIII0Yj41l84x0c7CEw4AK67xGY2AK02 1l84ACjcxK6xIIjxv20xvE14v26F1j6w1UM28EF7xvwVC0I7IYx2IY6xkF7I0E14v26F4U JVW0owA2z4x0Y4vEx4A2jsIE14v26rxl6s0DM28EF7xvwVC2z280aVCY1x0267AKxVW0oV Cq3wAS0I0E0xvYzxvE52x082IY62kv0487Mc02F40EFcxC0VAKzVAqx4xG6I80ewAv7VC0 I7IYx2IY67AKxVWUXVWUAwAv7VC2z280aVAFwI0_Jr0_Gr1lOx8S6xCaFVCjc4AY6r1j6r 4UM4x0Y48IcxkI7VAKI48JM4x0x7Aq67IIx4CEVc8vx2IErcIFxwACI402YVCY1x02628v n2kIc2xKxwCY1x0262kKe7AKxVWrXVW3AwCF04k20xvY0x0EwIxGrwCFx2IqxVCFs4IE7x kEbVWUJVW8JwC20s026c02F40E14v26r1j6r18MI8I3I0E7480Y4vE14v26r106r1rMI8E 67AF67kF1VAFwI0_Wrv_Gr1UMIIYrxkI7VAKI48JMIIF0xvE2Ix0cI8IcVAFwI0_Xr0_Ar 1lIxAIcVC0I7IYx2IY6xkF7I0E14v26F4UJVW0owCI42IY6xAIw20EY4v20xvaj40_Jr0_ JF4lIxAIcVC2z280aVAFwI0_Gr0_Cr1lIxAIcVC2z280aVCY1x0267AKxVWxJr0_GcJvcS sGvfC2KfnxnUUI43ZEXa7sR_v38UUUUUU== X-CM-SenderInfo: 51xn3trlr6x35dzhxuhorxvhhfrp/ X-Rspam-User: X-Stat-Signature: hbtfk71fcwaqyzaj1zb14aeyer1nektj X-Rspamd-Queue-Id: E658AA001B X-Rspamd-Server: rspam02 X-HE-Tag: 1729776298-676003 X-HE-Meta: U2FsdGVkX1/tS4n75ItOrBEg8hcmUC3Kyz/koBIV7bmZRX/LCYs/ANiip9p5GHkjDCEXr+F/bIQ51o3EOKDfGdjbJcSAsFD6oJf3Wyvvtx0lWtfjhtI2JRO2aaNFte4m70Rf4x1wRGvwprCOjHxmE0UWJMcNr6cppcVDjY0jLmFxfBgDpp1ajfiElqO3VJGk+HFhmk/zIufkJ1olFWGl98X8B/uVKw4iZKuBV2y7Vkkgmd0zuJuw0Thj+iYHa9Zh2FxSRwT4LIPRoOLFClqQhaTC3H9a1BlO+rrLRLUVFq6zWeNFWjsTHS9bNveiQ58OcrzuYuLeFiuhafYIA8wFmkyAug2ZHJuggCKLG24ffzaXtaPKLWFYOnELS2WYeT6XOopkai1h4Bpv8cczZcFTwNOwXzLn3qf1FndG35UXFUqksOnrbZzGTZdeP4AjTEkrluCXVJpGYwbaQoIXa/Wkqj4t3lwAYch6LUeXtDQOVBkNJq/g26I53LA5SrGVs1K8FUcmHsTgnl5lnDI2IeEtfePMBZcEPcgD/erMbFx4f/YYAsW4tL7458Dk5wcN2I2dqv0x89Mwp+Jj1FqgXII+HeOoPawjzEBiAHri0yDnYVIdncFVDdtY4YXBXnuIwZM6+xR7RY0vvYTUV5do0khNNmCTTSWOwIX2ZfhbGb6JnjMeUnuFdIHOKnuNDP2GPCkOTOdyXXXZv27GYBTomYWniOccOE9sf2ShflUuNWgEOAxxS1/EvPEIvyozlpPXLnpczMvyDO+Iwlne7xDwNNh4ehYNFOfrc9b0iIZaI3QF2DJ2HOAautskg0+leS2lWALFfkExHhRFDjDVvgvfTL++tVrsi5UtudEpRlxInXJVOjhCBB40j1zx0wMKw+IUDnq42EVjPLix9g5jA8tBMW0qLPQEZi7lltEa3g9WJUGVlzwTWTbatj/cFQ6HNGKPe+3ZTsMEj9fFy3ibO6zu2SR FhusWFKk JRoEKwODHZyjLFJB4jYfLbgFyFwnfzNmtDH9mmiOvGcu4IA5DoX6AsQE2zUkQTUmLmGdq5jtpfONkmTYdAysr990cG7rIa2C6d4ls0PLQIV7wbygCEgFbvoCPiy4PhVi48/dkREbD6KUs1YTHryWeXThmbii17/nSB/jiUluZoc9LDIQzp7FFm4reaQ== 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: List-Subscribe: List-Unsubscribe: From: Yu Kuai This reverts commit 677f1df179cb68c12ddf7707ec325eb50e99c7d9. Above commit contain manual changes and will cause conflicts for following patches. The commit be backported from mainline later, without conflicts. Signed-off-by: Yu Kuai --- lib/maple_tree.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/lib/maple_tree.c b/lib/maple_tree.c index f73e3772c883..291412b91047 100644 --- a/lib/maple_tree.c +++ b/lib/maple_tree.c @@ -2236,8 +2236,6 @@ static inline void mas_node_or_none(struct ma_state *mas, /* * mas_wr_node_walk() - Find the correct offset for the index in the @mas. - * If @mas->index cannot be found within the containing - * node, we traverse to the last entry in the node. * @wr_mas: The maple write state * * Uses mas_slot_locked() and does not need to worry about dead nodes. @@ -3657,7 +3655,7 @@ static bool mas_wr_walk(struct ma_wr_state *wr_mas) return true; } -static void mas_wr_walk_index(struct ma_wr_state *wr_mas) +static bool mas_wr_walk_index(struct ma_wr_state *wr_mas) { struct ma_state *mas = wr_mas->mas; @@ -3666,9 +3664,11 @@ static void mas_wr_walk_index(struct ma_wr_state *wr_mas) wr_mas->content = mas_slot_locked(mas, wr_mas->slots, mas->offset); if (ma_is_leaf(wr_mas->type)) - return; + return true; mas_wr_walk_traverse(wr_mas); + } + return true; } /* * mas_extend_spanning_null() - Extend a store of a %NULL to include surrounding %NULLs. @@ -3905,8 +3905,8 @@ static inline int mas_wr_spanning_store(struct ma_wr_state *wr_mas) memset(&b_node, 0, sizeof(struct maple_big_node)); /* Copy l_mas and store the value in b_node. */ mas_store_b_node(&l_wr_mas, &b_node, l_wr_mas.node_end); - /* Copy r_mas into b_node if there is anything to copy. */ - if (r_mas.max > r_mas.last) + /* Copy r_mas into b_node. */ + if (r_mas.offset <= r_wr_mas.node_end) mas_mab_cp(&r_mas, r_mas.offset, r_wr_mas.node_end, &b_node, b_node.b_end + 1); else