bisecting cause commit starting from 9bead1b58c4c4a85319d0fc8a5c83e7374977d28 building syzkaller on bc5f1d88c519868f37bd2b5ebca79b33a659c2c9 testing commit 9bead1b58c4c4a85319d0fc8a5c83e7374977d28 compiler: gcc (GCC) 10.2.1 20210217, GNU ld (GNU Binutils for Debian) 2.35.1 kernel signature: d0196284e126342c708b22db0cc4292e22a536773e81fe65f95d6b85bb51081c all runs: crashed: possible deadlock in vm_mmap_pgoff testing release v5.13 testing commit 62fb9874f5da54fdb243003b386128037319b219 compiler: gcc (GCC) 10.2.1 20210217, GNU ld (GNU Binutils for Debian) 2.35.1 kernel signature: eaab50170f966c8b3eb39852b91e95d9bc7e454d96827a490e5a435720d1ffbe all runs: crashed: possible deadlock in vm_mmap_pgoff testing release v5.12 testing commit 9f4ad9e425a1d3b6a34617b8ea226d56a119a717 compiler: gcc (GCC) 10.2.1 20210217, GNU ld (GNU Binutils for Debian) 2.35.1 kernel signature: a2c67d0aa4cd9031fb2dccc0e9429d13c38be324308c26aa1ef6b084265ddb79 all runs: crashed: possible deadlock in vm_mmap_pgoff testing release v5.11 testing commit f40ddce88593482919761f74910f42f4b84c004b compiler: gcc (GCC) 10.2.1 20210217, GNU ld (GNU Binutils for Debian) 2.35.1 kernel signature: 760afc9eb3d03287b34ea942b7a411382f5645571be3e022de43df2d69784b74 all runs: crashed: possible deadlock in vm_mmap_pgoff testing release v5.10 testing commit 2c85ebc57b3e1817b6ce1a6b703928e113a90442 compiler: gcc (GCC) 10.2.1 20210217, GNU ld (GNU Binutils for Debian) 2.35.1 kernel signature: ed87a01106570e960457a093defc61da2463f8df499a22d92a19e05b34bca040 all runs: crashed: possible deadlock in vm_mmap_pgoff testing release v5.9 testing commit bbf5c979011a099af5dc76498918ed7df445635b compiler: gcc (GCC) 10.2.1 20210217, GNU ld (GNU Binutils for Debian) 2.35.1 kernel signature: a6ff38e82dd9e7b72f8594f21d4456e9f130fed2d0baffe8f9a1ac831a8846b8 all runs: crashed: possible deadlock in vm_mmap_pgoff testing release v5.8 testing commit bcf876870b95592b52519ed4aafcf9d95999bc9c compiler: gcc (GCC) 8.4.1 20210217, GNU ld (GNU Binutils for Debian) 2.35.1 kernel signature: 148af9454d2419d8c534f359dc0ada77e2a0b73e26499bd1d569517b33bb77e1 all runs: crashed: possible deadlock in vm_mmap_pgoff testing release v5.7 testing commit 3d77e6a8804abcc0504c904bd6e5cdf3a5cf8162 compiler: gcc version 8.4.1 20210217 (GCC), GNU ld (GNU Binutils for Debian) 2.35.1 kernel signature: c39813ac1b4cf9ee17cd9581d29834c9312d7a9e2d37c5149682cd29e326d445 all runs: crashed: possible deadlock in vm_mmap_pgoff testing release v5.6 testing commit 7111951b8d4973bda27ff663f2cf18b663d15b48 compiler: gcc version 8.4.1 20210217 (GCC) kernel signature: 65e9f41c1707ffe281e68adea77024db743fc3aec52e15a3092851b775aa1091 all runs: crashed: possible deadlock in vm_mmap_pgoff testing release v5.5 testing commit d5226fa6dbae0569ee43ecfc08bdcd6770fc4755 compiler: gcc version 8.4.1 20210217 (GCC) kernel signature: df229a265ef77d7ea04c00e82025c3f1c0476396510a270bc6ec4e905f5dd17e all runs: crashed: possible deadlock in vm_mmap_pgoff testing release v5.4 testing commit 219d54332a09e8d8741c1e1982f5eae56099de85 compiler: gcc version 8.4.1 20210217 (GCC) kernel signature: 4db262e20e001154554aacba8ee069cf005e1d0d472bd35a6ff08601ed7ef2f2 all runs: crashed: possible deadlock in vm_mmap_pgoff testing release v5.3 testing commit 4d856f72c10ecb060868ed10ff1b1453943fc6c8 compiler: gcc version 8.4.1 20210217 (GCC) kernel signature: 8a03cb69477372e7c3f6c0fee23e5ea1b68880d5ca37439f59113cf3c4eda96e run #0: OK run #1: OK run #2: OK run #3: OK run #4: OK run #5: OK run #6: OK run #7: OK run #8: OK run #9: crashed: general protection fault in batadv_iv_ogm_queue_add reproducer seems to be flaky testing release v5.2 testing commit 0ecfebd2b52404ae0c54a878c872bb93363ada36 compiler: gcc version 8.4.1 20210217 (GCC) kernel signature: a63def1637c68d4b2393eca6fa64f291c241df7444f98d045fce92c45e3140a6 all runs: crashed: possible deadlock in vm_mmap_pgoff testing release v5.1 testing commit e93c9c99a629c61837d5a7fc2120cd2b6c70dbdd compiler: gcc version 8.4.1 20210217 (GCC) kernel signature: f8efdfe78b77cd25d04aab4225a16b81c92c36c009eef26f6201701b40898542 all runs: crashed: possible deadlock in vm_mmap_pgoff testing release v5.0 testing commit 1c163f4c7b3f621efff9b28a47abb36f7378d783 compiler: gcc version 8.4.1 20210217 (GCC) kernel signature: 8febb2553a8c0a5b6ddbcecc9d82d1b651fdece6c7b63653a085e30edb3aa2ec run #0: crashed: possible deadlock in vm_mmap_pgoff run #1: crashed: possible deadlock in vm_mmap_pgoff run #2: crashed: possible deadlock in vm_mmap_pgoff run #3: crashed: possible deadlock in vm_mmap_pgoff run #4: crashed: WARNING: possible circular locking dependency detected run #5: crashed: possible deadlock in vm_mmap_pgoff run #6: crashed: possible deadlock in vm_mmap_pgoff run #7: crashed: possible deadlock in vm_mmap_pgoff run #8: crashed: possible deadlock in vm_mmap_pgoff run #9: crashed: possible deadlock in vm_mmap_pgoff run #10: crashed: possible deadlock in vm_mmap_pgoff run #11: crashed: possible deadlock in vm_mmap_pgoff run #12: crashed: possible deadlock in vm_mmap_pgoff run #13: crashed: possible deadlock in vm_mmap_pgoff run #14: crashed: possible deadlock in vm_mmap_pgoff run #15: crashed: possible deadlock in vm_mmap_pgoff run #16: crashed: possible deadlock in vm_mmap_pgoff run #17: crashed: WARNING: possible circular locking dependency detected run #18: crashed: possible deadlock in vm_mmap_pgoff run #19: crashed: possible deadlock in vm_mmap_pgoff testing release v4.20 testing commit 8fe28cb58bcb235034b64cbbb7550a8a43fd88be compiler: gcc version 8.4.1 20210217 (GCC) kernel signature: cefac1506f1c16b0b6eef9689a033fa9425cffa58b5bb6853ff167c420cfccce all runs: crashed: possible deadlock in vm_mmap_pgoff testing release v4.19 testing commit 84df9525b0c27f3ebc2ebb1864fa62a97fdedb7d compiler: gcc version 8.4.1 20210217 (GCC) kernel signature: 7ebc4d6153e7f90c766fae08fb2c96030c6756fb292c46c01dd9037a7fb702b7 all runs: crashed: possible deadlock in vm_mmap_pgoff testing release v4.18 testing commit 94710cac0ef4ee177a63b5227664b38c95bbf703 compiler: gcc version 8.4.1 20210217 (GCC) kernel signature: ceb109007d146f0835978e55f842a156e655b530c33e649c6528f334a72c7e2c all runs: crashed: possible deadlock in vm_mmap_pgoff testing release v4.17 testing commit 29dcea88779c856c7dc92040a0c01233263101d4 failed to run ["make" "-j" "64" "ARCH=x86_64" "CC=/syzkaller/shared/bisect_bin/gcc-8.1.0/bin/gcc" "bzImage"]: exit status 2 testing release v4.16 testing commit 0adb32858b0bddf4ada5f364a84ed60b196dbcda orc_dump.c:106:2: error: 'elf_getshnum' is deprecated [-Werror=deprecated-declarations] orc_dump.c:111:2: error: 'elf_getshstrndx' is deprecated [-Werror=deprecated-declarations] elf.c:135:2: error: 'elf_getshnum' is deprecated [-Werror=deprecated-declarations] elf.c:140:2: error: 'elf_getshstrndx' is deprecated [-Werror=deprecated-declarations] testing release v4.15 testing commit d8a5b80568a9cb66810e75b182018e9edb68e8ff orc_dump.c:106:2: error: 'elf_getshnum' is deprecated [-Werror=deprecated-declarations] orc_dump.c:111:2: error: 'elf_getshstrndx' is deprecated [-Werror=deprecated-declarations] elf.c:135:2: error: 'elf_getshnum' is deprecated [-Werror=deprecated-declarations] elf.c:140:2: error: 'elf_getshstrndx' is deprecated [-Werror=deprecated-declarations] pager.c:36:12: error: passing argument 2 to 'restrict'-qualified parameter aliases with argument 4 [-Werror=restrict] testing release v4.14 testing commit bebc6082da0a9f5d47a1ea2edc099bf671058bd4 orc_dump.c:105:2: error: 'elf_getshnum' is deprecated [-Werror=deprecated-declarations] orc_dump.c:110:2: error: 'elf_getshstrndx' is deprecated [-Werror=deprecated-declarations] elf.c:134:2: error: 'elf_getshnum' is deprecated [-Werror=deprecated-declarations] elf.c:139:2: error: 'elf_getshstrndx' is deprecated [-Werror=deprecated-declarations] pager.c:36:12: error: passing argument 2 to 'restrict'-qualified parameter aliases with argument 4 [-Werror=restrict] testing release v4.13 testing commit 569dbb88e80deb68974ef6fdd6a13edb9d686261 pager.c:35:12: error: passing argument 2 to 'restrict'-qualified parameter aliases with argument 4 [-Werror=restrict] elf.c:144:2: error: 'elf_getshnum' is deprecated [-Werror=deprecated-declarations] elf.c:149:2: error: 'elf_getshstrndx' is deprecated [-Werror=deprecated-declarations] testing release v4.12 testing commit 6f7da290413ba713f0cdd9ff1a2a9bb129ef4f6c pager.c:35:12: error: passing argument 2 to 'restrict'-qualified parameter aliases with argument 4 [-Werror=restrict] elf.c:141:2: error: 'elf_getshnum' is deprecated [-Werror=deprecated-declarations] elf.c:146:2: error: 'elf_getshstrndx' is deprecated [-Werror=deprecated-declarations] testing release v4.11 testing commit a351e9b9fc24e982ec2f0e76379a49826036da12 elf.c:141:2: error: 'elf_getshnum' is deprecated [-Werror=deprecated-declarations] elf.c:146:2: error: 'elf_getshstrndx' is deprecated [-Werror=deprecated-declarations] pager.c:35:12: error: passing argument 2 to 'restrict'-qualified parameter aliases with argument 4 [-Werror=restrict] testing release v4.10 testing commit c470abd4fde40ea6a0846a2beab642a578c0b8cd tools/include/linux/log2.h:19:1: error: ignoring attribute 'noreturn' because it conflicts with attribute 'const' [-Werror=attributes] elf.c:129:2: error: 'elf_getshnum' is deprecated [-Werror=deprecated-declarations] elf.c:134:2: error: 'elf_getshstrndx' is deprecated [-Werror=deprecated-declarations] pager.c:35:12: error: passing argument 2 to 'restrict'-qualified parameter aliases with argument 4 [-Werror=restrict] testing release v4.9 testing commit 69973b830859bc6529a7a0468ba0d80ee5117826 tools/include/linux/log2.h:19:1: error: ignoring attribute 'noreturn' because it conflicts with attribute 'const' [-Werror=attributes] elf.c:129:2: error: 'elf_getshnum' is deprecated [-Werror=deprecated-declarations] elf.c:134:2: error: 'elf_getshstrndx' is deprecated [-Werror=deprecated-declarations] pager.c:35:12: error: passing argument 2 to 'restrict'-qualified parameter aliases with argument 4 [-Werror=restrict] testing release v4.8 testing commit c8d2bc9bc39ebea8437fd974fdbc21847bb897a3 tools/include/linux/log2.h:19:1: error: ignoring attribute 'noreturn' because it conflicts with attribute 'const' [-Werror=attributes] elf.c:129:2: error: 'elf_getshnum' is deprecated [-Werror=deprecated-declarations] elf.c:134:2: error: 'elf_getshstrndx' is deprecated [-Werror=deprecated-declarations] pager.c:33:12: error: passing argument 2 to 'restrict'-qualified parameter aliases with argument 4 [-Werror=restrict] testing release v4.7 testing commit 523d939ef98fd712632d93a5a2b588e477a7565e tools/include/linux/log2.h:19:1: error: ignoring attribute 'noreturn' because it conflicts with attribute 'const' [-Werror=attributes] elf.c:122:2: error: 'elf_getshnum' is deprecated [-Werror=deprecated-declarations] elf.c:127:2: error: 'elf_getshstrndx' is deprecated [-Werror=deprecated-declarations] pager.c:33:12: error: passing argument 2 to 'restrict'-qualified parameter aliases with argument 4 [-Werror=restrict] testing release v4.6 testing commit 2dcd0af568b0cf583645c8a317dd12e344b1c72a tools/include/linux/log2.h:19:1: error: ignoring attribute 'noreturn' because it conflicts with attribute 'const' [-Werror=attributes] pager.c:33:12: error: passing argument 2 to 'restrict'-qualified parameter aliases with argument 4 [-Werror=restrict] Reproducer flagged being flaky revisions tested: 18, total time: 3h5m28.174888238s (build: 1h53m7.485858388s, test: 1h7m22.372666197s) the crash already happened on the oldest tested release commit msg: Linux 4.18 crash: possible deadlock in vm_mmap_pgoff Bluetooth: hci2: command 0x0419 tx timeout Bluetooth: hci5: command 0x0419 tx timeout Bluetooth: hci3: command 0x0419 tx timeout Bluetooth: hci4: command 0x0419 tx timeout ====================================================== WARNING: possible circular locking dependency detected 4.18.0-syzkaller #0 Not tainted ------------------------------------------------------ syz-executor.4/10137 is trying to acquire lock: 000000003a470b2a (event_mutex){+.+.}, at: perf_trace_destroy+0x1c/0x100 kernel/trace/trace_event_perf.c:235 but task is already holding lock: 000000006022eb74 (&mm->mmap_sem){++++}, at: vm_mmap_pgoff+0x15a/0x210 mm/util.c:355 which lock already depends on the new lock. the existing dependency chain (in reverse order) is: -> #3 (&mm->mmap_sem){++++}: down_write_killable+0x3b/0xc0 kernel/locking/rwsem.c:84 dup_mmap kernel/fork.c:430 [inline] dup_mm kernel/fork.c:1266 [inline] copy_mm kernel/fork.c:1320 [inline] copy_process.part.5+0x255c/0x6b70 kernel/fork.c:1826 copy_process kernel/fork.c:1639 [inline] _do_fork+0x159/0xb70 kernel/fork.c:2122 __do_sys_clone kernel/fork.c:2229 [inline] __se_sys_clone kernel/fork.c:2223 [inline] __x64_sys_clone+0xba/0x140 kernel/fork.c:2223 do_syscall_64+0xda/0x540 arch/x86/entry/common.c:290 entry_SYSCALL_64_after_hwframe+0x49/0xbe -> #2 (&dup_mmap_sem){++++}: down_write+0x38/0x90 kernel/locking/rwsem.c:70 percpu_down_write+0x77/0x440 kernel/locking/percpu-rwsem.c:145 register_for_each_vma+0x28/0xaf0 kernel/events/uprobes.c:796 __uprobe_register kernel/events/uprobes.c:846 [inline] uprobe_register kernel/events/uprobes.c:907 [inline] uprobe_register+0x329/0x6b0 kernel/events/uprobes.c:880 probe_event_enable+0x3a5/0xae0 kernel/trace/trace_uprobe.c:920 trace_uprobe_register+0x30f/0x8c0 kernel/trace/trace_uprobe.c:1205 perf_trace_event_reg kernel/trace/trace_event_perf.c:123 [inline] perf_trace_event_init+0x3dc/0x7d0 kernel/trace/trace_event_perf.c:198 perf_uprobe_init+0x16c/0x1f0 kernel/trace/trace_event_perf.c:327 perf_uprobe_event_init+0xb2/0x130 kernel/events/core.c:8467 perf_try_init_event+0xf9/0x290 kernel/events/core.c:9739 perf_init_event kernel/events/core.c:9770 [inline] perf_event_alloc+0x12b3/0x24b0 kernel/events/core.c:10043 __do_sys_perf_event_open kernel/events/core.c:10500 [inline] __se_sys_perf_event_open+0x253/0x2020 kernel/events/core.c:10389 __x64_sys_perf_event_open+0xb9/0x140 kernel/events/core.c:10389 do_syscall_64+0xda/0x540 arch/x86/entry/common.c:290 entry_SYSCALL_64_after_hwframe+0x49/0xbe -> #1 (&uprobe->register_rwsem){+.+.}: down_write+0x38/0x90 kernel/locking/rwsem.c:70 uprobe_register kernel/events/uprobes.c:904 [inline] uprobe_register+0x2ab/0x6b0 kernel/events/uprobes.c:880 probe_event_enable+0x3a5/0xae0 kernel/trace/trace_uprobe.c:920 trace_uprobe_register+0x30f/0x8c0 kernel/trace/trace_uprobe.c:1205 perf_trace_event_reg kernel/trace/trace_event_perf.c:123 [inline] perf_trace_event_init+0x3dc/0x7d0 kernel/trace/trace_event_perf.c:198 perf_uprobe_init+0x16c/0x1f0 kernel/trace/trace_event_perf.c:327 perf_uprobe_event_init+0xb2/0x130 kernel/events/core.c:8467 perf_try_init_event+0xf9/0x290 kernel/events/core.c:9739 perf_init_event kernel/events/core.c:9770 [inline] perf_event_alloc+0x12b3/0x24b0 kernel/events/core.c:10043 __do_sys_perf_event_open kernel/events/core.c:10500 [inline] __se_sys_perf_event_open+0x253/0x2020 kernel/events/core.c:10389 __x64_sys_perf_event_open+0xb9/0x140 kernel/events/core.c:10389 do_syscall_64+0xda/0x540 arch/x86/entry/common.c:290 entry_SYSCALL_64_after_hwframe+0x49/0xbe -> #0 (event_mutex){+.+.}: lock_acquire+0x17e/0x3e0 kernel/locking/lockdep.c:3924 __mutex_lock_common kernel/locking/mutex.c:757 [inline] __mutex_lock+0xf5/0x1300 kernel/locking/mutex.c:894 mutex_lock_nested+0x16/0x20 kernel/locking/mutex.c:909 perf_trace_destroy+0x1c/0x100 kernel/trace/trace_event_perf.c:235 tp_perf_event_destroy+0x9/0x10 kernel/events/core.c:8329 _free_event+0x2b6/0xd80 kernel/events/core.c:4445 put_event+0x2b/0x30 kernel/events/core.c:4531 perf_mmap_close+0x3f6/0xbf0 kernel/events/core.c:5514 remove_vma+0x9f/0x140 mm/mmap.c:181 remove_vma_list mm/mmap.c:2549 [inline] do_munmap+0x6d9/0xca0 mm/mmap.c:2785 mmap_region+0x126/0xfd0 mm/mmap.c:1705 do_mmap+0x667/0xf80 mm/mmap.c:1535 do_mmap_pgoff include/linux/mm.h:2306 [inline] vm_mmap_pgoff+0x195/0x210 mm/util.c:357 ksys_mmap_pgoff+0x250/0x5a0 mm/mmap.c:1585 __do_sys_mmap arch/x86/kernel/sys_x86_64.c:100 [inline] __se_sys_mmap arch/x86/kernel/sys_x86_64.c:91 [inline] __x64_sys_mmap+0xe9/0x1b0 arch/x86/kernel/sys_x86_64.c:91 do_syscall_64+0xda/0x540 arch/x86/entry/common.c:290 entry_SYSCALL_64_after_hwframe+0x49/0xbe other info that might help us debug this: Chain exists of: event_mutex --> &dup_mmap_sem --> &mm->mmap_sem Possible unsafe locking scenario: CPU0 CPU1 ---- ---- lock(&mm->mmap_sem); lock(&dup_mmap_sem); lock(&mm->mmap_sem); lock(event_mutex); *** DEADLOCK *** 1 lock held by syz-executor.4/10137: #0: 000000006022eb74 (&mm->mmap_sem){++++}, at: vm_mmap_pgoff+0x15a/0x210 mm/util.c:355 stack backtrace: CPU: 1 PID: 10137 Comm: syz-executor.4 Not tainted 4.18.0-syzkaller #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011 Call Trace: __dump_stack lib/dump_stack.c:77 [inline] dump_stack+0x15a/0x20d lib/dump_stack.c:113 print_circular_bug.isra.17.cold.33+0x2e3/0x41e kernel/locking/lockdep.c:1227 check_prev_add kernel/locking/lockdep.c:1867 [inline] check_prevs_add kernel/locking/lockdep.c:1980 [inline] validate_chain kernel/locking/lockdep.c:2421 [inline] __lock_acquire+0x35da/0x4770 kernel/locking/lockdep.c:3435 lock_acquire+0x17e/0x3e0 kernel/locking/lockdep.c:3924 __mutex_lock_common kernel/locking/mutex.c:757 [inline] __mutex_lock+0xf5/0x1300 kernel/locking/mutex.c:894 mutex_lock_nested+0x16/0x20 kernel/locking/mutex.c:909 perf_trace_destroy+0x1c/0x100 kernel/trace/trace_event_perf.c:235 tp_perf_event_destroy+0x9/0x10 kernel/events/core.c:8329 _free_event+0x2b6/0xd80 kernel/events/core.c:4445 put_event+0x2b/0x30 kernel/events/core.c:4531 perf_mmap_close+0x3f6/0xbf0 kernel/events/core.c:5514 remove_vma+0x9f/0x140 mm/mmap.c:181 remove_vma_list mm/mmap.c:2549 [inline] do_munmap+0x6d9/0xca0 mm/mmap.c:2785 mmap_region+0x126/0xfd0 mm/mmap.c:1705 do_mmap+0x667/0xf80 mm/mmap.c:1535 do_mmap_pgoff include/linux/mm.h:2306 [inline] vm_mmap_pgoff+0x195/0x210 mm/util.c:357 ksys_mmap_pgoff+0x250/0x5a0 mm/mmap.c:1585 __do_sys_mmap arch/x86/kernel/sys_x86_64.c:100 [inline] __se_sys_mmap arch/x86/kernel/sys_x86_64.c:91 [inline] __x64_sys_mmap+0xe9/0x1b0 arch/x86/kernel/sys_x86_64.c:91 do_syscall_64+0xda/0x540 arch/x86/entry/common.c:290 entry_SYSCALL_64_after_hwframe+0x49/0xbe RIP: 0033:0x4665e9 Code: ff ff c3 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 40 00 48 89 f8 48 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 c7 c1 bc ff ff ff f7 d8 64 89 01 48 RSP: 002b:00007fd999a4c188 EFLAGS: 00000246 ORIG_RAX: 0000000000000009 RAX: ffffffffffffffda RBX: 000000000056c0f0 RCX: 00000000004665e9 RDX: 0000000000000000 RSI: 0000000000003000 RDI: 0000000020ffc000 RBP: 00000000004bfcc4 R08: 0000000000000006 R09: 0000000000000000 R10: 0000000000000011 R11: 0000000000000246 R12: 000000000056c0f0 R13: 00007ffe5c877aaf R14: 00007fd999a4c300 R15: 0000000000022000 NOHZ: local_softirq_pending 08