Re: lockdep: strange %s#5 lock name

From: Peter Zijlstra
Date: Tue Feb 11 2014 - 06:00:53 EST


> Looks good to me. Can you please post the patch with SOB?

---
Subject: workqueue: Fix workqueue lockdep name

Tommi noticed a 'funny' lock class name: "%s#5" from a lock acquired in
process_one_work(). It turns out that commit b196be89cdc14 forgot to
change the lockdep_init_map() when it changed the @lock_name argument
from a string to a format.

Fixes: b196be89cdc14 ("workqueue: make alloc_workqueue() take printf fmt and args for name")
Reported-by: Tommi Rantala <tt.rantala@xxxxxxxxx>
Signed-off-by: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
---
diff --git a/kernel/workqueue.c b/kernel/workqueue.c
index 82ef9f3b7473..861d8ddd92a2 100644
--- a/kernel/workqueue.c
+++ b/kernel/workqueue.c
@@ -4202,7 +4202,7 @@ struct workqueue_struct *__alloc_workqueue_key(const char *fmt,
INIT_LIST_HEAD(&wq->flusher_overflow);
INIT_LIST_HEAD(&wq->maydays);

- lockdep_init_map(&wq->lockdep_map, lock_name, key, 0);
+ lockdep_init_map(&wq->lockdep_map, wq->name, key, 0);
INIT_LIST_HEAD(&wq->list);

if (alloc_and_link_pwqs(wq) < 0)
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/