Messages in this thread | | | Date | Thu, 21 Feb 2013 13:57:35 -0800 | Subject | Re: [PATCH v6] lockdep: check that no locks held at freeze time | From | Mandeep Singh Baines <> |
| |
On Thu, Feb 21, 2013 at 1:42 PM, Andrew Morton <akpm@linux-foundation.org> wrote: > On Thu, 21 Feb 2013 08:51:41 -0800 > Mandeep Singh Baines <msb@chromium.org> wrote: > >> We shouldn't try_to_freeze if locks are held. Holding a lock >> can cause a deadlock if the lock is later acquired in the >> suspend or hibernate path (e.g. by dpm). Holding a lock can >> also cause a deadlock in the case of cgroup_freezer if a >> lock is held inside a frozen cgroup that is later acquired by >> a process outside that group. >> >> ... >> >> --- a/include/linux/freezer.h >> +++ b/include/linux/freezer.h >> >> ... >> >> @@ -43,6 +44,8 @@ extern void thaw_kernel_threads(void); >> >> static inline bool try_to_freeze(void) >> { >> + if (!(current->flags & PF_NOFREEZE)) >> + debug_check_no_locks_held(); >> might_sleep(); >> if (likely(!freezing(current))) >> return false; >> >> ... >> > > It still needs > http://ozlabs.org/~akpm/mmots/broken-out/lockdep-check-that-no-locks-held-at-freeze-time-fix.patch
D'oh. I tricked myself into thinking its part of freezer so no export needed but its inlined so can be pulled in anywhere.
Thanks for the fix:
Acked-by: Mandeep Singh Baines <msb@chromium.org>
Or should I roll in the fix and re-send with your Sign-off.
Regards, Mandeep
| |