From: Vasily Averin Date: Wed, 7 Nov 2018 16:07:01 +0000 (-0500) Subject: ext4: release bs.bh before re-using in ext4_xattr_block_find() X-Git-Tag: v4.18.20~54 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=93b0fc8e900551e70ec77828a665981c5e61d939;p=thirdparty%2Fkernel%2Fstable.git ext4: release bs.bh before re-using in ext4_xattr_block_find() commit 45ae932d246f721e6584430017176cbcadfde610 upstream. bs.bh was taken in previous ext4_xattr_block_find() call, it should be released before re-using Fixes: 7e01c8e5420b ("ext3/4: fix uninitialized bs in ...") Signed-off-by: Vasily Averin Signed-off-by: Theodore Ts'o Cc: stable@kernel.org # 2.6.26 Signed-off-by: Greg Kroah-Hartman --- diff --git a/fs/ext4/xattr.c b/fs/ext4/xattr.c index e66100848bb75..163973bb30669 100644 --- a/fs/ext4/xattr.c +++ b/fs/ext4/xattr.c @@ -2405,6 +2405,8 @@ retry_inode: error = ext4_xattr_block_set(handle, inode, &i, &bs); } else if (error == -ENOSPC) { if (EXT4_I(inode)->i_file_acl && !bs.s.base) { + brelse(bs.bh); + bs.bh = NULL; error = ext4_xattr_block_find(inode, &i, &bs); if (error) goto cleanup;