File tree Expand file tree Collapse file tree 3 files changed +6
-2
lines changed Expand file tree Collapse file tree 3 files changed +6
-2
lines changed Original file line number Diff line number Diff line change @@ -27,8 +27,10 @@ extern int debug_locks_off(void);
27
27
int __ret = 0; \
28
28
\
29
29
if (!oops_in_progress && unlikely(c)) { \
30
+ instrumentation_begin(); \
30
31
if (debug_locks_off() && !debug_locks_silent) \
31
32
WARN(1, "DEBUG_LOCKS_WARN_ON(%s)", #c); \
33
+ instrumentation_end(); \
32
34
__ret = 1; \
33
35
} \
34
36
__ret; \
Original file line number Diff line number Diff line change @@ -843,20 +843,22 @@ static int count_matching_names(struct lock_class *new_class)
843
843
}
844
844
845
845
/* used from NMI context -- must be lockless */
846
- static __always_inline struct lock_class *
846
+ static noinstr struct lock_class *
847
847
look_up_lock_class (const struct lockdep_map * lock , unsigned int subclass )
848
848
{
849
849
struct lockdep_subclass_key * key ;
850
850
struct hlist_head * hash_head ;
851
851
struct lock_class * class ;
852
852
853
853
if (unlikely (subclass >= MAX_LOCKDEP_SUBCLASSES )) {
854
+ instrumentation_begin ();
854
855
debug_locks_off ();
855
856
printk (KERN_ERR
856
857
"BUG: looking up invalid subclass: %u\n" , subclass );
857
858
printk (KERN_ERR
858
859
"turning off the locking correctness validator.\n" );
859
860
dump_stack ();
861
+ instrumentation_end ();
860
862
return NULL ;
861
863
}
862
864
Original file line number Diff line number Diff line change @@ -36,7 +36,7 @@ EXPORT_SYMBOL_GPL(debug_locks_silent);
36
36
/*
37
37
* Generic 'turn off all lock debugging' function:
38
38
*/
39
- noinstr int debug_locks_off (void )
39
+ int debug_locks_off (void )
40
40
{
41
41
if (debug_locks && __debug_locks_off ()) {
42
42
if (!debug_locks_silent ) {
You can’t perform that action at this time.
0 commit comments