On 02/07/16 09:05, Salah Triki wrote:
> The calls to brelse are useless since dbl_indir_block and indir_block
> are NULL.
> 
> Signed-off-by: Salah Triki <[email protected]>
> ---
>  fs/befs/datastream.c | 2 --
>  1 file changed, 2 deletions(-)
> 
> diff --git a/fs/befs/datastream.c b/fs/befs/datastream.c
> index e224b9a..b68b6f9 100644
> --- a/fs/befs/datastream.c
> +++ b/fs/befs/datastream.c
> @@ -471,7 +471,6 @@ befs_find_brun_dblindirect(struct super_block *sb,
>                          (unsigned long)
>                          iaddr2blockno(sb, &data->double_indirect) +
>                          dbl_which_block);
> -             brelse(dbl_indir_block);
>               return BEFS_ERR;
>       }
>  
> @@ -496,7 +495,6 @@ befs_find_brun_dblindirect(struct super_block *sb,
>               befs_error(sb, "%s couldn't read the indirect block "
>                          "at blockno %lu", __func__, (unsigned long)
>                          iaddr2blockno(sb, &indir_run) + which_block);
> -             brelse(indir_block);
>               return BEFS_ERR;
>       }
>  
> 

Great catch!

This went unnoticed because brelse() checks if the buffer_head is NULL before
decrementing the reference count. Which in these two cases they clearly are 
NULL.

Acked-by: Luis de Bethencourt <[email protected]>

Thanks!
Luis

Reply via email to