Re: [PATCH 1/7] ext4: lost brelse in __ext4_read_dirblock()

From: Theodore Y. Ts'o
Date: Wed Nov 07 2018 - 10:25:53 EST


On Wed, Oct 31, 2018 at 10:12:18PM +0300, Vasily Averin wrote:
> Fixes dc6982ff4db1 ("ext4: refactor code to read directory blocks ...") # 3.9
>
> Signed-off-by: Vasily Averin <vvs@xxxxxxxxxxxxx>
> ---
> fs/ext4/namei.c | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/fs/ext4/namei.c b/fs/ext4/namei.c
> index d388cce72db2..1a21e59ede72 100644
> --- a/fs/ext4/namei.c
> +++ b/fs/ext4/namei.c
> @@ -111,6 +111,7 @@ static struct buffer_head *__ext4_read_dirblock(struct inode *inode,
> if (!bh) {
> ext4_error_inode(inode, func, line, block,
> "Directory hole found");
> + brelse(bh);
> return ERR_PTR(-EFSCORRUPTED);
> }
> dirent = (struct ext4_dir_entry *) bh->b_data;

Inside the conditional, bh == NULL, so the brelse isn't needed.

Cheers,

- Ted