Re: [PATCH linux-next] jbd: start_this_handle(): remove kfree()redundant null check

From: Jan Kara
Date: Thu Feb 14 2013 - 11:15:28 EST


On Tue 12-02-13 11:23:24, Tim Gardner wrote:
> smatch analysis:
>
> fs/jbd/transaction.c:236 start_this_handle() info: redundant null
> check on new_transaction calling kfree()
>
> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
> Cc: Jan Kara <jack@xxxxxxx>
> Cc: linux-ext4@xxxxxxxxxxxxxxx
> Signed-off-by: Tim Gardner <tim.gardner@xxxxxxxxxxxxx>
> ---
> fs/jbd/transaction.c | 3 +--
> 1 file changed, 1 insertion(+), 2 deletions(-)
>
> diff --git a/fs/jbd/transaction.c b/fs/jbd/transaction.c
> index 071d690..ee40b4e 100644
> --- a/fs/jbd/transaction.c
> +++ b/fs/jbd/transaction.c
> @@ -232,8 +232,7 @@ repeat_locked:
>
> lock_map_acquire(&handle->h_lockdep_map);
> out:
> - if (unlikely(new_transaction)) /* It's usually NULL */
> - kfree(new_transaction);
> + kfree(new_transaction);
> return ret;
Thanks for the patch but I actually think this is deliberate because
new_transaction is usually NULL while kfree() is optimized for passed
pointer to be usually != NULL. Also we save a function call in the common
case. So I'm for the code to stay as is.

Honza
--
Jan Kara <jack@xxxxxxx>
SUSE Labs, CR
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/