Commit 2da9f365fc401b79627bc7be56d8a2b4ee9b390b
Exists in
master
and in
4 other branches
Merge branch 'core-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel…
…/git/tip/linux-2.6-tip * '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 1 changed file Side-by-side Diff
kernel/lockdep.c
... | ... | @@ -3111,7 +3111,13 @@ |
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)) |