summaryrefslogtreecommitdiffstats
path: root/fs/ext4/dir.c
diff options
context:
space:
mode:
authorGuo Chao <yan@linux.vnet.ibm.com>2013-01-28 21:23:24 -0500
committerTheodore Ts'o <tytso@mit.edu>2013-01-28 21:23:24 -0500
commitd5ac77730516028f3ceda825abefac9a1153b138 (patch)
treee42b54a9dd95eaca6026ea350d0a3241da6d4072 /fs/ext4/dir.c
parentb06acd38a44127b382fa53e49878f7a2b70af6f2 (diff)
downloadlinux-stable-d5ac77730516028f3ceda825abefac9a1153b138.tar.gz
linux-stable-d5ac77730516028f3ceda825abefac9a1153b138.tar.bz2
linux-stable-d5ac77730516028f3ceda825abefac9a1153b138.zip
ext4: release buffer when checksum failed
Commit b0336e8d (ext4: calculate and verify checksums of directory leaf blocks) and commit dbe89444 (ext4: Calculate and verify checksums for htree nodes) forget to release buffer when checksum failed, at some places. Signed-off-by: Guo Chao <yan@linux.vnet.ibm.com> Signed-off-by: "Theodore Ts'o" <tytso@mit.edu> Reviewed-by: Darrick J. Wong <darrick.wong@oracle.com>
Diffstat (limited to 'fs/ext4/dir.c')
-rw-r--r--fs/ext4/dir.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/fs/ext4/dir.c b/fs/ext4/dir.c
index 80a28b297279..3882fbc5e215 100644
--- a/fs/ext4/dir.c
+++ b/fs/ext4/dir.c
@@ -185,6 +185,7 @@ static int ext4_readdir(struct file *filp,
"at offset %llu",
(unsigned long long)filp->f_pos);
filp->f_pos += sb->s_blocksize - offset;
+ brelse(bh);
continue;
}
set_buffer_verified(bh);