From 663d5af750b8c025d0dfea2cf2a4b4a78cafa3a7 Mon Sep 17 00:00:00 2001 From: Daniel Wagner Date: Fri, 3 Apr 2015 09:04:03 -0400 Subject: locks: Add lockdep assertion for blocked_lock_lock Annonate insert, remove and iterate function that we need blocked_lock_lock held. Signed-off-by: Daniel Wagner Signed-off-by: Jeff Layton --- fs/locks.c | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'fs/locks.c') diff --git a/fs/locks.c b/fs/locks.c index f88ed4506664..36cf93f165a8 100644 --- a/fs/locks.c +++ b/fs/locks.c @@ -592,11 +592,15 @@ posix_owner_key(struct file_lock *fl) static void locks_insert_global_blocked(struct file_lock *waiter) { + lockdep_assert_held(&blocked_lock_lock); + hash_add(blocked_hash, &waiter->fl_link, posix_owner_key(waiter)); } static void locks_delete_global_blocked(struct file_lock *waiter) { + lockdep_assert_held(&blocked_lock_lock); + hash_del(&waiter->fl_link); } @@ -838,6 +842,8 @@ static int posix_locks_deadlock(struct file_lock *caller_fl, { int i = 0; + lockdep_assert_held(&blocked_lock_lock); + /* * This deadlock detector can't reasonably detect deadlocks with * FL_OFDLCK locks, since they aren't owned by a process, per-se. -- cgit