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 1D6E3C0219D for ; Tue, 11 Feb 2025 08:11:37 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 8D8B26B0085; Tue, 11 Feb 2025 03:11:36 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 8861D280003; Tue, 11 Feb 2025 03:11:36 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 775166B0089; Tue, 11 Feb 2025 03:11:36 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0016.hostedemail.com [216.40.44.16]) by kanga.kvack.org (Postfix) with ESMTP id 5A29F6B0085 for ; Tue, 11 Feb 2025 03:11:36 -0500 (EST) Received: from smtpin01.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay01.hostedemail.com (Postfix) with ESMTP id 150EF1C7E5A for ; Tue, 11 Feb 2025 08:11:36 +0000 (UTC) X-FDA: 83106944592.01.BC3D707 Received: from mail-ed1-f43.google.com (mail-ed1-f43.google.com [209.85.208.43]) by imf11.hostedemail.com (Postfix) with ESMTP id 186164000B for ; Tue, 11 Feb 2025 08:11:33 +0000 (UTC) Authentication-Results: imf11.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=dR4PRmj1; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf11.hostedemail.com: domain of richard.weiyang@gmail.com designates 209.85.208.43 as permitted sender) smtp.mailfrom=richard.weiyang@gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1739261494; a=rsa-sha256; cv=none; b=hr2nC/iIXE7fn+DbeZMqkmfObBayYE0CBo3bD9DT4gPoHcnx2qgH2s81sfFM99s2q+BW20 Q8bLEx+X3Ym+nFE1SmvlunnabxWNRg4Laru9GV/iB1Rlu2yHC72GeIpQ1l42xfA1r9wOSK k6nIOqRSMs3eO5w9f8LR4b3MeOfnVbk= ARC-Authentication-Results: i=1; imf11.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=dR4PRmj1; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf11.hostedemail.com: domain of richard.weiyang@gmail.com designates 209.85.208.43 as permitted sender) smtp.mailfrom=richard.weiyang@gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1739261494; h=from:from:sender:reply-to:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:mime-version:mime-version: content-type:content-type:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=HpgRF/hpreIZfeB3wW0+iZqz67IYRSzPu2Fic1Tz5MQ=; b=0uhsNFch442dsa82A9toz4QfOkWG2NwYiMGfMIIVq8j8K3CBNjqCa77QF8NrQI4WZ51jE7 NVVfI6cYLB53d0l7rR19/sBY2Fp4K92oy22xOhFCb5S+nz3eCjeA18QK8HL6sNr5Zv8yql qRjCpu2sBAD7eMbxN2nRL0FwFjIBGEY= Received: by mail-ed1-f43.google.com with SMTP id 4fb4d7f45d1cf-5de77a5d2a2so3487463a12.0 for ; Tue, 11 Feb 2025 00:11:33 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1739261492; x=1739866292; darn=kvack.org; h=user-agent:in-reply-to:content-disposition:mime-version:references :reply-to:message-id:subject:to:from:date:from:to:cc:subject:date :message-id:reply-to; bh=HpgRF/hpreIZfeB3wW0+iZqz67IYRSzPu2Fic1Tz5MQ=; b=dR4PRmj1YXdEpnya0w5U2rS0Jav+POVN9I+//ou0hefndsirUWQeTKSIBWzzaUXoRf RINMiLihM6M/hMPwcRp1PagIxOT5ccSRih8yP0sxgEof3JWfEKRRft7wBC5JDZQ8FQ6I 1jRp/mcX5FcUK+M+v13162IbDcS5tiFMAcKkEfTVGhDS/FVU9enVTNTY2MfrR3d2zcJ5 i6Z3o12ivZCDANBNVOXLJXayioQDk6ieIJyNCc3tWbsoRngggJ9gDGQf5OWZ6siSxOwU EzC+XTqSBS8NCl2NOgHFz7lVrSAewMHD3QhBZiRh8PWdwX1pzabHR6JTxjNP36D/8gML 5PKA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1739261492; x=1739866292; h=user-agent:in-reply-to:content-disposition:mime-version:references :reply-to:message-id:subject:to:from:date:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=HpgRF/hpreIZfeB3wW0+iZqz67IYRSzPu2Fic1Tz5MQ=; b=pKnRwfSsJG++BxFAYpYKKT3BiegzfI86r1AoAwsJGdXWTnoGH38Rdx+qu0JylAFb/B x18igKmB+Fp/EhQHQ0pZ9SBLDjpq8q6o1MkChY7z+1YAgWbeGpU8jcWKkcdJxhCc1I+r WaM9l+gOuPFBOI01srz6+HWhUS04w6RnNPerH1eEopprKXfvrDVazqZlMnusyq4i83j6 q8/TAs+rfCHyNcN2ucpBzguh2ewLOMLBpVdavubGc9y7FvYRmfB5fDvewalABR+f0L8f Z2B+GIfsV0jfjugBc3Ew62icxeoMa/8GLirVBiUmT8pCc7bIsreY9I8D0Zuu4Nho2B1Q d4sA== X-Forwarded-Encrypted: i=1; AJvYcCVuqOqjEhW6FoUCrAaWuUH98PYvvM1zbAURe9SkgJUrhZSfe+hfVbMcwxirgccnMssHoMESVYjthw==@kvack.org X-Gm-Message-State: AOJu0YyFShLceqo5zBXUS4pYA7smUuhcRL13VUi67Yov87G1MOsOfeUj QvjFHeleCVX9pKKKtIDajQJBB/0l6vCJRDjUn6oCBL96i8EqOynb X-Gm-Gg: ASbGncvG2+XPjdnVhrf3QBHpU2JVASP89qnyI3F0lT/NkA7bVXZDc239200maeKorKp AJxiDI6d73/hFpDo686EgQFVCEdMe6H7wQEj9UhZ6ZptAs4nvehomDYl/9XB/bKwSy01qisvegx uUYKZbIobbVVNg536Bj69myVH5rIjxtvmqHBSSGijW73T4uGGsZS156CvE8IEZOM0rUOHlM1h70 6U2l1qeVE5Skm80wYAywigKAU3a5OI3k4ZrU3GSDXx0MXYJYJSN+bNiOmbFLHYiedZLEfbSfn9J 2Z0Xj/iiMpxB/Is= X-Google-Smtp-Source: AGHT+IHAUbCR23Lzpbygyzqfe9bj4vWCa6Rh2L/2LDvVOakZ8HKrPaUSXYp8ZBnlku8FVCL9Q4ZnWg== X-Received: by 2002:a05:6402:3788:b0:5d9:f5c4:a227 with SMTP id 4fb4d7f45d1cf-5de45089d9amr16538893a12.20.1739261492372; Tue, 11 Feb 2025 00:11:32 -0800 (PST) Received: from localhost ([185.92.221.13]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-5de5142ba50sm7214361a12.11.2025.02.11.00.11.31 (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Tue, 11 Feb 2025 00:11:31 -0800 (PST) Date: Tue, 11 Feb 2025 08:11:29 +0000 From: Wei Yang To: "Liam R. Howlett" , Wei Yang , akpm@linux-foundation.org, maple-tree@lists.infradead.org, linux-mm@kvack.org Subject: Re: [PATCH 0/3] may miss to set node dead on destroy Message-ID: <20250211081129.xskl56wm2dir2x2f@master> Reply-To: Wei Yang References: <20250208011852.31434-1-richard.weiyang@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: NeoMutt/20170113 (1.7.2) X-Rspamd-Server: rspam02 X-Rspamd-Queue-Id: 186164000B X-Stat-Signature: t3grbxr6bm8dfd6pgauhdr5hfdjp1esz X-Rspam-User: X-HE-Tag: 1739261493-25220 X-HE-Meta: U2FsdGVkX1+Tu/ysZ7tBRRwNCP8cTSqOqTa+dhZAJkjqWFHQDYtGdktC5OCoWVLaPUv/dZXUoKzyirxYjFRT0vTUGc90jWUSdbhuW74wZbAxs4NNU9CDxi8KuZfMbD2D4ZsZwSB/O0Q90Wk6iH0K0QOOjJ3j+EZbh29tB3/A3FININAfVhQIe57tqdV0X8mue4JI3GUl7gFalNDHmkX7FQ7gWzKuw97CzMMlJlFju1B+UnKJ50Du/fPYOR/DyCeSEzpoaP4a8JZ4lRH6WJwDD9R1P88NboTqV1ZYcGVXoh1Z1GMrYYqVrZtvcpz8wGCEyVulRH0/fn9x51s327osXf8ATEkba7hjGlCGqO80vCxbz8gXICVnpWqHc8rwwRWDYQwgVbdUzhV01wlOh7pnABxaW5x/CcxqSRDBw/k9F05s3mD0KzseOHDMkiC5F31sbt9SsQ7XHrVkFo2jIzSVzuaPvPMrMw7Dx2v+UcF1o9CMzF1J3kUE0r2KO2UV/VD+b7q5slqSscqIUrFm2h8ag6m6X56jbuBkNxHEcRrh8ZIaf22lGUmIDPIx19fbrbBSMTWJ0XvuVoYaIdyYFj1EZobDR6RsiDcb9JktWH9nPZnreV7CFyFmwMLPfqjJJrjA5XhkzKEAubDqyMu565sXEMl3K/3ia5oObTeJuLHq8UUdWr5y2yEOx6S3aMPQa7SDHazsHe9K3PhM78TrlcevCyq8FQSETQ28gD5v5RMt2GDaw3nnJNCDP725KFXV1KvaB7JvVuB63XXZSZ2IcZEv1E9Fhp/ULglOru+u6Jm3rXU4Abm9Ju6duFJzrSzjt7KU6D8SIrssZMFOmyhoji6uAxrelBl33PAEwQtJ30FrrvjdYJ9cbjOMZUV9fE3FpSOQUr4MUUk5ilBlLnx2kGhghj50bqlaIFqtHhU1+qc0fLRDbeAfsQvMwNPFeARi1f5NxqMCoxbVrP0y0y2v4E2 bTNNPAEJ 2aaNLQ2/boyH5pw0hPL3EL0S3WHVldEYAMra06O+9qo+XJ+eaXgx6wsJDpX9pAzhzE+MGFuL8lHpnqeD9RbYHXYdyXcN1jHYYj7c7+28fKxhcfAv9/Mocnuu4qvrZMFDMcBzcCwllK/V1ekDAyrtt3Ctpf/aPVkPdhSYeV7uuEKNCl/vMu7fxM/5maiA8LQV1J2iIwZDLE+NOUju+E+B/kgGGYtqWspswEN8t1dq21TMKDgGqEn0OhbK77X5/etmmaBLVQN42wl+925K0yEFAno28t6LRIuu/AeaHtZbcqOPrgScWflEMLZF02+MRS1yiHHBwCc5rhpu1fKzPqAPbqCTiFByXeQLobyfEZYYaqxQocx8/AL+lav+Zqz0UhRyOMM/wah2TRL46dzBNdZkMHDowQ82fTOha1/unU/yR/XnpZ5UQ9Bmr7R8bIWpkdcO2BI7FegntpS9geUkjlgw2p/3LpJLtkdAD8xrnHd88a2QhdaF4wUAOqDQ6ToWkNTutMjlEbO/YTIOk97CHBoJuC8+QMNk/IhtCqehsiXuFCM33vrw+egti0bOM7qceMLoqeBttFSNpOLPe64CPgu9YFPhehFhoj8ybTJnkzXfFKenpkQ+qyZJqaWxVWsF+c6jk31bsjAB4SUyuCGgv2DVLhSQ2iVtBV45hlCCfhRL3sDrQOL/Wq1Ajm3ctsIAdO/7DsguM X-Bogosity: Ham, tests=bogofilter, spamicity=0.000386, 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 Mon, Feb 10, 2025 at 09:31:28AM -0500, Liam R. Howlett wrote: >* Wei Yang [250207 20:26]: > >The subject of this patch set makes the issue sound much more sever than >it is. It currently sounds like a memory leak or a UAF, which isn't the >case. > Not intend to exaggerate the impact. Is this one would be better? maple_tree: make sure each node is dead on destroy >The root node may remain usable for the duration of the rcu window if >it's a leaf node. The impact is pretty minor - you may see the old data >on calls that happen in the same rcu window - which is the case anyways. > >You should also say maple_tree: in the subject since this is >going to linux-mm. Not a really big deal since each patch in the series >specifies the maple tree. > Thanks, will add it in next version. >> Per my understanding, 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. >> >> Patch 1 fixes this. >> >> When adding a test case, I found we always get the new value even we leave the >> old root node not dead. It turns out we always re-walk the tree in mas_walk(). >> It looks like a typo on the status check of mas_walk(). >> >> Patch 2 fixes this. >> >> Patch 3 add a test case to assert retrieving new value when overwriting the >> whole range to a tree with only root node >> >> Wei Yang (3): >> maple_tree: may miss to set node dead on destroy >> maple_tree: restart walk on correct status >> maple_tree: assert retrieving new value on a tree with only root node >> >> lib/maple_tree.c | 4 +++- >> tools/testing/radix-tree/maple.c | 24 ++++++++++++++++++++++++ >> 2 files changed, 27 insertions(+), 1 deletion(-) >> >> -- >> 2.34.1 >> -- Wei Yang Help you, Help me