From mboxrd@z Thu Jan 1 00:00:00 1970 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 5DB91C282D3 for ; Wed, 5 Mar 2025 00:48:29 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 3E5146B0083; Tue, 4 Mar 2025 19:48:28 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 395CE6B0085; Tue, 4 Mar 2025 19:48:28 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 25DB1280001; Tue, 4 Mar 2025 19:48:28 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0014.hostedemail.com [216.40.44.14]) by kanga.kvack.org (Postfix) with ESMTP id 0AD656B0083 for ; Tue, 4 Mar 2025 19:48:28 -0500 (EST) Received: from smtpin06.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay10.hostedemail.com (Postfix) with ESMTP id A530CC07A2 for ; Wed, 5 Mar 2025 00:48:27 +0000 (UTC) X-FDA: 83185661454.06.2AFB5B0 Received: from mail-ej1-f46.google.com (mail-ej1-f46.google.com [209.85.218.46]) by imf29.hostedemail.com (Postfix) with ESMTP id C4DA812000F for ; Wed, 5 Mar 2025 00:48:25 +0000 (UTC) Authentication-Results: imf29.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=mo1oa52l; spf=pass (imf29.hostedemail.com: domain of richard.weiyang@gmail.com designates 209.85.218.46 as permitted sender) smtp.mailfrom=richard.weiyang@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1741135705; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:content-type: content-transfer-encoding:in-reply-to:in-reply-to: references:references:dkim-signature; bh=/e/GdwvLDoquOr0Afl2EN0vAREZXM36EPXG5G+ON0Dg=; b=talW+w/U/7zFlbrCiG+5B8L3c6Genc1QP4m33uv7Y4+L7Fy2NAqJ776vMhdm41+qLdUoq+ BJDEpbDIVfWwlRg5vMH+zCiBC+Q2Hz8y6EPsueE43AEKrgRylCbLjDHskjWheJ0achbuc3 ud7q5Ez3dlDeWgS5Z2A0krScIT+G8qA= ARC-Authentication-Results: i=1; imf29.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=mo1oa52l; spf=pass (imf29.hostedemail.com: domain of richard.weiyang@gmail.com designates 209.85.218.46 as permitted sender) smtp.mailfrom=richard.weiyang@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1741135705; a=rsa-sha256; cv=none; b=WCw8BgsnD4s4hS3l++q7Za7l+lAsteBzU2MRdfjKz66ILe1hDFWM99wXgksjeuAxP/5eOK 0XpNlM0Lv5fO0Ng3LIjm9Htv6cyG+6Z5/pIB7UfolDA83vdUwosEJm6oYuJzyQdnjyiA8a 9A/ZcieZhbUD+lEBfmpDhG7QOicUl8s= Received: by mail-ej1-f46.google.com with SMTP id a640c23a62f3a-ab78e6edb99so867609066b.2 for ; Tue, 04 Mar 2025 16:48:25 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1741135704; x=1741740504; darn=kvack.org; h=references:in-reply-to:message-id:date:subject:cc:to:from:from:to :cc:subject:date:message-id:reply-to; bh=/e/GdwvLDoquOr0Afl2EN0vAREZXM36EPXG5G+ON0Dg=; b=mo1oa52l5h9J1lyY1PE+/v97uKfiGY1klvx3Y9nN9FhjjHW6KB40OybizhjFPxArWV cDdudsslfcBIUvR4JD4/5o60L6E8UO996yULvnv8eT/WCGvjThAZ20CmfE3xPYaK45q6 /hJz/RJ26rP29Ctybk0OX37ygiPG22tgjtWkUlmOeS0sjM3dodMQA30972ptk1qT673h eOSTT/W6IR4uiYgvznGQebySsyHFFHhUKPNcHzgmE/3e4HAgTCjfclobbBkcBSfahSYe ZcJBY4oR6jYY36y+GmZ4CWMUoQhi4ylTKDW1NLg4VxznNWci3ftnYbSdxXq+VzIIdgEd Qx/w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1741135704; x=1741740504; h=references:in-reply-to:message-id:date:subject:cc:to:from :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=/e/GdwvLDoquOr0Afl2EN0vAREZXM36EPXG5G+ON0Dg=; b=vOs+oodo6T3RuqgtlXg5y5i9Dr7OywtoL1K9VSZSkmwBK98PPzF+62K/K+IQKzJjGV EhoPwzYGHi8D1OmgfbHdqQmQQhKRuYp5ZOQyPoNJBP1x6Ie0owE/W9z4ybh5HBoj2r/y Mx+gmqDMjJoCaEsyTsz5pVyYTsUVLMJu0AnbI37hhZcFOvq2LynlqsDFlIMx2imWfW6e wJJkbWd/ZLhXCpwNmKWRVQz5hua0exIa1OjVPB0N6rtdz+14rhs5RwZkyxKxdc1S74Xb U8agk4jvhkh2vLamjFQ9AbdbkDMqTuwyXkVLomCPO5VpisbKpuflw7fQ/Uf0h4fBWwWE byVQ== X-Forwarded-Encrypted: i=1; AJvYcCXmmHJ9VP8HA9nii6UQZ9Yo3cvR5LX07EX/cJjTzu5Zx6XAEIUG5yas8ytLpeZuI9VgjDLkm6qE1g==@kvack.org X-Gm-Message-State: AOJu0YzySLGkiZIStpd2naBsEPED6IlpwY0PvBKULUFBQlreT5gXywCO lCDq3oycGBFCxZQY9JoncmSHZ81wVfTGDI8pcWj+2tb0WStVZYVl X-Gm-Gg: ASbGncvsNMpa9LAZpHBKKyrwy9tS8KPRrSfQ4mYGqrKx/FznSTCQauwJWvUi98PL0lS +VclqSvsmXFzkKFFrKB7r3e0y8S4EvpwpxXWu+q9q7das3rPzE+Y/UGaBBvU0PIIuWih0VviDpa O5riMlOnLcEwrEuGGIePy4ugji/0gqyY34Izy9ybRWcSeNRClUCRahMY8cCY+cQ/vn1xDuP58dq frJIIfQGqqNxocL5fh0sA56psXV7BEOr2ttAVzbzGSivu1niM2VZMDjLWJ2afja+HGqPyx29YAb Q4vThLmJaPVHWxY5PZ0EmB1NxsRXm+1fWi36zRKvBb2z X-Google-Smtp-Source: AGHT+IG6gadwKxOh36fq8DrtlBaSp/XaCd1kVvwHXSDhfOFhNJpvKa7fBPZkSi7Lr+IS/nXzw7HHUQ== X-Received: by 2002:a17:906:f586:b0:ac1:ecb5:7212 with SMTP id a640c23a62f3a-ac20d94d4a0mr102109266b.31.1741135704174; Tue, 04 Mar 2025 16:48:24 -0800 (PST) Received: from localhost ([185.92.221.13]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-abf0c6ed7f1sm1031397466b.120.2025.03.04.16.48.23 (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Tue, 04 Mar 2025 16:48:23 -0800 (PST) From: Wei Yang To: akpm@linux-foundation.org, Liam.Howlett@oracle.com Cc: maple-tree@lists.infradead.org, linux-mm@kvack.org, Wei Yang , "Liam R . Howlett" , stable@vger.kernel.org Subject: [Patch v2 1/3] maple_tree: Fix mt_destroy_walk() on root leaf node Date: Wed, 5 Mar 2025 00:46:45 +0000 Message-Id: <20250305004647.21470-2-richard.weiyang@gmail.com> X-Mailer: git-send-email 2.11.0 In-Reply-To: <20250305004647.21470-1-richard.weiyang@gmail.com> References: <20250305004647.21470-1-richard.weiyang@gmail.com> X-Rspam-User: X-Rspamd-Server: rspam10 X-Rspamd-Queue-Id: C4DA812000F X-Stat-Signature: musj4fm9fmmbpph1zwn8ppmn18eekj6t X-HE-Tag: 1741135705-339743 X-HE-Meta: U2FsdGVkX1+7htI/JspXloSzEgnuAfBhtkMptCoKanhVv8tFJIOp3kJh59hcLUjNvjS593YI4UVqg20yQ3I0JNhSmSg4KYusexi7loCF+m7vZ4Jo6IXjacVudZh5KQ4heOn1g9RkqVQ0FdeYBsbi3WSwbFLF1GB1tf+Xhu+3OJIjxzuZvTmAvXNllPE8Yd76gkk2+KvdNgxEN95KVwJx2w2UU/id/JffejP1BCF6l9yQlTgAuFz8gSH9R0jorgJnYAKR4c6utWRdpCrEVKzPYp0EINR6Akep1LHuvqjR7IXorxFinErtk42/2PpOJh3tXGKrVdekNL4eHSWklPAOi158US7G+ThXWpLtraqZz5f6XYhAegHyWANuhIuMYXh0h00b8Ti7FCpDCLWqX087ftfelFO4rFSUqBNopiGn/4XY45/tjF39V1e2AxwDhdqwrgKysvZGdtpgSoxxijOKPr1dytPnd2uPqENNgnTCCQ9Mpbc2Z8Vr41oDwSAm74r365zoSuL5EsKhHJB/cIE2BFwaoCxaNs5TOhZzdGUjvdn5KrZwt7zrqczWncZ2ni+8pYqatmsbm6l/gbLRlipyGLze9LnbyUgWVI+O7ZQOO9r7gumb9fjfFi5EbXt69PMBkbnlyCqRoKmUpwayA+uWKaehnHUk7DI9Gq3tRYxegoEQghaK2OMxBppXZb28hYK18VTg6tGJUWJeXVBMGNIBBitcroAGv+x2AwPOXDdpRE5t7JT7TycPVIrV5zr5W9+cf0IoprTOW79nULILcIlGx9BO1Zn+cIVU9jpf/v2tgKmirspolYH39gdX3ZYOvm61IgvPkzhMQSAbDZCMmmPNd9d2vUtEGeKsWkCzWi/u9fXvNXwMDrv+LqJR+pXHZhVYnlAx7RS0/l7FFm2/ZhU0g5XkCegLnNY1MF2fYoH78QUzR65VVU/vjzUuPk3nEhXRbXjSujVBIMl7PNMhgeM uEx1Bv9w z6jwXqdJeouvA349Nzp1BlJiHLzB9heLbj2VSkaYH9eOfPJHBvxiadDYLGqMDbG/OwOgfnQf5UPUtueCy3NnQzRUwk7xxb4/7Z/VcDseKa/ZAtwfwyhVAbnC2EZ3f0NMzKNw4A/DWymSFVF4ilUVQ9C9fjrxqVQgI4FAyjk9nkMwexpSraoKFg7aZTUvaA8ScAUAXFWpcgRs0LP4cAr2X6nGE42ThdBs8Tr5hsqgnD4TBY7fwL4UWNympDYkbO0B0yNwPum8caFsXrO96eN1Qk7aFlx/FgjtPzItmYiJRjtQ8Uk0yi4awyEScLOjzwT1uD4xpB9KPd6wU+MjrfYaXwEh91UYpA78jk0QBjHkARvZf+dIuklMmYGTVkKS4HL+/5aTAYeazCsQxO0dXWsa32YWDLVj6dZMW+Uw7EA+1tG6QNL26C0HTw2eZ5j1pmQuzR3YM5ds2tA6o7ULCjloABZ0vWpRnJBkaC/skBjqZ7X4T9fXp+FkEpVMInxxqFw9tcBlSvaTFN5RzTfa/XYTGY/xOBja/WOv2vNFfegwJLJFuq4dftjg2hAiD/UFkhp3IeGkkXGm7sdaGnt8= X-Bogosity: Ham, tests=bogofilter, spamicity=0.000003, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: On destroy, we should set each node dead. But current code miss this when the maple tree has only the root node. The reason is mt_destroy_walk() leverage mte_destroy_descend() to set node dead, but this is skipped since the only root node is a leaf. Fixes this by setting the node dead if it is a leaf. Fixes: 54a611b60590 ("Maple Tree: add new data structure") Signed-off-by: Wei Yang CC: Liam R. Howlett Cc: --- v2: * move the operation into mt_destroy_walk() * adjust the title accordingly --- lib/maple_tree.c | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/maple_tree.c b/lib/maple_tree.c index 4bd5a5be1440..0696e8d1c4e9 100644 --- a/lib/maple_tree.c +++ b/lib/maple_tree.c @@ -5284,6 +5284,7 @@ static void mt_destroy_walk(struct maple_enode *enode, struct maple_tree *mt, struct maple_enode *start; if (mte_is_leaf(enode)) { + mte_set_node_dead(enode); node->type = mte_node_type(enode); goto free_leaf; } -- 2.34.1