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: <B6970757-8D00-422E-A8B9-658A4CBAB41D@redhat.com>
Date:   Fri, 20 May 2022 07:04:00 -0400
From:   "Benjamin Coddington" <bcodding@...hat.com>
To:     "Javier Abrego" <javier.abrego.lorente@...il.com>
Cc:     trond.myklebust@...merspace.com, anna@...nel.org,
        linux-nfs@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH] nfs: removed goto statement

On 20 May 2022, at 4:50, Javier Abrego wrote:

> In this function goto can be replaced. Avoiding goto will improve the
> readability
>
> Signed-off-by: Javier Abrego<javier.abrego.lorente@...il.com>
> ---
>  fs/nfs/nfs42xattr.c | 28 +++++++++++++---------------
>  1 file changed, 13 insertions(+), 15 deletions(-)
>
> diff --git a/fs/nfs/nfs42xattr.c b/fs/nfs/nfs42xattr.c
> index e7b34f7e0..9bf3a88fd 100644
> --- a/fs/nfs/nfs42xattr.c
> +++ b/fs/nfs/nfs42xattr.c
> @@ -747,21 +747,19 @@ void nfs4_xattr_cache_set_list(struct inode 
> *inode, const char *buf,
>  		return;
>
>  	entry = nfs4_xattr_alloc_entry(NULL, buf, NULL, buflen);
> -	if (entry == NULL)
> -		goto out;
> -
> -	/*
> -	 * This is just there to be able to get to bucket->cache,
> -	 * which is obviously the same for all buckets, so just
> -	 * use bucket 0.
> -	 */
> -	entry->bucket = &cache->buckets[0];
> -
> -	if (!nfs4_xattr_set_listcache(cache, entry))
> -		kref_put(&entry->ref, nfs4_xattr_free_entry_cb);
> -
> -out:
> -	kref_put(&cache->ref, nfs4_xattr_free_cache_cb);
> +	if (entry == NULL) {
> +		kref_put(&cache->ref, nfs4_xattr_free_cache_cb);
> +	} else {
> +	       /*
> +		* This is just there to be able to get to bucket->cache,
> +		* which is obviously the same for all buckets, so just
> +		* use bucket 0.
> +		*/
> +		entry->bucket = &cache->buckets[0];
> +
> +		if (!nfs4_xattr_set_listcache(cache, entry))
> +			kref_put(&entry->ref, nfs4_xattr_free_entry_cb);
> +	}
>  }
>
>  /*
> -- 
> 2.25.1

No, NACK because you removed the kref_put of cache->ref.  I find this
function quite readable as it is.

Ben

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ