mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-12-11 13:04:03 +08:00
exofs: Fix bio leak in error handling path (sync read)
When failing a read request in the sync path, called from write_begin, I forgot to free the allocated bio, fix it. Signed-off-by: Boaz Harrosh <bharrosh@panasas.com>
This commit is contained in:
parent
c277331d5f
commit
b76a3f93d0
@ -295,6 +295,9 @@ static int read_exec(struct page_collect *pcol, bool is_sync)
|
|||||||
err:
|
err:
|
||||||
if (!is_sync)
|
if (!is_sync)
|
||||||
_unlock_pcol_pages(pcol, ret, READ);
|
_unlock_pcol_pages(pcol, ret, READ);
|
||||||
|
else /* Pages unlocked by caller in sync mode only free bio */
|
||||||
|
pcol_free(pcol);
|
||||||
|
|
||||||
kfree(pcol_copy);
|
kfree(pcol_copy);
|
||||||
if (or)
|
if (or)
|
||||||
osd_end_request(or);
|
osd_end_request(or);
|
||||||
|
Loading…
Reference in New Issue
Block a user