Re: [PATCH v6] lockdep: check that no locks held at freeze time

From: Andrew Morton
Date: Thu Feb 21 2013 - 16:42:34 EST


On Thu, 21 Feb 2013 08:51:41 -0800
Mandeep Singh Baines <msb@xxxxxxxxxxxx> 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
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/