Messages in this thread | | | Date | Tue, 30 Sep 2014 00:22:56 +0200 | From | Richard Weinberger <> | Subject | Re: [PATCH 3/3] UBI: Fix possible deadlock in erase_worker() |
| |
Am 26.09.2014 12:40, schrieb Artem Bityutskiy: > On Mon, 2014-09-22 at 10:45 +0200, Richard Weinberger wrote: >> If sync_erase() fails with EINTR, ENOMEM, EAGAIN or >> EBUSY erase_worker() re-schedules the failed work. >> This will lead to a deadlock because erase_worker() is called >> with work_sem held in read mode. And schedule_erase() will take >> this lock again. >> >> Signed-off-by: Richard Weinberger <richard@nod.at> > > Did you manage to test it? > > Why no -stable this time? Not that important, or just something > theoretical and you never actually hit this bug?
It is something theoretical, I was only able to trigger it by injecting ENOMEM by hand.
Thanks, //richard
| |