diff options
author | Kent Overstreet <kent.overstreet@linux.dev> | 2022-09-24 00:13:56 -0400 |
---|---|---|
committer | Kent Overstreet <kent.overstreet@linux.dev> | 2022-10-03 23:54:53 -0400 |
commit | be465caffb59440580984b65f7c72b27bd895396 (patch) | |
tree | c2ad282f547b4e0958e405b21cef2a1cb74a188b | |
parent | 054de1a405017bc1bb4ae4246a0e1e2ff5f5259c (diff) |
six locks: Enable lockdep
Now that we have lockdep_set_no_check_recursion(), we can enable lockdep
checking.
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
-rw-r--r-- | kernel/locking/six.c | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/kernel/locking/six.c b/kernel/locking/six.c index 18bc060241a2..b11660af245b 100644 --- a/kernel/locking/six.c +++ b/kernel/locking/six.c @@ -17,7 +17,7 @@ #define EBUG_ON(cond) do {} while (0) #endif -#define six_acquire(l, t) lock_acquire(l, 0, t, 0, 0, NULL, _RET_IP_) +#define six_acquire(l, t, r) lock_acquire(l, 0, t, r, 1, NULL, _RET_IP_) #define six_release(l) lock_release(l, _RET_IP_) static void do_six_unlock_type(struct six_lock *lock, enum six_lock_type type); @@ -279,7 +279,7 @@ static bool __six_trylock_type(struct six_lock *lock, enum six_lock_type type) return false; if (type != SIX_LOCK_write) - six_acquire(&lock->dep_map, 1); + six_acquire(&lock->dep_map, 1, type == SIX_LOCK_read); return true; } @@ -316,7 +316,7 @@ static bool __six_relock_type(struct six_lock *lock, enum six_lock_type type, six_lock_wakeup(lock, old, SIX_LOCK_write); if (ret) - six_acquire(&lock->dep_map, 1); + six_acquire(&lock->dep_map, 1, type == SIX_LOCK_read); return ret; } @@ -333,7 +333,7 @@ static bool __six_relock_type(struct six_lock *lock, enum six_lock_type type, six_set_owner(lock, type, old, current); if (type != SIX_LOCK_write) - six_acquire(&lock->dep_map, 1); + six_acquire(&lock->dep_map, 1, type == SIX_LOCK_read); return true; } @@ -493,7 +493,7 @@ static int __six_lock_type_waiter(struct six_lock *lock, enum six_lock_type type wait->start_time = 0; if (type != SIX_LOCK_write) - six_acquire(&lock->dep_map, 0); + six_acquire(&lock->dep_map, 0, type == SIX_LOCK_read); ret = do_six_trylock_type(lock, type, true) ? 0 : __six_lock_type_slowpath(lock, type, wait, should_sleep_fn, p); @@ -663,7 +663,7 @@ void six_lock_increment(struct six_lock *lock, enum six_lock_type type) { const struct six_lock_vals l[] = LOCK_VALS; - six_acquire(&lock->dep_map, 0); + six_acquire(&lock->dep_map, 0, type == SIX_LOCK_read); /* XXX: assert already locked, and that we don't overflow: */ |