Message ID | 1a83ea26-a159-490a-1e07-e7c8f187672a@virtuozzo.com |
---|---|
State | Accepted, archived |
Headers | show |
Series | [1/7] ext4: lost brelse in __ext4_read_dirblock() | expand |
On Wed, Oct 31, 2018 at 10:12:52PM +0300, Vasily Averin wrote: > 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 ...") # 2.6.26 > cc: Tiger Yang <tiger.yang@oracle.com> > > Signed-off-by: Vasily Averin <vvs@virtuozzo.com> Thanks, applied. I used the commit description: ext4: release bs.bh before re-using in ext4_xattr_block_find() - Ted
diff --git a/fs/ext4/xattr.c b/fs/ext4/xattr.c index 07c3a115f7ae..07b9a335c8eb 100644 --- a/fs/ext4/xattr.c +++ b/fs/ext4/xattr.c @@ -2395,6 +2395,8 @@ ext4_xattr_set_handle(handle_t *handle, struct inode *inode, int name_index, 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;
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 ...") # 2.6.26 cc: Tiger Yang <tiger.yang@oracle.com> Signed-off-by: Vasily Averin <vvs@virtuozzo.com> --- fs/ext4/xattr.c | 2 ++ 1 file changed, 2 insertions(+)