From: Kent Overstreet Date: Wed, 31 Jul 2024 01:14:08 +0000 (-0400) Subject: lockdep: Fix lockdep_set_notrack_class() for CONFIG_LOCK_STAT X-Git-Tag: v6.11-rc3~27^2~8 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=ff9bf4b34104955017822e9bc42aeeb526ee2a80;p=thirdparty%2Fkernel%2Flinux.git lockdep: Fix lockdep_set_notrack_class() for CONFIG_LOCK_STAT We won't find a contended lock if it's not being tracked. Signed-off-by: Kent Overstreet --- diff --git a/kernel/locking/lockdep.c b/kernel/locking/lockdep.c index 58c88220a478a..0349f957e672d 100644 --- a/kernel/locking/lockdep.c +++ b/kernel/locking/lockdep.c @@ -5936,6 +5936,9 @@ __lock_contended(struct lockdep_map *lock, unsigned long ip) if (DEBUG_LOCKS_WARN_ON(!depth)) return; + if (unlikely(lock->key == &__lockdep_no_track__)) + return; + hlock = find_held_lock(curr, lock, depth, &i); if (!hlock) { print_lock_contention_bug(curr, lock, ip); @@ -5978,6 +5981,9 @@ __lock_acquired(struct lockdep_map *lock, unsigned long ip) if (DEBUG_LOCKS_WARN_ON(!depth)) return; + if (unlikely(lock->key == &__lockdep_no_track__)) + return; + hlock = find_held_lock(curr, lock, depth, &i); if (!hlock) { print_lock_contention_bug(curr, lock, _RET_IP_);