bisecting fixing commit since c7ecf3e3a71c216327980f26b1e895ce9b07ad31 building syzkaller on 25a0186eba20ef6f4f657039ff02eff52a838b1c testing commit c7ecf3e3a71c216327980f26b1e895ce9b07ad31 compiler: gcc version 8.4.1 20210217 (GCC) kernel signature: 02085ee8a9f8440af4f05fadcae97da011f823f48b3194203f7aeaada49b7044 all runs: crashed: WARNING: bad unlock balance in ucma_event_handler testing current HEAD 59456c9cc40c8f75b5a7efa0fe1f211d9c6fcaf1 testing commit 59456c9cc40c8f75b5a7efa0fe1f211d9c6fcaf1 compiler: gcc version 8.4.1 20210217 (GCC) kernel signature: d5ba7cfae4f29ed6ca954363ee9b52be0ce633a62172483c795e8b1c873705ce all runs: crashed: WARNING: bad unlock balance in ucma_event_handler revisions tested: 2, total time: 30m58.004386152s (build: 23m36.36524814s, test: 6m9.224699161s) the crash still happens on HEAD commit msg: Linux 4.19.204 crash: WARNING: bad unlock balance in ucma_event_handler IPv6: ADDRCONF(NETDEV_UP): vxcan1: link is not ready IPv6: ADDRCONF(NETDEV_CHANGE): vxcan1: link becomes ready IPv6: ADDRCONF(NETDEV_CHANGE): vxcan0: link becomes ready 8021q: adding VLAN 0 to HW filter on device batadv0 ===================================== WARNING: bad unlock balance detected! 4.19.204-syzkaller #0 Not tainted ------------------------------------- kworker/u4:2/86 is trying to release lock (&file->mut) at: [] ucma_event_handler+0x6c7/0x1020 drivers/infiniband/core/ucma.c:396 but there are no more locks to release! other info that might help us debug this: 4 locks held by kworker/u4:2/86: #0: 00000000ba4274b4 ((wq_completion)"ib_addr"){+.+.}, at: __write_once_size include/linux/compiler.h:288 [inline] #0: 00000000ba4274b4 ((wq_completion)"ib_addr"){+.+.}, at: arch_atomic64_set arch/x86/include/asm/atomic64_64.h:34 [inline] #0: 00000000ba4274b4 ((wq_completion)"ib_addr"){+.+.}, at: atomic64_set include/asm-generic/atomic-instrumented.h:40 [inline] #0: 00000000ba4274b4 ((wq_completion)"ib_addr"){+.+.}, at: atomic_long_set include/asm-generic/atomic-long.h:59 [inline] #0: 00000000ba4274b4 ((wq_completion)"ib_addr"){+.+.}, at: set_work_data kernel/workqueue.c:618 [inline] #0: 00000000ba4274b4 ((wq_completion)"ib_addr"){+.+.}, at: set_work_pool_and_clear_pending kernel/workqueue.c:645 [inline] #0: 00000000ba4274b4 ((wq_completion)"ib_addr"){+.+.}, at: process_one_work+0x762/0x1670 kernel/workqueue.c:2124 #1: 000000009bbad5ff ((work_completion)(&(&req->work)->work)){+.+.}, at: process_one_work+0x792/0x1670 kernel/workqueue.c:2128 #2: 000000007adc8442 (&id_priv->handler_mutex){+.+.}, at: addr_handler+0xac/0x300 drivers/infiniband/core/cma.c:2887 #3: 000000007f0709af (&file->mut){+.+.}, at: ucma_event_handler+0xa8/0x1020 drivers/infiniband/core/ucma.c:356 stack backtrace: CPU: 1 PID: 86 Comm: kworker/u4:2 Not tainted 4.19.204-syzkaller #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011 Workqueue: ib_addr process_one_req Call Trace: __dump_stack lib/dump_stack.c:77 [inline] dump_stack+0x123/0x171 lib/dump_stack.c:118 print_unlock_imbalance_bug kernel/locking/lockdep.c:3469 [inline] print_unlock_imbalance_bug.cold.50+0x114/0x123 kernel/locking/lockdep.c:3446 __lock_release kernel/locking/lockdep.c:3679 [inline] lock_release+0x685/0x850 kernel/locking/lockdep.c:3927 __mutex_unlock_slowpath+0x8e/0x6a0 kernel/locking/mutex.c:1208 mutex_unlock+0xd/0x10 kernel/locking/mutex.c:723 ucma_event_handler+0x6c7/0x1020 drivers/infiniband/core/ucma.c:396 addr_handler+0x23d/0x300 drivers/infiniband/core/cma.c:2920 process_one_req+0xd4/0x5b0 drivers/infiniband/core/addr.c:569 process_one_work+0x830/0x1670 kernel/workqueue.c:2153 worker_thread+0x85/0xb60 kernel/workqueue.c:2296 kthread+0x347/0x410 kernel/kthread.c:259 ret_from_fork+0x24/0x30 arch/x86/entry/entry_64.S:415