• Peter Zijlstra's avatar
    locking/mutex: Don't assume TASK_RUNNING · 6f942a1f
    Peter Zijlstra authored
    We're going to make might_sleep() test for TASK_RUNNING, because
    blocking without TASK_RUNNING will destroy the task state by setting
    it to TASK_RUNNING.
    
    There are a few occasions where its 'valid' to call blocking
    primitives (and mutex_lock in particular) and not have TASK_RUNNING,
    typically such cases are right before we set TASK_RUNNING anyhow.
    
    Robustify the code by not assuming this; this has the beneficial side
    effect of allowing optional code emission for fixing the above
    might_sleep() false positives.
    Signed-off-by: default avatarPeter Zijlstra (Intel) <peterz@infradead.org>
    Cc: tglx@linutronix.de
    Cc: ilya.dryomov@inktank.com
    Cc: umgwanakikbuti@gmail.com
    Cc: Oleg Nesterov <oleg@redhat.com>
    Cc: Linus Torvalds <torvalds@linux-foundation.org>
    Link: http://lkml.kernel.org/r/20140924082241.988560063@infradead.orgSigned-off-by: default avatarIngo Molnar <mingo@kernel.org>
    6f942a1f
mutex.c 25.2 KB