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 808C2E67493 for ; Fri, 1 Nov 2024 03:38:02 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id ADE2F6B0088; Thu, 31 Oct 2024 23:38:01 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id A655C6B0089; Thu, 31 Oct 2024 23:38:01 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 8DF416B00A1; Thu, 31 Oct 2024 23:38:01 -0400 (EDT) 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 6E30E6B0088 for ; Thu, 31 Oct 2024 23:38:01 -0400 (EDT) Received: from smtpin02.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay02.hostedemail.com (Postfix) with ESMTP id C3D841219A1 for ; Fri, 1 Nov 2024 03:38:00 +0000 (UTC) X-FDA: 82736117226.02.01D0C41 Received: from nyc.source.kernel.org (nyc.source.kernel.org [147.75.193.91]) by imf17.hostedemail.com (Postfix) with ESMTP id B0BE640003 for ; Fri, 1 Nov 2024 03:37:37 +0000 (UTC) Authentication-Results: imf17.hostedemail.com; dkim=pass header.d=linux-foundation.org header.s=korg header.b=sYWwRRYB; spf=pass (imf17.hostedemail.com: domain of akpm@linux-foundation.org designates 147.75.193.91 as permitted sender) smtp.mailfrom=akpm@linux-foundation.org; dmarc=none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1730432147; 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-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=6TcO7uUPAR0Weu0xd6W0/SEmOFvInMs5EoZBuaGINNE=; b=MQ9E0doFb9SQ0whmKZGIXoo1y74YLUssjHR1EIbBQwAlScOCOxgcLZmK8UCDv8LAsFhPMs yGyPlffH1A/in7tl8SIslIk0YQZiTbmZGgph7edYGqM0m+OSiMRC1QwZhAU9XpPnf6mJCx 21dqFhErGPmBuOVethQkEM5xw+uOUZs= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1730432147; a=rsa-sha256; cv=none; b=l8hqUalZtYrh7xyCmCIYM4TZTaCkerWUQkb7mss5szV1aGAKhVLwMaJWeoAqb/ayKxETrF vrOEnnlRx0m9WLujzu61NGo6XBnl7UIhqvdjitI8yfP60Tf+beDb41Qa3tQpzEDZycNpUw m7jsRSMAIOkraj/t2zJjvZEb3Li2MWo= ARC-Authentication-Results: i=1; imf17.hostedemail.com; dkim=pass header.d=linux-foundation.org header.s=korg header.b=sYWwRRYB; spf=pass (imf17.hostedemail.com: domain of akpm@linux-foundation.org designates 147.75.193.91 as permitted sender) smtp.mailfrom=akpm@linux-foundation.org; dmarc=none Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by nyc.source.kernel.org (Postfix) with ESMTP id A7AD4A40272; Fri, 1 Nov 2024 03:36:02 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id B341FC4CECD; Fri, 1 Nov 2024 03:37:57 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linux-foundation.org; s=korg; t=1730432277; bh=QFTxW43OBNhrVdTOh+mYjUCjG8SbOZryNiYarCYxye4=; h=Date:From:To:Cc:Subject:In-Reply-To:References:From; b=sYWwRRYBMROdXEvO18MYUnyFQAuRUSQxsaiYtpMPql+TP13V43QMneYcVFdnv0OFW 3XwVsb47eJ5/ncH7n/WVqmEvUtbVMYv4ahLAiVWeVCioFcl8v52hctAZwoi3eZBsW1 0glBaoSC4HAbgZFKzgiSbxTSSeDdBvPfQjmnuzlI= Date: Thu, 31 Oct 2024 20:37:57 -0700 From: Andrew Morton To: Wei Yang Cc: Liam.Howlett@oracle.com, maple-tree@lists.infradead.org, linux-mm@kvack.org, "Liam R . Howlett" , Sidhartha Kumar , Lorenzo Stoakes Subject: Re: [PATCH v5 5/5] maple_tree: add a test checking storing null Message-Id: <20241031203757.171bcfe311460e7d61b7f1fc@linux-foundation.org> In-Reply-To: <20241031231627.14316-6-richard.weiyang@gmail.com> References: <20241031231627.14316-1-richard.weiyang@gmail.com> <20241031231627.14316-6-richard.weiyang@gmail.com> X-Mailer: Sylpheed 3.8.0beta1 (GTK+ 2.24.33; x86_64-pc-linux-gnu) Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit X-Rspam-User: X-Rspamd-Server: rspam12 X-Rspamd-Queue-Id: B0BE640003 X-Stat-Signature: tejxtznjh6pbodjtsste9ghgojdqpypn X-HE-Tag: 1730432257-680681 X-HE-Meta: U2FsdGVkX18a8tC3ZTGjMFyIXnGQVnZ87SHZNVSo7mh2pe4yre0rU1FAKwEZCRlekwWD6xjJpN5Iz1ICAhFIhW5LG2dpRy4Dsm9UTL5LkMIjeGOyWqGgfISawOgHG5MNQmpeM30NU3IqEAu8p77QT92hrNDNSzJf7DDEk/THoJQOyXxg5slBo7JYdX0Cd+RF1myVNIpDyJqmLknOVaTr9nq7LFTAEwt1Fol1qqmFVvTPIANNT3r6neNw3lMdjQZ4aRnhV2BP0FlwtSuH3UvqE6O4aLO4/QLqLtYcesxJxTGJy8Xyytsx9RXAy6R0Xt66aKdpc19jXNvxlQPOOlcIG68gC2nPjmAW+9fvw8ryPICRXtGVncmhkTVIAYYUuUerKaZjQgtvMuNYz+UWpbNaudKAYPRJEHsz1Zr7OuA0Vli+O66QrFlx5zX9ZuN6kf3U7q9t27vEOEKMTtEeF6RSngmuXWngh/cZJ98b4ZVAaplQQLp3WM7mUMC17FJIlTBkjwSoCdm2bYplL3SNit9xeQEiqlp/CQbuSMFW8xFi0Dd51tykLapLAgSpEqo+I176LBDov/VcbWKOQn6JBKmistkL1I9wEvMdygfcHbCxTu5sMFj6ZoMh3tr72YK0WDvUt+GmAvlmRnDXoHbvspUfyXqtMNWfynfdXWoeTJ1nhbXEhfazJIJ2hZbjttOtW0DsAOg4NFmdKhD6KSCQVD/M2EYv0jP9jSP2yhZQedBC5fzyU2oiv8Ymaka9eGtzxno9/UHSd3N+oDdCUzbgQ2/tNF7KTOR6aC3LXZIrBRnT0Wgo9kPvjN0nRIMMipTQU9nLmFHsoTuLWUhZ9Qm4PFMkNJxdFz5eFC4+6jxs1O96y+O4MGSO2Zk7YWPuVoj7fMVrtza72N2BXpLhQIeq57Iw65LWE47QDcL+BdYZ6Ug+hUS7Kj3S+AlqJDwLufcuWHQYU5iirq6ieUHbaCJQ3de h1eNFKeI Avi2A0v5M2YS+NmAjGrX1tLzktBwWPdUcs76qloO+8NFvGQUkNCxt4hteT6u1EBuVxxUbDOztYwV39YT7Dj2gOQrpTEizXHCRMKFyKjNo/w08n2f+ltLxtWh55WRurXa/jarBjsq8J67HSb+ywzg7DknjAmmdxjpfh23IIigu4wa95eBYFL4lKdMmgZ9k5ilVWQj3T5EJk3gu9F7XGKohO60xPlA6oiBa71AoSEIQa2wmQODpqBqScQ7dG0FEx88CUZ5phy5vICakfrqRZwnBtDW3lhx6bbCLgFb8DX02HcTSgftWHEVHhhSVkoRCH1QEfhCvQYXXfR19Yyi/iONj2mP/1ZHfcWcPX9FMxKf/+8hm+x0jDzzjybcofqSGeLzGGuk0/eGpTQsolTk= 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 Thu, 31 Oct 2024 23:16:27 +0000 Wei Yang wrote: > Add a test to assert that, when storing null to am empty tree or a > single entry tree it will not result into: > > * a root node with range [0, ULONG_MAX] set to NULL > * a root node with consecutive slot set to NULL > I don't get it. > --- a/lib/test_maple_tree.c > +++ b/lib/test_maple_tree.c > @@ -1387,6 +1387,92 @@ static noinline void __init check_prev_entry(struct maple_tree *mt) > mas_unlock(&mas); > } > > +static noinline void __init check_store_null(struct maple_tree *mt) > +{ > + MA_STATE(mas, mt, 0, ULONG_MAX); > + > > ... > > + MT_BUG_ON(mt, !xa_is_node(mas_root(&mas))); > ... > mas_root() is private to lib/maple_tree.c. I'll do this for now: --- a/lib/test_maple_tree.c~maple_tree-add-a-test-checking-storing-null-fix +++ a/lib/test_maple_tree.c @@ -1453,7 +1453,7 @@ static noinline void __init check_store_ mas_set_range(&mas, 2, 5); mas_store_gfp(&mas, NULL, GFP_KERNEL); MT_BUG_ON(mt, mtree_empty(mt)); - MT_BUG_ON(mt, xa_is_node(mas_root(&mas))); +// MT_BUG_ON(mt, xa_is_node(mas_root(&mas))); mas_unlock(&mas); mtree_destroy(mt); @@ -1465,7 +1465,7 @@ static noinline void __init check_store_ mas_lock(&mas); mas_set_range(&mas, 1, 3); mas_store_gfp(&mas, &mas, GFP_KERNEL); - MT_BUG_ON(mt, !xa_is_node(mas_root(&mas))); +// MT_BUG_ON(mt, !xa_is_node(mas_root(&mas))); mas_set_range(&mas, 0, ULONG_MAX); mas_store_gfp(&mas, NULL, GFP_KERNEL); MT_BUG_ON(mt, !mtree_empty(mt)); _