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 for Android: free password hash cracker in your pocket
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20231105235743.GS1957730@ZenIV>
Date:   Sun, 5 Nov 2023 23:57:43 +0000
From:   Al Viro <viro@...iv.linux.org.uk>
To:     Joey Pabalinas <joeypabalinas@...il.com>
Cc:     Linux Kernel Mailing List <linux-kernel@...r.kernel.org>
Subject: Re: [PATCH] fs: dlm: Remove impossible to hit if statement

On Sun, Nov 05, 2023 at 11:11:25PM +0000, Al Viro wrote:
> Sure, if you hit even a single iteration of that loop, you will
> have memb guaranteed to be non-NULL.  Therefore, to complete the
> proof you only need to consider what happens if there is not
> a single iteration.  Which is to say, what happens if the list
> is empty.  Well, either memb is uninitialized, or there is an
> intialization somewhere upstream.  Declaration is not far before
> that loop, and it is
>         struct dlm_member *memb = NULL;
> Er...  So for that change to be correct you need to show that
> the list (ls->ls_nodes) can not be empty here.  Unfortunately,
> it looks like it very much can be empty, seeing that this
> is apparently the only place where elements are added to
> the list in question.  So on the very first call it will
> hit your "impossible to hit" case.  Which leads to...
> 
> * the patch had apparently never been tested.

Looking at the uses of ->ls_nodes,  I wonder if xarray would be
a better fit here.  Might be interesting to investigate...

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ