Re: BUG: MAX_LOCKDEP_CHAIN_HLOCKS too low!

From: syzbot
Date: Wed Apr 10 2019 - 21:43:10 EST


syzbot has found a reproducer for the following crash on:

HEAD commit: 771acc7e Bluetooth: btusb: request wake pin with NOAUTOEN
git tree: upstream
console output: https://syzkaller.appspot.com/x/log.txt?x=15f58add200000
kernel config: https://syzkaller.appspot.com/x/.config?x=4fb64439e07a1ec0
dashboard link: https://syzkaller.appspot.com/bug?extid=91fd909b6e62ebe06131
compiler: gcc (GCC) 9.0.0 20181231 (experimental)
syz repro: https://syzkaller.appspot.com/x/repro.syz?x=11770a8f200000
C reproducer: https://syzkaller.appspot.com/x/repro.c?x=128c945b200000

IMPORTANT: if you fix the bug, please add the following tag to the commit:
Reported-by: syzbot+91fd909b6e62ebe06131@xxxxxxxxxxxxxxxxxxxxxxxxx

BUG: MAX_LOCKDEP_CHAIN_HLOCKS too low!
turning off the locking correctness validator.
CPU: 0 PID: 1174 Comm: kworker/u5:0 Not tainted 5.1.0-rc4+ #63
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011
Workqueue: hci1 hci_power_on
Call Trace:
__dump_stack lib/dump_stack.c:77 [inline]
dump_stack+0x172/0x1f0 lib/dump_stack.c:113
add_chain_cache kernel/locking/lockdep.c:2591 [inline]
lookup_chain_cache_add kernel/locking/lockdep.c:2665 [inline]
validate_chain kernel/locking/lockdep.c:2685 [inline]
__lock_acquire.cold+0x250/0x50d kernel/locking/lockdep.c:3701
lock_acquire+0x16f/0x3f0 kernel/locking/lockdep.c:4211
__mutex_lock_common kernel/locking/mutex.c:925 [inline]
__mutex_lock+0xf7/0x1310 kernel/locking/mutex.c:1072
mutex_lock_nested+0x16/0x20 kernel/locking/mutex.c:1087
hci_dev_do_close+0x317/0xf20 net/bluetooth/hci_core.c:1696
hci_power_on+0x1d2/0x580 net/bluetooth/hci_core.c:2191
process_one_work+0x98e/0x1790 kernel/workqueue.c:2269
worker_thread+0x98/0xe40 kernel/workqueue.c:2415
kthread+0x357/0x430 kernel/kthread.c:253
ret_from_fork+0x3a/0x50 arch/x86/entry/entry_64.S:352