|
@@ -575,6 +575,8 @@ static noinline int print_circular_bug_tail(void)
|
|
|
return 0;
|
|
|
}
|
|
|
|
|
|
+#define RECURSION_LIMIT 40
|
|
|
+
|
|
|
static int noinline print_infinite_recursion_bug(void)
|
|
|
{
|
|
|
__raw_spin_unlock(&hash_lock);
|
|
@@ -595,7 +597,7 @@ check_noncircular(struct lock_class *source, unsigned int depth)
|
|
|
debug_atomic_inc(&nr_cyclic_check_recursions);
|
|
|
if (depth > max_recursion_depth)
|
|
|
max_recursion_depth = depth;
|
|
|
- if (depth >= 20)
|
|
|
+ if (depth >= RECURSION_LIMIT)
|
|
|
return print_infinite_recursion_bug();
|
|
|
/*
|
|
|
* Check this lock's dependency list:
|
|
@@ -645,7 +647,7 @@ find_usage_forwards(struct lock_class *source, unsigned int depth)
|
|
|
|
|
|
if (depth > max_recursion_depth)
|
|
|
max_recursion_depth = depth;
|
|
|
- if (depth >= 20)
|
|
|
+ if (depth >= RECURSION_LIMIT)
|
|
|
return print_infinite_recursion_bug();
|
|
|
|
|
|
debug_atomic_inc(&nr_find_usage_forwards_checks);
|
|
@@ -684,7 +686,7 @@ find_usage_backwards(struct lock_class *source, unsigned int depth)
|
|
|
|
|
|
if (depth > max_recursion_depth)
|
|
|
max_recursion_depth = depth;
|
|
|
- if (depth >= 20)
|
|
|
+ if (depth >= RECURSION_LIMIT)
|
|
|
return print_infinite_recursion_bug();
|
|
|
|
|
|
debug_atomic_inc(&nr_find_usage_backwards_checks);
|