[PATCH] lockdep: suggest the fix for "lockdep bfs error:-1" on print_bfs_bug

Luis Claudio R. Goncalves
2024-07-25T18:46:03Z

When lockdep fails while performing the Breadth-first-search operation
due to lack of memory, hint that increasing the value of the configuration
switch LOCKDEP_CIRCULAR_QUEUE_BITS should fix the warning.

Preface the scary bactrace with the suggestion:

[ 163.849242] Increase LOCKDEP_CIRCULAR_QUEUE_BITS to avoid this warning:
[ 163.849248] ------------[ cut here ]------------
[ 163.849250] lockdep bfs error:-1
[ 163.849263] WARNING: CPU: 24 PID: 2454 at kernel/locking/lockdep.c:2091 print_bfs_bug+0x27/0x40
...

Signed-off-by: Luis Claudio R. Goncalves <lgoncalv@redhat.com>
---
kernel/locking/lockdep.c | 3 +++
1 file changed, 3 insertions(+)

diff --git a/kernel/locking/lockdep.c b/kernel/locking/lockdep.c
index 58c88220a478a..1cf6d9fdddc9c 100644
--- a/kernel/locking/lockdep.c
+++ b/kernel/locking/lockdep.c
@@ -2067,6 +2067,9 @@ static noinline void print_bfs_bug(int ret)
/*
* Breadth-first-search failed, graph got corrupted?
*/
+ if (ret == BFS_EQUEUEFULL)
+ pr_warn("Increase LOCKDEP_CIRCULAR_QUEUE_BITS to avoid this warning:\n");
+
WARN(1, "lockdep bfs error:%d\n", ret);
}

--
2.45.2