* 'core-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: lockdep: Fix wrong assumption in match_held_lock
Showing the changes to kernel (1 of 1 file). Show all
Unified · Split
| @@ -3111,7 +3111,13 @@ static int match_held_lock(struct held_lock *hlock, struct lockdep_map *lock) · 3110 unmodified lines | ||
| 3111 | 3111 | if (!class) |
| 3112 | 3112 | class = look_up_lock_class(lock, 0); |
| 3113 | 3113 | |
| 3114 | − if (DEBUG_LOCKS_WARN_ON(!class)) | |
| 3114 | + /* | |
| 3115 | + * If look_up_lock_class() failed to find a class, we're trying | |
| 3116 | + * to test if we hold a lock that has never yet been acquired. | |
| 3117 | + * Clearly if the lock hasn't been acquired _ever_, we're not | |
| 3118 | + * holding it either, so report failure. | |
| 3119 | + */ | |
| 3120 | + if (!class) | |
| 3115 | 3121 | return 0; |
| 3116 | 3122 | |
| 3117 | 3123 | if (DEBUG_LOCKS_WARN_ON(!hlock->nest_lock)) |