f2fs: fix encrypted page memory leak
For IPU path of f2fs_do_write_data_page(), in its error path, we need to release encrypted page and fscrypt context, otherwise it will cause memory leak. Signed-off-by: Chao Yu <yuchao0@huawei.com> Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
This commit is contained in:
parent
40c3640495
commit
ac589b083d
1 changed files with 7 additions and 2 deletions
|
@ -1857,8 +1857,13 @@ got_it:
|
|||
if (fio->need_lock == LOCK_REQ)
|
||||
f2fs_unlock_op(fio->sbi);
|
||||
err = f2fs_inplace_write_data(fio);
|
||||
if (err && PageWriteback(page))
|
||||
end_page_writeback(page);
|
||||
if (err) {
|
||||
if (f2fs_encrypted_file(inode))
|
||||
fscrypt_pullback_bio_page(&fio->encrypted_page,
|
||||
true);
|
||||
if (PageWriteback(page))
|
||||
end_page_writeback(page);
|
||||
}
|
||||
trace_f2fs_do_write_data_page(fio->page, IPU);
|
||||
set_inode_flag(inode, FI_UPDATE_WRITE);
|
||||
return err;
|
||||
|
|
Loading…
Add table
Reference in a new issue