From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-lf1-f46.google.com (mail-lf1-f46.google.com [209.85.167.46]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id EE6C73750D2 for ; Thu, 12 Mar 2026 18:40:56 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.167.46 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773340858; cv=none; b=c/j38DC6f9DnD0QXjDhp9HxEDJ2bh6N6WeJ8Zek2ZN6oDSi4kBuI5hPxAlWvKkAmPuU/fOX0EpColO2/G52ww2qs1Z9oCc7lKTsC0EpVxKyhaTD7EcMZcSIjrv95sh49LZ/nTMptNNsaoc1yfoFsuhNuRC7tAj4BETkPeDfZ4Dc= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773340858; c=relaxed/simple; bh=RhUkMbz7401etl8LrWcmaRanbknypGmIsEkGRr6miJs=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=hnIWR8GdVASfu0wLd9ersWuCq2dKg4xJUOnT7/0zaq3e3saEFudPiQuttchN9nETVPkHGnt1OxWElbmA5hdkNJAJD8dOdW8eUQx7kvblARLI01i4ZwDTwZ0YSpLUhGBn/jOKA3mOfwDz7IovZcpY/ClnxCQbQG4z9hYk+3K/tVc= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=LAJdpWBe; arc=none smtp.client-ip=209.85.167.46 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="LAJdpWBe" Received: by mail-lf1-f46.google.com with SMTP id 2adb3069b0e04-5a1362c9a3cso1443937e87.2 for ; Thu, 12 Mar 2026 11:40:56 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1773340855; x=1773945655; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=9k/wKxZxUpjtgU4Vct2zinh+jVqJ329Xh5sQ+TzSypA=; b=LAJdpWBetgRxXRvNRrRGK2nxPUh0Xs8K9Grg7vA7noBflZI7n3rdGUbsWnpfqUBmTg NxKQTssLLK57leY6QxWrYW4IibMuHcK2Nx+/73U7lWVPLmwenZBWcTXpJfiHwMRo3pvg 0+eycXIBqAN2a+Oy6OiSyBkgbiCnP9GVXmVynyikwwbBt0t/owZUziG++YeLmQ3qIpxN Ffy9zc/+4bsdFTXBLaJUWWIxt11omiuYuNRFe1uE77dEvYDThbQhXG+iLuEn4W3UDjj4 yMznc8TqgwMhH7b9CTmwnJBrcQy/QqQFYeah2TTOPkntjW7sPeLGbVhKZ0HjM4m7pkyq aNyA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1773340855; x=1773945655; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=9k/wKxZxUpjtgU4Vct2zinh+jVqJ329Xh5sQ+TzSypA=; b=NpwIWMnxosWjOVi4ftVxrXD8dRZramDFWzCBjTr92V8MmQYCG/y+z6mUPlKChD0kdv wLW2nbC51LAR5claql5pimW9NclTWyLyhFiVhVebBiLy7T/kH6scexjnCks21U9z4Snj jVWtOuEAl2JbZNW89cHAnfnv8TeHlx5zYurXpyEa52m7pKc3G91kJFfwlsYyVsLMzyTc OdWS2QtycmKihH9jCm5zrH9eeNAvhN7SvucPEXvYJXeUnNsB42BioxpqNY72lbQGBRVH chkHvcEfnkCMtbxwFonWA2ixm7lA5hHUAqQD4EIV6vilqswP5iaZkriv+AsivS9w4wGW sUJA== X-Forwarded-Encrypted: i=1; AJvYcCVhP7e/3d0CpjFLWfop3s2/4ALS6AgSL3c3f/WJDnfI2IAzcRmckgcEKei30qKnMyd939NJqKpZoQjerSQ=@vger.kernel.org X-Gm-Message-State: AOJu0YyBiAMwZjhlJxOPM0dZJACgP8xVAfvHT7YBXaQOppX2xNGZojw5 ovfiJEgkinBgmqonT6kAgfaoLyj0Aw6+RqitKBjkZnX5qe7BsGTR69c9 X-Gm-Gg: ATEYQzzERh8INsoWs+d7pyCnXLGdEzul0Bdxg9tnYA0CMiVxIwYBRI5bVSHstfaQbRv 55KU0QtDs6kb1jcourhvTTg5iK1PuXVUdZRzEyhIBl6vZEkhpa4tyCJ+Nlw3NF4hpY+uhiAhzb/ CkZT+FEYvsYcgjEmSaJCp44nR0u4fT/COcbhKw84GpY4U4JFtPZfOP669Nr3qJZj5v8PBbykPoY 32xttRBWkmc2qSnq5/4kUfiMX3KY3kB634R/Io+AzW5ssD08iv3L/oSiW3xyRtPqHG5F9UkfNw9 okg+N6lUgKILk5RFndJf7B1oGBsDp40IDLzT2tRXasivI343X0iCnzUVRlLO3uXoan2Rwau3EkU TXxaKprvuOn2xnop6ic+WLfeMv5kpX19Q+3FrnBCUW1UXkgz3HKEV3u7pAVMVRARSwYeYz7oEjK M9yyvWrl94c/XQtA2mxcc/4Khwecw71FMxiUB5Vqss1x6rNmCUdT+I2r2P18IcE9EmbfiWteJrp K212rXAjw== X-Received: by 2002:a05:6512:3b9e:b0:5a1:3a0f:f2d6 with SMTP id 2adb3069b0e04-5a162b06d05mr249759e87.34.1773340854947; Thu, 12 Mar 2026 11:40:54 -0700 (PDT) Received: from ubuntu.. (static.159.107.27.37.clients.your-server.de. [37.27.107.159]) by smtp.gmail.com with ESMTPSA id 2adb3069b0e04-5a15636b69dsm1107694e87.82.2026.03.12.11.40.54 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 12 Mar 2026 11:40:54 -0700 (PDT) From: Josh Law X-Google-Original-From: Josh Law To: "Liam R . Howlett" , Andrew Morton Cc: Alice Ryhl , Andrew Ballance , Josh Law , maple-tree@lists.infradead.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org Subject: [PATCH 2/3] lib/maple_tree: fix always-true condition in mas_erase() Date: Thu, 12 Mar 2026 18:40:54 +0000 Message-Id: <20260312184054.23481-2-objecting@objecting.org> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20260312184054.23481-1-objecting@objecting.org> References: <20260312184054.23481-1-objecting@objecting.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit The condition (!mas_is_active(mas) || !mas_is_start(mas)) is always true because ma_active and ma_start are distinct enum values -- a state can never be both simultaneously. This causes mas_erase() to unconditionally reset the status to ma_start, discarding a valid active walk position. Change || to && so the reset only fires when the state is neither active nor start, matching the equivalent guard in mas_walk(). Signed-off-by: Josh Law --- 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 87a2ba6468ca..9727dcefbf65 100644 --- a/lib/maple_tree.c +++ b/lib/maple_tree.c @@ -5574,7 +5574,7 @@ void *mas_erase(struct ma_state *mas) unsigned long index = mas->index; MA_WR_STATE(wr_mas, mas, NULL); - if (!mas_is_active(mas) || !mas_is_start(mas)) + if (!mas_is_active(mas) && !mas_is_start(mas)) mas->status = ma_start; write_retry: -- 2.34.1