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] [thread-next>] [day] [month] [year] [list]
Message-ID: <20220105053522.ql7hg3luxn6gsp7m@riteshh-domain>
Date:   Wed, 5 Jan 2022 11:05:22 +0530
From:   riteshh <riteshh@...ux.ibm.com>
To:     cgel.zte@...il.com
Cc:     lczerner@...hat.com, adilger.kernel@...ger.ca,
        linux-ext4@...r.kernel.org, linux-kernel@...r.kernel.org,
        tytso@....edu, xu.xin16@....com.cn, zealci@....com.cn
Subject: Re: [PATCH resend] fs/ext4: use BUG_ON instead of if condition
 followed by BUG

On 21/12/28 07:32AM, cgel.zte@...il.com wrote:
> From: xu xin <xu.xin16@....com.cn>
>
> BUG_ON would be better.

While we are at it, I feel correcting below BUG() in the same patch(es?)
might be useful too.

diff --git a/fs/ext4/inode.c b/fs/ext4/inode.c
index bfd3545f1e5d..5656b4a9007b 100644
--- a/fs/ext4/inode.c
+++ b/fs/ext4/inode.c
@@ -1879,10 +1879,7 @@ static int __ext4_journalled_writepage(struct page *page,
                        goto out;
        } else {
                page_bufs = page_buffers(page);
-               if (!page_bufs) {
-                       BUG();
-                       goto out;
-               }
+               BUG_ON(!page_bufs);
                ext4_walk_page_buffers(handle, inode, page_bufs, 0, len,
                                       NULL, bget_one);
        }

-riteshh

>
> This issue was detected with the help of Coccinelle.
>
> Reported-by: Zeal robot <zealci@....com.cn>
> Reviewed-by: Lukas Czerner <lczerner@...hat.com>
> Signed-off-by: xu xin <xu.xin16@....com.cn>
> ---
>  fs/ext4/ext4.h | 3 +--
>  1 file changed, 1 insertion(+), 2 deletions(-)
>
> diff --git a/fs/ext4/ext4.h b/fs/ext4/ext4.h
> index 9cc55bcda6ba..00bc3f67d37f 100644
> --- a/fs/ext4/ext4.h
> +++ b/fs/ext4/ext4.h
> @@ -2400,8 +2400,7 @@ ext4_rec_len_from_disk(__le16 dlen, unsigned blocksize)
>
>  static inline __le16 ext4_rec_len_to_disk(unsigned len, unsigned blocksize)
>  {
> -	if ((len > blocksize) || (blocksize > (1 << 18)) || (len & 3))
> -		BUG();
> +	BUG_ON((len > blocksize) || (blocksize > (1 << 18)) || (len & 3));
>  #if (PAGE_SIZE >= 65536)
>  	if (len < 65536)
>  		return cpu_to_le16(len);
> --
> 2.25.1
>

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ