ext4: fix buffer leak in ext4_xattr_get_block() on error path
authorVasily Averin <vvs@virtuozzo.com>
Wed, 7 Nov 2018 16:01:33 +0000 (11:01 -0500)
committerTheodore Ts'o <tytso@mit.edu>
Wed, 7 Nov 2018 16:01:33 +0000 (11:01 -0500)
Fixes: dec214d00e0d ("ext4: xattr inode deduplication")
Signed-off-by: Vasily Averin <vvs@virtuozzo.com>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
Cc: stable@kernel.org # 4.13
fs/ext4/xattr.c

index dc1aeab..07c3a11 100644 (file)
@@ -2272,8 +2272,10 @@ static struct buffer_head *ext4_xattr_get_block(struct inode *inode)
        if (!bh)
                return ERR_PTR(-EIO);
        error = ext4_xattr_check_block(inode, bh);
-       if (error)
+       if (error) {
+               brelse(bh);
                return ERR_PTR(error);
+       }
        return bh;
 }