Messages in this thread | | | From | "Rafael J. Wysocki" <> | Subject | Re: [PATCH pm] freezer: fix wait_event_freezable/__thaw_task races | Date | Thu, 3 Nov 2011 02:01:27 +0100 |
| |
On Thursday, November 03, 2011, Tejun Heo wrote: > On Thu, Nov 03, 2011 at 01:20:41AM +0100, Rafael J. Wysocki wrote: > > On Tuesday, November 01, 2011, Tejun Heo wrote: > > > From: Oleg Nesterov <oleg@redhat.com> > > > > > > wait_event_freezable() and friends stop the waiting if try_to_freeze() > > > fails. This is not right, we can race with __thaw_task() and in this > > > case > > > > > > - wait_event_freezable() returns the wrong ERESTARTSYS > > > > > > - wait_event_freezable_timeout() can return the positive > > > value while condition == F > > > > > > Change the code to always check __retval/condition before return. > > > > > > Note: with or without this patch the timeout logic looks strange, > > > probably we should recalc timeout if try_to_freeze() returns T. > > > > > > tj: Updated to apply to wait_event_freezekillable() too. > > > > > > Signed-off-by: Oleg Nesterov <oleg@redhat.com> > > > Acked-by: Tejun Heo <tj@kernel.org> > > > > Applied to linux-pm/linux-next. > > Just in case, this patch isn't correct with preceding patches (the > freezer update patchset), so should only be applied after them.
OK, so I guess I should drop it from my linux-next branch?
Rafael
| |