As kref_put_mutex() may take the mutex (on the final unreference), mark
it up with might_lock() so that the caller is unconditionally checked by
lockdep.

Signed-off-by: Chris Wilson <ch...@chris-wilson.co.uk>
Cc: Peter Zijlstra <pet...@infradead.org>
---
 include/linux/kref.h | 1 +
 1 file changed, 1 insertion(+)

diff --git a/include/linux/kref.h b/include/linux/kref.h
index e15828fd71f1..f55b73674bfb 100644
--- a/include/linux/kref.h
+++ b/include/linux/kref.h
@@ -102,6 +102,7 @@ static inline int kref_put_mutex(struct kref *kref,
                                 void (*release)(struct kref *kref),
                                 struct mutex *lock)
 {
+       might_lock(lock);
        WARN_ON(release == NULL);
        if (unlikely(!atomic_add_unless(&kref->refcount, -1, 1))) {
                mutex_lock(lock);
-- 
2.11.0

Reply via email to