netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Colin Cross <ccross@android.com>
To: Pavel Machek <pavel@ucw.cz>
Cc: lkml <linux-kernel@vger.kernel.org>,
	Trond Myklebust <Trond.Myklebust@netapp.com>,
	Len Brown <len.brown@intel.com>,
	"Rafael J. Wysocki" <rjw@sisk.pl>,
	Peter Zijlstra <peterz@infradead.org>,
	Ingo Molnar <mingo@redhat.com>,
	"J. Bruce Fields" <bfields@fieldses.org>,
	"David S. Miller" <davem@davemloft.net>,
	Andrew Morton <akpm@linux-foundation.org>,
	Mandeep Singh Baines <msb@chromium.org>,
	Paul Walmsley <paul@pwsan.com>, Al Viro <viro@zeniv.linux.org.uk>,
	"Eric W. Biederman" <ebiederm@xmission.com>,
	Oleg Nesterov <oleg@redhat.com>,
	linux-nfs@vger.kernel.org,
	Linux PM list <linux-pm@vger.kernel.org>,
	netdev@vger.kernel.org,
	Linus Torvalds <torvalds@linux-foundation.org>,
	Tejun Heo <tj@kernel.org>, Ben Chan <benchan@chromium.org>
Subject: Re: [PATCH 2/2] lockdep: check that no locks held at freeze time
Date: Sat, 4 May 2013 13:27:23 -0700	[thread overview]
Message-ID: <CAMbhsRScr+3Zk5Bi6390bGRbtE4oh2H-mHrGHS0wew5hdkivUg@mail.gmail.com> (raw)
In-Reply-To: <20130504130440.GC13770@amd.pavel.ucw.cz>

On Sat, May 4, 2013 at 6:04 AM, Pavel Machek <pavel@ucw.cz> wrote:
> On Fri 2013-05-03 14:04:10, Colin Cross wrote:
>> From: Mandeep Singh Baines <msb@chromium.org>
>>
>> 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.
>
> Ok, but this does not explain why
>
>> --- a/include/linux/debug_locks.h
>> +++ b/include/linux/debug_locks.h
>> @@ -51,7 +51,7 @@ struct task_struct;
>>  extern void debug_show_all_locks(void);
>>  extern void debug_show_held_locks(struct task_struct *task);
>>  extern void debug_check_no_locks_freed(const void *from, unsigned long len);
>> -extern void debug_check_no_locks_held(struct task_struct *task);
>> +extern void debug_check_no_locks_held(void);
>>  #else
>>  static inline void debug_show_all_locks(void)
>>  {
>
> Removing task_struct argument from  those functions is good idea?

This is an existing patch that was merged in 3.9 and then reverted
again, so it has already been reviewed and accepted once.

>> --- a/kernel/exit.c
>> +++ b/kernel/exit.c
>> @@ -835,7 +835,7 @@ void do_exit(long code)
>>       /*
>>        * Make sure we are holding no locks:
>>        */
>> -     debug_check_no_locks_held(tsk);
>> +     debug_check_no_locks_held();
>
> Is task guaranteed == current?

Yes, the first line of do_exit is:
        struct task_struct *tsk = current;

  reply	other threads:[~2013-05-04 20:27 UTC|newest]

Thread overview: 35+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-05-03 21:04 [PATCH 1/2] freezer: add unsafe versions of freezable helpers Colin Cross
2013-05-03 21:04 ` [PATCH 2/2] lockdep: check that no locks held at freeze time Colin Cross
     [not found]   ` <1367615050-3894-2-git-send-email-ccross-z5hGa2qSFaRBDgjK7y7TUQ@public.gmane.org>
2013-05-04 13:04     ` Pavel Machek
2013-05-04 20:27       ` Colin Cross [this message]
2013-05-04 22:57         ` Pavel Machek
     [not found]           ` <20130504225715.GB24276-tWAi6jLit6GreWDznjuHag@public.gmane.org>
2013-05-04 23:49             ` Colin Cross
2013-05-05  0:05               ` Pavel Machek
     [not found]                 ` <20130505000528.GA25454-tWAi6jLit6GreWDznjuHag@public.gmane.org>
2013-05-05  0:23                   ` Colin Cross
     [not found]                     ` <CAMbhsRQso4fW_DVL6U3zfbX3YbLsTy8-rUA-fo61Aw93bU+sQQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2013-05-05  1:13                       ` Pavel Machek
2013-05-05  9:18                   ` Ingo Molnar
     [not found]                     ` <20130505091844.GC22239-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2013-05-06  8:55                       ` Peter Zijlstra
2013-05-06 12:11                         ` Pavel Machek
2013-05-06 14:33                         ` Linus Torvalds
2013-05-06 14:42                           ` Peter Zijlstra
2013-05-06 19:01     ` Tejun Heo
2013-05-06 19:30       ` Colin Cross
2013-05-06 19:33         ` Tejun Heo
2013-05-06 20:06           ` Rafael J. Wysocki
2013-05-04 13:00 ` [PATCH 1/2] freezer: add unsafe versions of freezable helpers Pavel Machek
2013-05-04 20:23   ` Colin Cross
     [not found]     ` <CAMbhsRS6+hjTmrihVzgu3Dtyp8XAhJJ4VKMj=28G6xH3H73=6Q-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2013-05-04 22:55       ` Pavel Machek
2013-05-05  9:23 ` Ingo Molnar
     [not found]   ` <20130505092318.GD22239-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2013-05-05 22:12     ` Pavel Machek
2013-05-06 10:56 ` Jeff Layton
2013-05-06 19:57   ` Colin Cross
     [not found]     ` <CAMbhsRQsFT2j_CuPL45J03itymcp3PNP8ckt3fAAo+hzavNrbw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2013-05-06 21:43       ` Jeff Layton
     [not found]         ` <20130506174336.447d0d75-9yPaYZwiELC+kQycOl6kW4xkIHaj4LzF@public.gmane.org>
2013-05-06 21:54           ` Colin Cross
2013-05-06 21:58             ` Linus Torvalds
2013-05-06 22:05               ` Jeff Layton
2013-05-06 22:11               ` Colin Cross
2013-05-06 22:14               ` Tejun Heo
2013-05-06 21:59             ` Jeff Layton
     [not found] ` <1367615050-3894-1-git-send-email-ccross-z5hGa2qSFaRBDgjK7y7TUQ@public.gmane.org>
2013-05-06  8:50   ` Peter Zijlstra
2013-05-06 10:58     ` Jeff Layton
2013-05-06 18:55   ` Tejun Heo

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=CAMbhsRScr+3Zk5Bi6390bGRbtE4oh2H-mHrGHS0wew5hdkivUg@mail.gmail.com \
    --to=ccross@android.com \
    --cc=Trond.Myklebust@netapp.com \
    --cc=akpm@linux-foundation.org \
    --cc=benchan@chromium.org \
    --cc=bfields@fieldses.org \
    --cc=davem@davemloft.net \
    --cc=ebiederm@xmission.com \
    --cc=len.brown@intel.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-nfs@vger.kernel.org \
    --cc=linux-pm@vger.kernel.org \
    --cc=mingo@redhat.com \
    --cc=msb@chromium.org \
    --cc=netdev@vger.kernel.org \
    --cc=oleg@redhat.com \
    --cc=paul@pwsan.com \
    --cc=pavel@ucw.cz \
    --cc=peterz@infradead.org \
    --cc=rjw@sisk.pl \
    --cc=tj@kernel.org \
    --cc=torvalds@linux-foundation.org \
    --cc=viro@zeniv.linux.org.uk \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).