lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <2asqgre2rmhe57zo2w446s5ohk2psqmvqkpthyfujoc3klylqf@wcayx3xqnzqk>
Date: Thu, 13 Feb 2025 14:37:28 -0500
From: "Liam R. Howlett" <Liam.Howlett@...cle.com>
To: Petr Tesarik <ptesarik@...e.com>
Cc: Andrew Morton <akpm@...ux-foundation.org>,
        "open list:MAPLE TREE" <maple-tree@...ts.infradead.org>,
        "open list:MAPLE TREE" <linux-mm@...ck.org>,
        "open list:LIBRARY CODE" <linux-kernel@...r.kernel.org>
Subject: Re: [PATCH] maple_tree: Remove a BUG_ON() in mas_alloc_nodes()

* Petr Tesarik <ptesarik@...e.com> [250213 06:45]:
> Remove a BUG_ON() right before a WARN_ON() with the same condition.
> 
> Calling WARN_ON() and BUG_ON() here is definitely wrong.  Since the goal is
> generally to remove BUG_ON() invocations from the kernel, keep only the
> WARN_ON().

Sure.. but this isn't going to have the end result of not crashing.  We
ran out of allocations so we will very quickly be dereferencing NULL.

Care has been taken to avoid this from happening, so I'm fine with
either as this comes up in testing only.  In fact, I probably added this
during the testing and it slipped through.  Thanks for finding it.

> 
> Fixes: 067311d33e65 ("maple_tree: separate ma_state node from status")
> Signed-off-by: Petr Tesarik <ptesarik@...e.com>

Reviewed-by: Liam R. Howlett <Liam.Howlett@...cle.com>


> ---
>  lib/maple_tree.c | 1 -
>  1 file changed, 1 deletion(-)
> 
> diff --git a/lib/maple_tree.c b/lib/maple_tree.c
> index f7153ade1be5..0f2111d436c4 100644
> --- a/lib/maple_tree.c
> +++ b/lib/maple_tree.c
> @@ -1245,7 +1245,6 @@ static inline void mas_alloc_nodes(struct ma_state *mas, gfp_t gfp)
>  	if (mas->mas_flags & MA_STATE_PREALLOC) {
>  		if (allocated)
>  			return;
> -		BUG_ON(!allocated);
>  		WARN_ON(!allocated);
>  	}
>  
> -- 
> 2.48.1
> 

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ