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

Commit 84d51d45 authored by Sebastian Siewior's avatar Sebastian Siewior Committed by Nikhilesh Reddy
Browse files

mtd: ubi: don't leak e if schedule_erase() fails



If __erase_worker() fails to erase the EB and schedule_erase() fails as
well to do anything about it then we go RO. But that is not a reason to
leak the e argument here. Therefore clean up e.

CRs-Fixed: 975289
Change-Id: Iec8f4777d91ae36a6196807d7d42bc072f70b41f
Cc: <stable@vger.kernel.org>
Signed-off-by: default avatarSebastian Andrzej Siewior <bigeasy@linutronix.de>
Signed-off-by: default avatarRichard Weinberger <richard@nod.at>
Git-commit: 6b238de189f69dc77d660d4cce62eed15547f4c3
Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git


Signed-off-by: default avatarNikhilesh Reddy <reddyn@codeaurora.org>
parent 56248b49
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -1089,6 +1089,7 @@ static int __erase_worker(struct ubi_device *ubi, struct ubi_work *wl_wrk)
		/* Re-schedule the LEB for erasure */
		err1 = schedule_erase(ubi, e, vol_id, lnum, 0);
		if (err1) {
			wl_entry_destroy(ubi, e);
			err = err1;
			goto out_ro;
		}