I was wrong here, but brelse is lost in next error in this function.
I'll resend new patch.

On 11/7/18 6:25 PM, Theodore Y. Ts'o wrote:
> 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 <[email protected]>
>> ---
>>  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
> 

Reply via email to