projects/linux·commit 23d95a03

[PATCH] lockdep: improve lockdep_reset()

23d95a03 · Ingo Molnar <[email protected]> · 2006-12-13 00:34:40 -08:00

Clear all the chains during lockdep_reset().  This fixes some locking-selftest
false positives i saw on -rt.  (never saw those on mainline though, but it
could happen.)

Signed-off-by: Ingo Molnar <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
Commit
23d95a03d63eff25118b50737006ce6e7c1b8def
Parents
81fc685a

Changes

1 files changed · +3 −0

FileStatusAddDelContent
kernel/lockdep.cmodified+3−0View file

kernel/lockdep.c

View file
diff --git a/kernel/lockdep.c b/kernel/lockdep.c
index 5ba2825..77fa791 100644
--- a/kernel/lockdep.c
+++ b/kernel/lockdep.c
@@ -2437,6 +2437,7 @@ EXPORT_SYMBOL_GPL(lock_release);
void lockdep_reset(void)
{
unsigned long flags;
+ int i;
raw_local_irq_save(flags);
current->curr_chain_key = 0;
@@ -2447,6 +2448,8 @@ void lockdep_reset(void)
nr_softirq_chains = 0;
nr_process_chains = 0;
debug_locks = 1;
+ for (i = 0; i < CHAINHASH_SIZE; i++)
+ INIT_LIST_HEAD(chainhash_table + i);
raw_local_irq_restore(flags);
}