Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 861d6660 authored by Boaz Harrosh's avatar Boaz Harrosh
Browse files

exofs: don't leak io_state and pages on read error



Same bug as fixed by Idan for write_exec was in read_exec.
Fix the io_state leak and pages state on read error.

Also while at it:
The if (!pcol->read_4_write) at the error path is redundant
because all goto err; are after the if (pcol->read_4_write)
bale out.

Signed-off-by: default avatarBoaz Harrosh <bharrosh@panasas.com>
parent af402ab2
Loading
Loading
Loading
Loading
+5 −5
Original line number Diff line number Diff line
@@ -361,12 +361,12 @@ static int read_exec(struct page_collect *pcol)
	return 0;

err:
	if (!pcol->read_4_write)
		_unlock_pcol_pages(pcol, ret, READ);

	pcol_free(pcol);

	if (!pcol_copy) /* Failed before ownership transfer */
		pcol_copy = pcol;
	_unlock_pcol_pages(pcol_copy, ret, READ);
	pcol_free(pcol_copy);
	kfree(pcol_copy);

	return ret;
}