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: <alpine.DEB.2.02.1411021150540.2239@localhost6.localdomain6>
Date:	Sun, 2 Nov 2014 11:51:40 +0100 (CET)
From:	Julia Lawall <julia.lawall@...6.fr>
To:	SF Markus Elfring <elfring@...rs.sourceforge.net>
cc:	Mark Fasheh <mfasheh@...e.com>, Joel Becker <jlbec@...lplan.org>,
	ocfs2-devel@....oracle.com, linux-kernel@...r.kernel.org,
	kernel-janitors@...r.kernel.org, trivial@...nel.org,
	Coccinelle <cocci@...teme.lip6.fr>
Subject: Re: [PATCH 1/1] ocfs2: Deletion of unnecessary checks before two
 function calls

On Sun, 2 Nov 2014, SF Markus Elfring wrote:

> The functions iput() and ocfs2_free_path() test whether their argument
> is NULL and then return immediately. Thus the test around the call
> is not needed.

Please check whether more labels could be added to avoid executing 
unnecessary code.

julia


> This issue was detected by using the Coccinelle software.
> 
> Signed-off-by: Markus Elfring <elfring@...rs.sourceforge.net>
> ---
>  fs/ocfs2/alloc.c      | 15 +++++----------
>  fs/ocfs2/ioctl.c      |  3 +--
>  fs/ocfs2/journal.c    |  9 +++------
>  fs/ocfs2/localalloc.c |  9 +++------
>  fs/ocfs2/namei.c      |  3 +--
>  fs/ocfs2/slot_map.c   |  3 +--
>  fs/ocfs2/super.c      |  3 +--
>  7 files changed, 15 insertions(+), 30 deletions(-)
> 
> diff --git a/fs/ocfs2/alloc.c b/fs/ocfs2/alloc.c
> index a93bf98..2e0ab63 100644
> --- a/fs/ocfs2/alloc.c
> +++ b/fs/ocfs2/alloc.c
> @@ -3453,8 +3453,7 @@ static int ocfs2_merge_rec_right(struct ocfs2_path *left_path,
>  					   subtree_index);
>  	}
>  out:
> -	if (right_path)
> -		ocfs2_free_path(right_path);
> +	ocfs2_free_path(right_path);
>  	return ret;
>  }
> 
> @@ -3647,8 +3646,7 @@ static int ocfs2_merge_rec_left(struct ocfs2_path *right_path,
>  						   right_path, subtree_index);
>  	}
>  out:
> -	if (left_path)
> -		ocfs2_free_path(left_path);
> +	ocfs2_free_path(left_path);
>  	return ret;
>  }
> 
> @@ -4431,10 +4429,8 @@ ocfs2_figure_merge_contig_type(struct ocfs2_extent_tree *et,
>  	}
> 
>  out:
> -	if (left_path)
> -		ocfs2_free_path(left_path);
> -	if (right_path)
> -		ocfs2_free_path(right_path);
> +	ocfs2_free_path(left_path);
> +	ocfs2_free_path(right_path);
> 
>  	return ret;
>  }
> @@ -6157,8 +6153,7 @@ int ocfs2_begin_truncate_log_recovery(struct ocfs2_super *osb,
>  	}
> 
>  bail:
> -	if (tl_inode)
> -		iput(tl_inode);
> +	iput(tl_inode);
>  	brelse(tl_bh);
> 
>  	if (status < 0 && (*tl_copy)) {
> diff --git a/fs/ocfs2/ioctl.c b/fs/ocfs2/ioctl.c
> index 53e6c40..28afb56 100644
> --- a/fs/ocfs2/ioctl.c
> +++ b/fs/ocfs2/ioctl.c
> @@ -606,8 +606,7 @@ bail:
>  	if (gb_inode)
>  		mutex_unlock(&gb_inode->i_mutex);
> 
> -	if (gb_inode)
> -		iput(gb_inode);
> +	iput(gb_inode);
> 
>  	brelse(bh);
> 
> diff --git a/fs/ocfs2/journal.c b/fs/ocfs2/journal.c
> index 4b0c688..f94be68 100644
> --- a/fs/ocfs2/journal.c
> +++ b/fs/ocfs2/journal.c
> @@ -1009,8 +1009,7 @@ void ocfs2_journal_shutdown(struct ocfs2_super *osb)
> 
>  //	up_write(&journal->j_trans_barrier);
>  done:
> -	if (inode)
> -		iput(inode);
> +	iput(inode);
>  }
> 
>  static void ocfs2_clear_journal_error(struct super_block *sb,
> @@ -1646,8 +1645,7 @@ done:
>  	if (got_lock)
>  		ocfs2_inode_unlock(inode, 1);
> 
> -	if (inode)
> -		iput(inode);
> +	iput(inode);
> 
>  	brelse(bh);
> 
> @@ -1755,8 +1753,7 @@ static int ocfs2_trylock_journal(struct ocfs2_super *osb,
> 
>  	ocfs2_inode_unlock(inode, 1);
>  bail:
> -	if (inode)
> -		iput(inode);
> +	iput(inode);
> 
>  	return status;
>  }
> diff --git a/fs/ocfs2/localalloc.c b/fs/ocfs2/localalloc.c
> index 0440134..7eca277 100644
> --- a/fs/ocfs2/localalloc.c
> +++ b/fs/ocfs2/localalloc.c
> @@ -358,8 +358,7 @@ int ocfs2_load_local_alloc(struct ocfs2_super *osb)
>  bail:
>  	if (status < 0)
>  		brelse(alloc_bh);
> -	if (inode)
> -		iput(inode);
> +	iput(inode);
> 
>  	trace_ocfs2_load_local_alloc(osb->local_alloc_bits);
> 
> @@ -473,8 +472,7 @@ out_mutex:
>  	iput(main_bm_inode);
> 
>  out:
> -	if (local_alloc_inode)
> -		iput(local_alloc_inode);
> +	iput(local_alloc_inode);
> 
>  	kfree(alloc_copy);
>  }
> @@ -1328,8 +1326,7 @@ bail:
> 
>  	brelse(main_bm_bh);
> 
> -	if (main_bm_inode)
> -		iput(main_bm_inode);
> +	iput(main_bm_inode);
> 
>  	kfree(alloc_copy);
> 
> diff --git a/fs/ocfs2/namei.c b/fs/ocfs2/namei.c
> index 8add6f1..a02593d 100644
> --- a/fs/ocfs2/namei.c
> +++ b/fs/ocfs2/namei.c
> @@ -1607,8 +1607,7 @@ bail:
>  	if (new_inode)
>  		sync_mapping_buffers(old_inode->i_mapping);
> 
> -	if (new_inode)
> -		iput(new_inode);
> +	iput(new_inode);
> 
>  	ocfs2_free_dir_lookup_result(&target_lookup_res);
>  	ocfs2_free_dir_lookup_result(&old_entry_lookup);
> diff --git a/fs/ocfs2/slot_map.c b/fs/ocfs2/slot_map.c
> index a88b2a4..c5c6eb0 100644
> --- a/fs/ocfs2/slot_map.c
> +++ b/fs/ocfs2/slot_map.c
> @@ -322,8 +322,7 @@ static void __ocfs2_free_slot_info(struct ocfs2_slot_info *si)
>  	if (si == NULL)
>  		return;
> 
> -	if (si->si_inode)
> -		iput(si->si_inode);
> +	iput(si->si_inode);
>  	if (si->si_bh) {
>  		for (i = 0; i < si->si_blocks; i++) {
>  			if (si->si_bh[i]) {
> diff --git a/fs/ocfs2/super.c b/fs/ocfs2/super.c
> index 4142546..5860f0f 100644
> --- a/fs/ocfs2/super.c
> +++ b/fs/ocfs2/super.c
> @@ -1723,8 +1723,7 @@ static int ocfs2_statfs(struct dentry *dentry, struct
> kstatfs *buf)
>  	ocfs2_inode_unlock(inode, 0);
>  	status = 0;
>  bail:
> -	if (inode)
> -		iput(inode);
> +	iput(inode);
> 
>  	if (status)
>  		mlog_errno(status);
> -- 
> 2.1.3
> 
> 
> --
> To unsubscribe from this list: send the line "unsubscribe kernel-janitors" in
> the body of a message to majordomo@...r.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> 
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ