[PATCH 2/2] kref: Annotate kref_put_mutex() with might_lock()

From: Chris Wilson
Date: Sun Dec 11 2016 - 12:52:35 EST


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 <chris@xxxxxxxxxxxxxxxxxx>
Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
---
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