[PATCH 3.12 074/116] Btrfs: add missing brelse when superblock checksum fails

From: Jiri Slaby
Date: Fri Mar 04 2016 - 04:27:53 EST


From: Anand Jain <anand.jain@xxxxxxxxxx>

3.12-stable review patch. If anyone has any objections, please let me know.

===============

commit b2acdddfad13c38a1e8b927d83c3cf321f63601a upstream.

Looks like oversight, call brelse() when checksum fails. Further down the
code, in the non error path, we do call brelse() and so we don't see
brelse() in the goto error paths.

Signed-off-by: Anand Jain <anand.jain@xxxxxxxxxx>
Reviewed-by: David Sterba <dsterba@xxxxxxxx>
Signed-off-by: David Sterba <dsterba@xxxxxxxx>
Signed-off-by: Jiri Slaby <jslaby@xxxxxxx>
---
fs/btrfs/disk-io.c | 1 +
1 file changed, 1 insertion(+)

diff --git a/fs/btrfs/disk-io.c b/fs/btrfs/disk-io.c
index 3ec1cb0808c3..2622ec8a76f0 100644
--- a/fs/btrfs/disk-io.c
+++ b/fs/btrfs/disk-io.c
@@ -2340,6 +2340,7 @@ int open_ctree(struct super_block *sb,
bh = btrfs_read_dev_super(fs_devices->latest_bdev);
if (!bh) {
err = -EINVAL;
+ brelse(bh);
goto fail_alloc;
}

--
2.7.2