lockdep: Fix wait-type for empty stack
authorPeter Zijlstra <peterz@infradead.org>
Thu, 17 Jun 2021 18:57:18 +0000 (20:57 +0200)
committerPeter Zijlstra <peterz@infradead.org>
Tue, 22 Jun 2021 14:42:08 +0000 (16:42 +0200)
Even the very first lock can violate the wait-context check, consider
the various IRQ contexts.

Fixes: de8f5e4f2dc1 ("lockdep: Introduce wait-type checks")
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Tested-by: Joerg Roedel <jroedel@suse.de>
Link: https://lore.kernel.org/r/20210617190313.256987481@infradead.org
kernel/locking/lockdep.c

index 6ff1e8405a834770297c5ff1fe55b7cd98ee18a2..0584b2090084a09d295f70850bc246c0a4d6da47 100644 (file)
@@ -4688,7 +4688,7 @@ static int check_wait_context(struct task_struct *curr, struct held_lock *next)
        u8 curr_inner;
        int depth;
 
-       if (!curr->lockdep_depth || !next_inner || next->trylock)
+       if (!next_inner || next->trylock)
                return 0;
 
        if (!next_outer)