On Mon 03-12-18 08:47:00, Ingo Molnar wrote: [...] > I reviewed the ->cred_guard_mutex code, and the mutex is held across all > of exec() - and we always did this.
Yes, this is something that has been pointed out during the review. Oleg has argued that making this path freezable is really hard and that we should be changing de_thread to sleep withtou cred_guard_mutex long term anyway (http://lkml.kernel.org/r/20181114143705.gb13...@redhat.com). Failing suspend seems like a real problem while the lockdep one doesn't really reflect any real deadlock, right? So while the patch is not perfect it shouldn't make the situation much worse. Lockdep splat is certainly annoying but is it any worse than a suspend failing? Now, I wouldn't mind to revert this because the code is really old and we haven't seen many bug reports about failing suspend yet. But what is the actual plan to make this work properly? Use freezable_schedule_unsafe instead? Freezer code has some fundamental design issues which are quite hard to get over. -- Michal Hocko SUSE Labs