From patchwork Sat Feb 8 01:18:50 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Wei Yang X-Patchwork-Id: 13966201 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 64C98C0219B for ; Sat, 8 Feb 2025 01:26:08 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id D6F446B0095; Fri, 7 Feb 2025 20:26:07 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id CF7D36B0096; Fri, 7 Feb 2025 20:26:07 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id BC0706B0098; Fri, 7 Feb 2025 20:26:07 -0500 (EST) 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 949726B0095 for ; Fri, 7 Feb 2025 20:26:07 -0500 (EST) Received: from smtpin14.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay05.hostedemail.com (Postfix) with ESMTP id 388424C696 for ; Sat, 8 Feb 2025 01:26:07 +0000 (UTC) X-FDA: 83095036374.14.DE12219 Received: from mail-ed1-f44.google.com (mail-ed1-f44.google.com [209.85.208.44]) by imf04.hostedemail.com (Postfix) with ESMTP id 704874000A for ; Sat, 8 Feb 2025 01:26:05 +0000 (UTC) Authentication-Results: imf04.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=mCDX8jOx; spf=pass (imf04.hostedemail.com: domain of richard.weiyang@gmail.com designates 209.85.208.44 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=1738977965; 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=fLDMeSZyah2fkrjijPxL4OtrUZg2XamYMH3/3OG/eCg=; b=wr4UlfLUmu1eJ2+VJuYuiMoZJVl4hmcy/35sLvfrb61WX9CY1Y9Cy65msQNz7m0Zrxg1hL ukp9T1ed63ZgPqjSkq2dRUkKX1l9dw713EkfK44fCg3KNB+KhrPh43+r+vnY7Fn+X0XOKC Uq+lXOI/JmAvfxdoHZfgynyRgn1hdCY= ARC-Authentication-Results: i=1; imf04.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=mCDX8jOx; spf=pass (imf04.hostedemail.com: domain of richard.weiyang@gmail.com designates 209.85.208.44 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=1738977965; a=rsa-sha256; cv=none; b=iGziN1/8tGyOjnSyWYhTNR92fUN4kThsaCOsfhw0xRMEK0ELFAw9nuUy/85cNDKCl55EDL emMm7uOmkWDQolJa6M6sgWC8s4jqw8+fT/zu6GQCURrXF/4PdPhasNXwNzyxjSib9MxPR+ NdgRh4KTMnIVI/2x4SO1TDL7bPrxJ+0= Received: by mail-ed1-f44.google.com with SMTP id 4fb4d7f45d1cf-5dcedee4f7bso4747737a12.0 for ; Fri, 07 Feb 2025 17:26:05 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1738977964; x=1739582764; 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=fLDMeSZyah2fkrjijPxL4OtrUZg2XamYMH3/3OG/eCg=; b=mCDX8jOxHobuOz7s0tGYDZgQis1JQ+dB8cedTWsPdiCQjHjndRW4dBgJRDSYk8Ieml x8GesWI56BCc4ma7JbaH8ZlHw6sD1nqPRZ0gHtrVjeyqViXyV6AWmsHXdh9j0g0nsOnn xhTS4qPcmjpV8dcKzRaPzxK8UuYHAwoSvkci1crFyDpGxsCEDZh7bj4uVShjHNAxFsv3 mHoMf0QWZpkcDAuj9SYae6//wfZ+ai60NNd2frpVCxslHKY7zMEYxgHdp5gWpJbynjuM PyhQFZBdmOvygmGytUyW9Qi4pltLZWq1iRMSw1Otfn89UpZS8bX5QmnmQq7ZFQN5lZMg cDgA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1738977964; x=1739582764; 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=fLDMeSZyah2fkrjijPxL4OtrUZg2XamYMH3/3OG/eCg=; b=Wcww4TAKvi1yll1PVpDeQHOSnQvdEfQHLQnRGfeLOT547l9EbUki13lib3H4Zq56zj n1B9QxvXLlU7hdbm7PfLt7D3u9wmaIKwkH8j5ODLKjJn+zkD5Wod5UZXP671Nnxc0SQx 5HB+4rmBKwCC3RyK/dGUjxapJh0gpv+Aqh1XU2Mbs5jIAuuLgg93eIhnHQ6D3sL+3rWd WlEhtCh+pYaiKi9KWsM0Mz2GcTTSYjpOHA2kDQRvR7HiQyoxFSAVsDgaNccI6svF2Z8Y 0mLftEBMGeRYffCJDMJmV9XX3xgkBX0wTUrlog2En+ZkGGd0caHm3y/2kqdgJIvSQTri 1LyA== X-Forwarded-Encrypted: i=1; AJvYcCVjV6ofY/g26h2DUWWdhVmdgeRn95YfRMr7tqQ63Jgq7AlYYC/BlQTbRJ++m+1Ov4xdrm9SZO52CA==@kvack.org X-Gm-Message-State: AOJu0YzMHvrCA7FuOp5GbDrtogNvqaVNRd7r1RZPLJkzQgVs3/O+8j+j ShLitPAeNGNl7x6Cup7P0IKThYJPyAagMg2mYZyd5pPNugkezAPz X-Gm-Gg: ASbGnctG0PA4UhUta1yrt4HjJ9JB+NSr9UWd5deW+001s+4SlTSGq3qOzD5ZJHdn1wk NXZ0ffUk5jTtntAnYHMsyzC7rtPDjiSdh/2LHy+PHJMZElrHhP1+RouYleSnU/7MLiKjt32x/1G iCrVmfIqeOSkA/PJb0eelIGuckZPihxFpQaqrDAEdPRmns838KNu6XlnFOhA3ay6Rq47KPSKx2m hzE3jnRPLiPyZRBum2YGrJQrbqk5P3ATQp6oNnzdOoGArO6x43G9yGNk5oiZyWzYTwGIuJhJwG6 O9ywP3S00pT26oY= X-Google-Smtp-Source: AGHT+IEPtwi0N2AbvtnTVVyyBxTDyMu15TivVjy+pf1TDfT9vTvLYpAMwscrZ0qLSeZw8OB0RdcALw== X-Received: by 2002:a17:907:7f1e:b0:ab7:ca9:44e4 with SMTP id a640c23a62f3a-ab789ac11b5mr517843166b.15.1738977963829; Fri, 07 Feb 2025 17:26:03 -0800 (PST) Received: from localhost ([185.92.221.13]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-ab772f49551sm362874466b.21.2025.02.07.17.26.02 (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Fri, 07 Feb 2025 17:26:02 -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 1/3] maple_tree: may miss to set node dead on destroy Date: Sat, 8 Feb 2025 01:18:50 +0000 Message-Id: <20250208011852.31434-2-richard.weiyang@gmail.com> X-Mailer: git-send-email 2.11.0 In-Reply-To: <20250208011852.31434-1-richard.weiyang@gmail.com> References: <20250208011852.31434-1-richard.weiyang@gmail.com> X-Rspam-User: X-Rspamd-Queue-Id: 704874000A X-Stat-Signature: gha7tde78s438j6334d56zxye5p4yoxe X-Rspamd-Server: rspam03 X-HE-Tag: 1738977965-383446 X-HE-Meta: U2FsdGVkX19mZI41GHyUfxVOM5NjCUF8BhzXp/HaLxRp//wLZOoDey3i/ppJ4X1CTqhrkjfDdQAPwytHpeVEQjMQZyX3+O2KTFKsnjB2yj3GKaM0c7STZvr40lx5rC7e4GLXffL/K6zJ3PB9jwE7C0w+zmALej3GZiHA9x/90iJ6ejjLoF6jV0q6uUNXK4Wj+oxnW5HY/sFWv3mVVOeO/rQ4lRA7bA9Im9Cjg+W9hrlvLZrdcKm0tCDlOHuLhC+rc1RXGRaVMdba5kHB+HwYFy4K91JiAAsvfb1+mam9TMtMw6rwA5JIfS6c0Xs5liXintIh4R4TXptxniH+eKke7jbAPcF60nhKPabefHWrX7mkVbs9H49jGicVOXIrCDA6I5SASrI12Hs91ex9FosdQWKrKTIewTirmS6ApiH3o/ieRmCN+q9brycZ/ILAQ/XGVavKt+VTj5XcarvFObfPivOKpZp09/mFb24YVALuQsba8S5xpkdneaPyZG/1ZdfSqn0plr+VVnxetrys3k+5leYgl0Jgn7ZlX7trDrrIVLoN8AaTqPbj2THKIZLzhrWM5VD9ySbA3FVc0BrxDy1emfthznvdeQ/3fPKYUndxJRgYMjVvGYu248+pQphMCdS9B+e6AGASWJdPI8sYJN0fDFHzE4iquXZE9kFEGYQk+YPFXlYFE96hcdVY4LLOSU4g2Ym9ikDtEH02/49PH3nNv1xbtdWjdf+nnGR1EooPVfPNj5SB1GrQzy63HD9oG7JLzoMDgA3Aeu9vqpX+cNEDSSNZqP+llX0xz4X1mg26M3yCIhfYloNzjl2iTCvirwhmDFwDfv6l0V2nDqmDHe7lfH/+935NU2EZvhcSDt/I1KBgkVAzQ9sUiMLTdqFrtd3/96N/dgQRdQ+tZ23JW1/wmE4gInf2lgko2tl/9MSifBUUHiNaD+M5PZIMMZemMw7dVZSD7cEJD7Ge9gNKw8K 5v/VHwrH WrPou6M9f7rL2TZD9fxfBHJFisVJ46k1L+hviy396BL/RcN9tphljJjLk42nGsTNM4FGrxZw6VKJXffwA/HAn7VizMbEph/agG1UBc8dXmGaFnvLszwTDjBqkqUA4SwqiRIvp7wmCBZrNuAtYiO4AbOFivzzcf1m9vHSwEOU1hyHY4YzQmn2GN/QmOsgXbsunS4HlvZhZwO2F4WH4ssfy3g4K/Ly4bIn8nudSNclLiPITmKkl/DaeqqwcZCf4rZtwhdeXQymamvpFb1drFivuJOfQulxEDOya86Hk200JvyEoIpDrsAaTW9NVMQOQfzc240qO1F9TWNlDV2IKsA1sngfiboSvPEuDKBdZw6Sd3HIPuoJZGGIlgiL4bYp+U9TI2X529OfnGRdzP1987HCcOJVHvSlkPQj5Xl7GHZZ39SInJ9j7JbfZidat+9buOpvv/0WSEo53aMSdEbOj70+C6r4LQJ5itHVSjmxovSU0hi9lN8FbBZadtS/GSWMURmoxwEYKq68om060sDlWR7yguQbR5MdOYYSUprKivgfyqTCw3W5YbxxMvpdxY5815sMwasJ5dEn2qSPnri0= 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: 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. This patch fixes this by setting the root dead before mt_destroy_walk(). Fixes: 54a611b60590 ("Maple Tree: add new data structure") Signed-off-by: Wei Yang CC: Liam R. Howlett Cc: --- lib/maple_tree.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/lib/maple_tree.c b/lib/maple_tree.c index 198c14dd3377..d31f0a2858f7 100644 --- a/lib/maple_tree.c +++ b/lib/maple_tree.c @@ -5347,6 +5347,8 @@ static inline void mte_destroy_walk(struct maple_enode *enode, { struct maple_node *node = mte_to_node(enode); + mte_set_node_dead(enode); + if (mt_in_rcu(mt)) { mt_destroy_walk(enode, mt, false); call_rcu(&node->rcu, mt_free_walk); From patchwork Sat Feb 8 01:18:51 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Wei Yang X-Patchwork-Id: 13966202 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 B4663C0219E for ; Sat, 8 Feb 2025 01:26:10 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 273E26B0098; Fri, 7 Feb 2025 20:26:10 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 2254F6B0099; Fri, 7 Feb 2025 20:26:10 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 075F96B009A; Fri, 7 Feb 2025 20:26:09 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0010.hostedemail.com [216.40.44.10]) by kanga.kvack.org (Postfix) with ESMTP id DBB236B0098 for ; Fri, 7 Feb 2025 20:26:09 -0500 (EST) Received: from smtpin26.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id 93A0EB3C1B for ; Sat, 8 Feb 2025 01:26:09 +0000 (UTC) X-FDA: 83095036458.26.89A3604 Received: from mail-ej1-f54.google.com (mail-ej1-f54.google.com [209.85.218.54]) by imf30.hostedemail.com (Postfix) with ESMTP id BF9EA80008 for ; Sat, 8 Feb 2025 01:26:07 +0000 (UTC) Authentication-Results: imf30.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=QknlBqNG; spf=pass (imf30.hostedemail.com: domain of richard.weiyang@gmail.com designates 209.85.218.54 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=1738977967; 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=QXMuOfU9aeLeOXNoamHyBu+GzjgL34HVe/Hu19ptyv8=; b=K/7lasAlmBma1CwQKMuC4bYtnGoYs+tlCxyCM645WDDyLPPAzFJgMCEv/HmS5ySXEvjwzq fbLObZTfQYdqR21vxpj6fqGQHjpbSQJokaeCjACAj1sd0Fuwh/Fb2TBcpXNsB3E/ncPO5p wSegDx86LNuAB+QTcIxn90Vx8no0BBM= ARC-Authentication-Results: i=1; imf30.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=QknlBqNG; spf=pass (imf30.hostedemail.com: domain of richard.weiyang@gmail.com designates 209.85.218.54 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=1738977967; a=rsa-sha256; cv=none; b=W5xgKH0UtJhUZmi/xOwShYlivziMprV2mwcEK4+FZpywPgz8tdZ/fTNl502HEm3xGrtHva O1Y4aQewmT9nkgLUBJhM7Hjp+5sUC2W6gkltctFxn/q6zoKJYGTsZ3znenCexWFmlkndKf r3+LGZwRrSYz/s1a9KhR0CWSULPBVyk= Received: by mail-ej1-f54.google.com with SMTP id a640c23a62f3a-aaedd529ba1so334204766b.1 for ; Fri, 07 Feb 2025 17:26:07 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1738977966; x=1739582766; 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=QXMuOfU9aeLeOXNoamHyBu+GzjgL34HVe/Hu19ptyv8=; b=QknlBqNGKTrk+ULC6l+o0e5Dhdx6E6oCDtcZXqDdUKaQVvbej2th2q+ixoONZp4R/3 wlXyp5jrlOBLm2WAlICaiYOk9e9Jv9X1CJeuxwq5eORodL8TWicYKZHRwHp09WR8d3v8 UygA67DyzXYhVpjeyumP3R7haEEqJT+5ag7N7ADe2guBswln3QBWuAvqy7QZMZMUoW3B +fAL/rva+ziLjuYDPTiUD/POVbc8cmS/NbWqk7OsvYUC7KoXr94W1rk9d9Rl7JFnDAk7 JvroJoDn7sCIRNler3xpys3/FAaYgPLuAFz+0A4nArFpwlS45TeclEeKbrWX+HBQuJC+ xxMw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1738977966; x=1739582766; 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=QXMuOfU9aeLeOXNoamHyBu+GzjgL34HVe/Hu19ptyv8=; b=jnMZ1cwKBSzCpcLznAQs9xzq1YbjHuNvNlqaDNZE6eoQDdFUnQvXI3C6lYE19EOYez U+uLW5FeLiVjse5yTnA0zX3LGTHtIJN3TxXsr6TVtan0P8LAVGS6Mbe3otNUmwLcnRV+ 8kLbt6S2WDd5bPv7mUQNIktWEgysO5XOC0pjOvei2C2QCbaqRV5HGoEwmoARaakc4HWc Bh19A59yib7/yLAHO1RutIVwzosqsQUiS0UMppf5TGA11by/1qrSO60AkBE3sSZI5KFZ TC39W2Bi+g5OL/cVJ80xou/PvIX+5NPMTscpVJte4aEZu91oT5NSmPSZ4resH/YN5GaC fP6g== X-Forwarded-Encrypted: i=1; AJvYcCU1gzw9Jz/ep+jpIxwDLmznTfPYuQH/GK2aBM4hF3bM8cPVXkv316AqEw8i5RqaLTeohE4wJcbTPw==@kvack.org X-Gm-Message-State: AOJu0YxKhQv94uYrEdNqV6puWeSaWxcqkCAMln7sZAPYxa5ncVr7+fwt iO4x05C6fg3Zi5Voh8WYh0K3fwq3//y/jxB0iahNuBMml2FG4IP6 X-Gm-Gg: ASbGncvKimWhUR2VuqLnDlLI6LDgPU67W1bU7BOpSds+oSDNm1l+BJP+5/vIcjbS2PB fSx9xuY1HI1i6EnQA8bXgkjCnEu6ATwL4IgGpKw+XIkbeMBISBlHpCMUCgHQriz0igLu4jJJFNS W2ubCsZ2bkyplkTTOtlQkru+TVN9LvZvhjmxWnoWCMzGWmTzw6Rbbkjf3AGa8/VwLmTs9VZgIwu kZOQsYMIY2n8DyfTDmFHKAvRl8breZMlnfXQLsm5E2zj4sKVWcZIhwzs+42h/feXKny2hB68V7p fk+el46ZdTQEU3M= X-Google-Smtp-Source: AGHT+IGoxcD/POUZ+HJ4Vud78hPohCPfqRi5JFagFwUl2D/p7JnQAoppHgfJZccywsnOgywZxSLGTw== X-Received: by 2002:a05:6402:194b:b0:5dc:7374:261d with SMTP id 4fb4d7f45d1cf-5de44fe941dmr14451789a12.7.1738977966013; Fri, 07 Feb 2025 17:26:06 -0800 (PST) Received: from localhost ([185.92.221.13]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-ab78c3e8b5csm209441766b.18.2025.02.07.17.26.04 (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Fri, 07 Feb 2025 17:26:05 -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 2/3] maple_tree: restart walk on correct status Date: Sat, 8 Feb 2025 01:18:51 +0000 Message-Id: <20250208011852.31434-3-richard.weiyang@gmail.com> X-Mailer: git-send-email 2.11.0 In-Reply-To: <20250208011852.31434-1-richard.weiyang@gmail.com> References: <20250208011852.31434-1-richard.weiyang@gmail.com> X-Rspam-User: X-Rspamd-Server: rspam11 X-Rspamd-Queue-Id: BF9EA80008 X-Stat-Signature: fz48kfu4nrq41e9o59ra55ikcq73a7xc X-HE-Tag: 1738977967-826993 X-HE-Meta: U2FsdGVkX1/ClFjawnYEl7NfYiundEyCaD1omu1xF4QnWJwmhPSmOVPSQYqwJXKC1/N2lXtuhAh81NBpwo2lcV/Bh0pifC0NXHrPe3fVvMAdjV/iVfQis7xYh66WpndSnhlhp6wz5eUDy40juLjKL3AaBFWRILRq2KShWhO4Vzi1UnorADCVvNG2gq+VXd2btIOhLTQeAOV5Ao6B7en5/aqzffLkNhyloI4c/HPVzf230+rFUhKJbYcKSJ2a2lQECNplvBIooURjQnnqPSOL0X0kKbjHvw4freQL6S9toReqZqI4kA/d0EjgINvuc/w2I4Gyu4Ud7BUItS6fw95wUZTNg912xySVGMF1oXaiYqb4Vb8XlkMTxy/bw2Dw3SQL5hnQP7JG5SRQE6FrMylm75PN+3BbkiHa/usWDr1NYokt24fu8Aja5g0W8m4PiDiIHWrAY24iybhINE55PXjaSmjoddFXtjNBv+7CraRmFOOvt14fW78EC+akVsY8k1tI1ykjvwX1UsuhdmaLs5XU3jGMap8AJfFOg/DvjKrweNME5gdK27B0qLYeVHB+ulVAUlyEKKhuLLBOUCa8ymjzUxcajyyiddPKVQeS0Oe+qg5bdXRJh4DC1589zOqRoBDDe60G6SD+U7W0fY5EkpPQzfjVHcxOliBUYYXPu8GGH0ddbJJ46OcjiIf+QA1US5yz0LiR3fQSR91mWE2xyI2fdLrnUWU9aDISefFf8J3WF1Jm2sKp2vQ3b4JHZBGF/43T5WGP+GjjNKo2RiCp+C9DC7Gl1Oe79ixoUYAwxmyIiMZd9OQjERED3eeVqHi93VouI+TQTCVciTL2OSNVkyQY827kiZMPOaBqt4IzxLPakV8pUpJMBHxC0QcsndLWpenIy2uWWhBSS91u/zN8X4gytJMWX7TYFormEnrFdhYYELwiQQlWA0et0xwVcE/Za1Hbq9Loiw0RFWJY+MIlWDR iX1pgJaI 2B38p3Rpk1oOIlzeZ/rC16hS9Md0r00KfBUj+EBjGTJPbM8cagDWHhdgW5slYCYCCwRzDw5zuCwFdV5tBrQaIITd/cEtSWw95NeFNuE6BHnN0M7egSW78TI5Jl1xIsMdUFhzi26Wky6BAxKr8UZqoxda/6P8tn6Y46GLh99TXUSh+9NUmw/LKtc16dPo9vJ9ua/LnGdanmSHERfLxPYpKDOmniJdsZRJUn+UaD8Sd/k82l0Aeo94DNgzykPqi/4D5wZgXRhTgVXs57805nmMQhTAEgNOPYR1n55ZRaKM9/Kv9tg3SN2JOHRXowUSKUmQ2Cb1vo9sA6KNmLta944yNMK94t5j/nkrdocw7JMLbwBqK8QGcIfGs6iMy37a9j7497cES8S0ikd9YMLoJzC1kKt98uo5uQxK0HJgVJq+vyy8K1fTc+/IwmiRcCVpUTLOAzKgzCCCQg9E6bIN95szKf3XSVki599+rwtDnO6QHNYOPkdnXDDaMHfzTOrYPxTohMZgRc0vpCmI/QLtdRgiB7B+icM1Zlldtud6lYm/RllqiWC6+d9Ax8k7Gp53++Cu11EMP946SOnyX77g= 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: Commit a8091f039c1e ("maple_tree: add MAS_UNDERFLOW and MAS_OVERFLOW states") adds more status during maple tree walk. But it introduce a typo on the status check during walk. It expects to mean neither active nor start, we would restart the walk, while current code means we would always restart the walk. Fixes: a8091f039c1e ("maple_tree: add MAS_UNDERFLOW and MAS_OVERFLOW states") Signed-off-by: Wei Yang CC: Liam R. Howlett CC: Reviewed-by: Liam R. Howlett --- lib/maple_tree.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/maple_tree.c b/lib/maple_tree.c index d31f0a2858f7..e64ffa5b9970 100644 --- a/lib/maple_tree.c +++ b/lib/maple_tree.c @@ -4899,7 +4899,7 @@ void *mas_walk(struct ma_state *mas) { void *entry; - if (!mas_is_active(mas) || !mas_is_start(mas)) + if (!mas_is_active(mas) && !mas_is_start(mas)) mas->status = ma_start; retry: entry = mas_state_walk(mas); From patchwork Sat Feb 8 01:18:52 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Wei Yang X-Patchwork-Id: 13966203 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 35675C02199 for ; Sat, 8 Feb 2025 01:26:13 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 6B8CD6B009A; Fri, 7 Feb 2025 20:26:12 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 69BA76B009B; Fri, 7 Feb 2025 20:26:12 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 531A66B009C; Fri, 7 Feb 2025 20:26:12 -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 327BB6B009A for ; Fri, 7 Feb 2025 20:26:12 -0500 (EST) Received: from smtpin14.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id D4F9FB3C01 for ; Sat, 8 Feb 2025 01:26:11 +0000 (UTC) X-FDA: 83095036542.14.3727C87 Received: from mail-ej1-f50.google.com (mail-ej1-f50.google.com [209.85.218.50]) by imf13.hostedemail.com (Postfix) with ESMTP id 09F4820004 for ; Sat, 8 Feb 2025 01:26:09 +0000 (UTC) Authentication-Results: imf13.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=Cqes1CYZ; spf=pass (imf13.hostedemail.com: domain of richard.weiyang@gmail.com designates 209.85.218.50 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=1738977970; 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=9cKJO6WYgPVk5ONMRMSzy9wocLnlinzHwQGz+VTI6b4=; b=nqX6QOGmAKY9j88ggV8dG6Ibquy2pMqe5fexFsQQMr0gXrIEfD+dav/IwICvXiNypP2SZJ A7F5UasrahlrN+Xpwki6FDcvbNYwvu40+NL/muiV+5duH2z4W1tf1zQXcALEiBA9uLsnz4 NAboxPxU6/cSLSdbHA/58wRJRzddiO0= ARC-Authentication-Results: i=1; imf13.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=Cqes1CYZ; spf=pass (imf13.hostedemail.com: domain of richard.weiyang@gmail.com designates 209.85.218.50 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=1738977970; a=rsa-sha256; cv=none; b=hJLeL0nF6fWcU6nzZHpj2xAMDs2vQLmzpFhB0v64ZZjVMJdCEMuWFiO4axxPr3jl9Uz0N7 dUicHiIrlY7Cc+BaO4SwN55ZW6PrtQqHdvA9pJla4D3ctyzLtl9AYgiFTnJnQ3JVCvsvKV 4dOhuCdr1O475y+wKLit9gGFShmeIrI= Received: by mail-ej1-f50.google.com with SMTP id a640c23a62f3a-ab78e6edb48so162480366b.2 for ; Fri, 07 Feb 2025 17:26:09 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1738977968; x=1739582768; 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=9cKJO6WYgPVk5ONMRMSzy9wocLnlinzHwQGz+VTI6b4=; b=Cqes1CYZFyx2ltKPabb+IwRWbmN5LFkDHgbnXQa3RyUlZ4i4S3r5je/GJ2j9vhs9rM nCqd3EA5H98RyxBPpExXSBk03JLvT6BgukOXSx2lvvcUFUa2zVELyzKGlBN0EkONDqF8 z3o0/xDS8Emid9UKUVP9sQs1NDnpv+uW+LGtWq69eTDTsL6WoWTcHm+icT6jHt41fAtz tIkcOnCGqdV9q4FK7ld1VfwuPCWOw4NjiKfm4MlIzMu5NsQxI7TRmJNAqH5eabcWGzF7 YvwdRxjg9hVG7Y+vZBzPv2B9MhOsL2JfuUq6wIfigRDmzEdnW5pNNX4CoSjHOX0CRiew 0XtQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1738977968; x=1739582768; 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=9cKJO6WYgPVk5ONMRMSzy9wocLnlinzHwQGz+VTI6b4=; b=BpX6MYaEMQWF3umPN8hQdwovv/figshu1OSjVv+ZEjkJEfQmUvDsrs/Crqko/VzhM5 b03KPTjisPqRPhWs/mhXjgms+ssHXmfKjKrTX3hlXWRfJdc4cmYGPLObgEFjdQOAK7VI iUyi8cbTLfD92xddQze3vA5TJT8nGnBn5wL5ZaNU3c5v/imAucjyFzhjiUXHqnkrLitb 34lkrN03UY+TzL9zttlycH4KYga3wAzOUujpgfUDrstcJS3MoW8ywYLLBUi4i/mVBJMK QlWOozZPP4L2CkpA6wC76xb0uid38Pj4k6m6Whfos8Iksy8osQgd/o2dV64UgCRYceqA WnEg== X-Forwarded-Encrypted: i=1; AJvYcCU+fsEJhK+9rZZOkDdSm0BkswcATjLHYGGhX9EJ2nHUIrnTg4B34A9lQ+nrJQb/OqZE7RDHkEkVdQ==@kvack.org X-Gm-Message-State: AOJu0YxC1hRyL0/ULAY97FjiFjSn3LbOeI9aPScadpvNgLu5fs7UjGVr 7vKnQQo1Yr0Esyhx8vAlM/fVQYVMCStnnAF8XGO10mVg1oXHxNmXWbqqLCBq X-Gm-Gg: ASbGncsXdHqsHoOSdyCLARxP+pX3pQkXpU0cMYk73Hcn1KPygACQL4qjduc/nBSqoCn Y3TTQRaKnZD2cvUzYbW0x9FkJCO3maZ/PqKZ5Z4kBH+ycz9DPyJaCl7VgbNli/0XJGpSbU02xeb wwnXzB+RkUDwWt9O0HbGVmiBbp2UAM4MaWTN534nHF/sxkD4iOpnmTtQEHdKByDNJ4m09u3SAzT bC9JB4iXVXBzA1xM5GDIuJo3pW4JWyykAU2Ht8qbAw03zqhQmikQGIUlkEInbYqwfdcZ5CCjbm8 mrkzBg6J/REoCk8= X-Google-Smtp-Source: AGHT+IEDgn4hvyftKWjVS8XUEhfL86vSVA62BU8ZxiNLHbEB44tzNbV0vYMEQ0HdKrU5qqxcj3/bjA== X-Received: by 2002:a05:6402:320b:b0:5de:3f09:e059 with SMTP id 4fb4d7f45d1cf-5de4500216emr15297006a12.12.1738977968371; Fri, 07 Feb 2025 17:26:08 -0800 (PST) Received: from localhost ([185.92.221.13]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-ab772f83e30sm367107066b.38.2025.02.07.17.26.06 (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Fri, 07 Feb 2025 17:26:07 -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" Subject: [PATCH 3/3] maple_tree: assert retrieving new value on a tree with only root node Date: Sat, 8 Feb 2025 01:18:52 +0000 Message-Id: <20250208011852.31434-4-richard.weiyang@gmail.com> X-Mailer: git-send-email 2.11.0 In-Reply-To: <20250208011852.31434-1-richard.weiyang@gmail.com> References: <20250208011852.31434-1-richard.weiyang@gmail.com> X-Rspamd-Server: rspam04 X-Rspamd-Queue-Id: 09F4820004 X-Stat-Signature: 5nd67nkeewppqt1agdhrnhno5khknmce X-Rspam-User: X-HE-Tag: 1738977969-660303 X-HE-Meta: U2FsdGVkX18uWleHmy+xORxPG4FFAlHVCghaXRXn7OW0hY5K/IYcFI0Ok7vsRrb55GgNIcUhvNnSs3JXF3T6RNlXtMm2CiNri3dBx6w3/qlT1KcYA2x5FppiX/1U6oOp/WZhE7eGVMr9BaxsGyfJF/0JbbYteRaf8ORUFgWTKXHchKQaeQXRtpvnjB42XCdvtdzIPxKCyllXIMWIDtLBlPKq5AFwalRptDufVm3u2gYNIqXBnyuGUtURkQ9atSKNnX5rO099q7IAHmkHiB0WvtSLmzXubU4xNq1BAkSdKzgC10H7HP1vfweZQZo/CLQjYzj0b0Q2E2iUv6gglf0C0kSWRT5KZaIUb4LhuQGwo3JJNre3MQt4J2kd4hYsPKgMWbdGFLhO66JNNm6fDwyWdyKB2aMKGi1RWeRx8KkQBLJr5CR0Ht/LWCzaxUp2fD7jijQyXzs7JLvNx/e4wyvGbpxNI2f9hmwxaGLcMWUCBXXJK8eXQuz/MwP3KVOguVVJPVAqRBOyhGP3fWySVcfn7j7fG7sd8hRtOWk1IUxMZ5v6WzpzT69qb7UEJzXS9oQnqhnFT0gTAFFtZpLHiiDhMHmiILtugbXB/yHdOrkThVNSwe9EeXoF6CNj6MUAdGBnrmS0xvaJdz0ogjcJO6lmirqQb/PQUykDGCexx3lTcNMvBKmu8M0bSc9Rhp03Ttm57tbOV6Ja3/W04Y2FrGDR6NEm2FsAgFtQhhWgzkwoIWgoQ2kjfwJtznFoV2DqFSWVr5FkaeazZ9QFQ0FsjFj66uC/FI9I+W4eC//Wjqwe2PiNhxuM4yJ6w2xZYtTY0C3n95E8kfJ8kelKwxdPyJoV8WUDPEzKx/sbAia04JNcHy9vvS1a3j3EdqKFLKtvRPFiomz2jOpLfxBXCNE4a+KiCByVBaEhFMfPY4x3tNALGQKpD65fPgYmEeV4CEzpZrD23ek1IMPaVBtYW2PDnPy 2i6azAqM 1JwlqR1soU7lsA6KCWZbgkp5GYAkSoKsrIU1scADiPhGnb1r0VwY2tbrvG4mJMdIZ04zrirmFVeBm8xeG4pB2p0dUIq7SMF889LJxop/qbRZLKlOzddPclk3OlyTaEG85MUgeKV56pKlWPVN7/gAYMGF+n0/Wp51571EthPj/V0mmwY2HF4WsS6G7dgD5tYpQilH7PWJ56JUd3yPSB7lQ5MoQ0BMPm8tjaDarXfsX7J/g8RoPwLsuLgWvTpERquBkaWqySETIQ0PW4PrDmPLr6YrjeqvSJgH9wNNfLWwwBU9rbolb32Ld6rEx5bRkUhL8kM6t1dkg0Kp/bCZ8N7wmb9MNW042ON309zeDouiHMZTU5rLDpApp5XIYpYon2Uf46Za7nAQkGawHBfAkzt5/a7adgGaF03kx5b68rOVTwlqKpIbK7prwwMfxDxHImQq1cPMQHnp9Ccf/OOgVq+0tidLreUO0BB0/mpMxFmer7ZPp8BgEaBjNpbYfHTWB3drX7iGqZbKDjQ/Ni7l6p/33eKhmBi8NXUbdRTqtH7jg6oDkFNGeet2R1jmW0A== 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: Original code may get a stall value when overwriting the whole range on a maple tree with only root node. The reason is we didn't set the only root node dead during destroy. Add a test case to verify this is not recreated. Signed-off-by: Wei Yang CC: Liam R. Howlett --- tools/testing/radix-tree/maple.c | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/tools/testing/radix-tree/maple.c b/tools/testing/radix-tree/maple.c index bc30050227fd..1e293e4d856d 100644 --- a/tools/testing/radix-tree/maple.c +++ b/tools/testing/radix-tree/maple.c @@ -35256,6 +35256,30 @@ static noinline void __init check_rcu_simulated(struct maple_tree *mt) MT_BUG_ON(mt, mas_prev(&mas_reader, 0) != xa_mk_value(val)); rcu_read_unlock(); + /* Clear out tree & create one with only root node */ + mas_lock(&mas_writer); + mas_set_range(&mas_writer, 0, ULONG_MAX); + mas_store_gfp(&mas_writer, NULL, GFP_KERNEL); + mas_set_range(&mas_writer, 0, 0); + for (i = 0; i <= 5; i++) { + mas_writer.index = i * 10; + mas_writer.last = i * 10 + 5; + mas_store_gfp(&mas_writer, xa_mk_value(i), GFP_KERNEL); + } + mas_unlock(&mas_writer); + target = 10; + mas_set_range(&mas_reader, target, target); + rcu_read_lock(); + MT_BUG_ON(mt, mas_walk(&mas_reader) != xa_mk_value(target/10)); + + /* Overwrite the whole range */ + mas_lock(&mas_writer); + mas_set_range(&mas_writer, 0, ULONG_MAX); + mas_store_gfp(&mas_writer, xa_mk_value(val), GFP_KERNEL); + mas_unlock(&mas_writer); + MT_BUG_ON(mt, mas_walk(&mas_reader) != xa_mk_value(val)); + rcu_read_unlock(); + rcu_unregister_thread(); }