mirror of https://gitee.com/openkylin/linux.git
udf: fix memory leak while allocating blocks during write
Need to brelse the buffer_head stored in cur_epos and next_epos. Signed-off-by: Namjae Jeon <namjae.jeon@samsung.com> Signed-off-by: Ashish Sangwan <a.sangwan@samsung.com> Signed-off-by: Jan Kara <jack@suse.cz>
This commit is contained in:
parent
25389bb207
commit
2fb7d99d0d
|
@ -765,6 +765,8 @@ static sector_t inode_getblk(struct inode *inode, sector_t block,
|
||||||
goal, err);
|
goal, err);
|
||||||
if (!newblocknum) {
|
if (!newblocknum) {
|
||||||
brelse(prev_epos.bh);
|
brelse(prev_epos.bh);
|
||||||
|
brelse(cur_epos.bh);
|
||||||
|
brelse(next_epos.bh);
|
||||||
*err = -ENOSPC;
|
*err = -ENOSPC;
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
@ -795,6 +797,8 @@ static sector_t inode_getblk(struct inode *inode, sector_t block,
|
||||||
udf_update_extents(inode, laarr, startnum, endnum, &prev_epos);
|
udf_update_extents(inode, laarr, startnum, endnum, &prev_epos);
|
||||||
|
|
||||||
brelse(prev_epos.bh);
|
brelse(prev_epos.bh);
|
||||||
|
brelse(cur_epos.bh);
|
||||||
|
brelse(next_epos.bh);
|
||||||
|
|
||||||
newblock = udf_get_pblock(inode->i_sb, newblocknum,
|
newblock = udf_get_pblock(inode->i_sb, newblocknum,
|
||||||
iinfo->i_location.partitionReferenceNum, 0);
|
iinfo->i_location.partitionReferenceNum, 0);
|
||||||
|
|
Loading…
Reference in New Issue