2017/08/27 12:11:59 parsed 1 programs 2017/08/27 12:11:59 executed programs: 0 2017/08/27 12:12:04 executed programs: 71 syzkaller login: [ 28.528889] [ 28.529027] ====================================================== [ 28.529433] WARNING: possible circular locking dependency detected [ 28.529850] 4.13.0-rc6-next-20170825+ #9 Not tainted [ 28.530174] ------------------------------------------------------ [ 28.530581] syz-executor0/3380 is trying to acquire lock: [ 28.530979] (event_mutex){+.+.}, at: [] perf_trace_destroy+0x28/0x100 [ 28.531541] [ 28.531541] but task is already holding lock: [ 28.531960] (&mm->mmap_sem){++++}, at: [] vm_mmap_pgoff+0x198/0x280 [ 28.532709] [ 28.532709] which lock already depends on the new lock. [ 28.532709] [ 28.533474] [ 28.533474] the existing dependency chain (in reverse order) is: [ 28.533991] [ 28.533991] -> #7 (&mm->mmap_sem){++++}: [ 28.534467] __lock_acquire+0x3286/0x4620 [ 28.535141] lock_acquire+0x1d5/0x580 [ 28.535449] __might_fault+0x13a/0x1d0 [ 28.535783] _copy_to_user+0x2c/0xc0 [ 28.536173] filldir+0x1a7/0x320 [ 28.536558] dcache_readdir+0x12d/0x5e0 [ 28.537002] iterate_dir+0x4b2/0x5d0 [ 28.537277] SyS_getdents+0x225/0x450 [ 28.537557] entry_SYSCALL_64_fastpath+0x1f/0xbe [ 28.537910] [ 28.537910] -> #6 (&sb->s_type->i_mutex_key#5){++++}: [ 28.538481] down_write+0x87/0x120 [ 28.538824] handle_create+0x30c/0x760 [ 28.539206] devtmpfsd+0x3eb/0x520 [ 28.539551] kthread+0x39c/0x470 [ 28.539866] ret_from_fork+0x2a/0x40 [ 28.540153] [ 28.540153] -> #5 ((complete)&req.done){+.+.}: [ 28.540573] __lock_acquire+0x3286/0x4620 [ 28.540891] lock_acquire+0x1d5/0x580 [ 28.541188] wait_for_completion+0xc8/0x770 [ 28.541517] devtmpfs_create_node+0x32b/0x4a0 [ 28.541894] device_add+0x120f/0x1640 [ 28.542188] device_create_groups_vargs+0x1f3/0x250 [ 28.542565] device_create+0xda/0x110 [ 28.542894] msr_device_create+0x26/0x40 [ 28.543256] cpuhp_invoke_callback+0x256/0x14d0 [ 28.543693] cpuhp_thread_fun+0x265/0x520 [ 28.544086] smpboot_thread_fn+0x489/0x850 [ 28.544484] kthread+0x39c/0x470 [ 28.544813] ret_from_fork+0x2a/0x40 [ 28.545171] [ 28.545171] -> #4 (cpuhp_state){+.+.}: [ 28.545568] __lock_acquire+0x3286/0x4620 [ 28.545929] lock_acquire+0x1d5/0x580 [ 28.546298] cpuhp_issue_call+0x1a2/0x3e0 [ 28.546614] __cpuhp_setup_state_cpuslocked+0x2e7/0x610 [ 28.547112] __cpuhp_setup_state+0xb0/0x140 [ 28.547445] page_writeback_init+0x4d/0x71 [ 28.547770] pagecache_init+0x48/0x4f [ 28.548092] start_kernel+0x71a/0x7ad [ 28.548458] x86_64_start_reservations+0x2a/0x2c [ 28.548900] x86_64_start_kernel+0x13c/0x149 [ 28.549319] verify_cpu+0x0/0xfb [ 28.549646] [ 28.549646] -> #3 (cpuhp_state_mutex){+.+.}: [ 28.550152] __lock_acquire+0x3286/0x4620 [ 28.550552] lock_acquire+0x1d5/0x580 [ 28.550927] __mutex_lock+0x16f/0x1870 [ 28.551299] mutex_lock_nested+0x16/0x20 [ 28.551683] __cpuhp_setup_state_cpuslocked+0x5b/0x610 [ 28.552167] __cpuhp_setup_state+0xb0/0x140 [ 28.552573] kvm_guest_init+0x1f3/0x20f [ 28.552951] setup_arch+0x1899/0x1ab3 [ 28.553314] start_kernel+0xa5/0x7ad [ 28.553592] x86_64_start_reservations+0x2a/0x2c [ 28.553936] x86_64_start_kernel+0x13c/0x149 [ 28.554346] verify_cpu+0x0/0xfb [ 28.554670] [ 28.554670] -> #2 (cpu_hotplug_lock.rw_sem){++++}: [ 28.555217] __lock_acquire+0x3286/0x4620 [ 28.555612] lock_acquire+0x1d5/0x580 [ 28.556236] cpus_read_lock+0x42/0x90 [ 28.556600] static_key_slow_inc+0x9d/0x3c0 [ 28.556981] tracepoint_probe_register_prio+0x80d/0x9a0 [ 28.557476] tracepoint_probe_register+0x2a/0x40 [ 28.557925] trace_event_reg+0x167/0x320 [ 28.558262] perf_trace_init+0x504/0xab0 [ 28.558576] perf_tp_event_init+0x7d/0xf0 [ 28.558895] perf_try_init_event+0xc9/0x1f0 [ 28.559218] perf_event_alloc+0x1c5b/0x2a00 [ 28.559548] SYSC_perf_event_open+0x7f3/0x2d90 [ 28.559897] SyS_perf_event_open+0x39/0x50 [ 28.560219] entry_SYSCALL_64_fastpath+0x1f/0xbe [ 28.560579] [ 28.560579] -> #1 (tracepoints_mutex){+.+.}: [ 28.561056] __lock_acquire+0x3286/0x4620 [ 28.561449] lock_acquire+0x1d5/0x580 [ 28.561812] __mutex_lock+0x16f/0x1870 [ 28.562181] mutex_lock_nested+0x16/0x20 [ 28.562571] tracepoint_probe_register_prio+0xa0/0x9a0 [ 28.563057] tracepoint_probe_register+0x2a/0x40 [ 28.563395] trace_event_reg+0x167/0x320 [ 28.563692] perf_trace_init+0x504/0xab0 [ 28.563987] perf_tp_event_init+0x7d/0xf0 [ 28.564291] perf_try_init_event+0xc9/0x1f0 [ 28.564621] perf_event_alloc+0x1c5b/0x2a00 [ 28.565025] SYSC_perf_event_open+0x7f3/0x2d90 [ 28.565362] SyS_perf_event_open+0x39/0x50 [ 28.565679] entry_SYSCALL_64_fastpath+0x1f/0xbe [ 28.566024] [ 28.566024] -> #0 (event_mutex){+.+.}: [ 28.566379] check_prev_add+0x865/0x1520 [ 28.566685] __lock_acquire+0x3286/0x4620 [ 28.567035] lock_acquire+0x1d5/0x580 [ 28.567402] __mutex_lock+0x16f/0x1870 [ 28.567779] mutex_lock_nested+0x16/0x20 [ 28.568174] perf_trace_destroy+0x28/0x100 [ 28.568583] tp_perf_event_destroy+0x15/0x20 [ 28.569006] _free_event+0x401/0x1130 [ 28.569376] put_event+0x24/0x30 [ 28.569711] perf_mmap_close+0x60d/0xf90 [ 28.570101] remove_vma+0xb4/0x1b0 [ 28.570452] do_munmap+0x82a/0xdf0 [ 28.570804] mmap_region+0x59e/0x15a0 [ 28.571177] do_mmap+0x6a1/0xd50 [ 28.571511] vm_mmap_pgoff+0x1de/0x280 [ 28.571891] SyS_mmap_pgoff+0x23b/0x5f0 [ 28.572277] SyS_mmap+0x16/0x20 [ 28.572605] entry_SYSCALL_64_fastpath+0x1f/0xbe [ 28.573053] [ 28.573053] other info that might help us debug this: [ 28.573053] [ 28.573756] Chain exists of: [ 28.573756] event_mutex --> &sb->s_type->i_mutex_key#5 --> &mm->mmap_sem [ 28.573756] [ 28.574729] Possible unsafe locking scenario: [ 28.574729] [ 28.575239] CPU0 CPU1 [ 28.575615] ---- ---- [ 28.575979] lock(&mm->mmap_sem); [ 28.576212] lock(&sb->s_type->i_mutex_key#5); [ 28.576691] lock(&mm->mmap_sem); [ 28.577191] lock(event_mutex); [ 28.577411] [ 28.577411] *** DEADLOCK *** [ 28.577411] [ 28.578272] 1 lock held by syz-executor0/3380: [ 28.578649] #0: (&mm->mmap_sem){++++}, at: [] vm_mmap_pgoff+0x198/0x280 [ 28.579378] [ 28.579378] stack backtrace: [ 28.579760] CPU: 2 PID: 3380 Comm: syz-executor0 Not tainted 4.13.0-rc6-next-20170825+ #9 [ 28.580451] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS Bochs 01/01/2011 [ 28.581064] Call Trace: [ 28.581250] dump_stack+0x194/0x257 [ 28.581501] ? arch_local_irq_restore+0x53/0x53 [ 28.581845] print_circular_bug+0x503/0x710 [ 28.582134] ? print_circular_bug_entry+0xb0/0xb0 [ 28.582467] ? __unwind_start+0x169/0x330 [ 28.582762] check_prev_add+0x865/0x1520 [ 28.583055] ? copy_trace+0x1d0/0x1d0 [ 28.583315] ? check_usage+0xb70/0xb70 [ 28.583586] ? hlock_class+0x140/0x140 [ 28.583853] ? copy_trace+0x1d0/0x1d0 [ 28.584121] __lock_acquire+0x3286/0x4620 [ 28.584404] ? __lock_acquire+0x3286/0x4620 [ 28.584700] ? copy_trace+0x1d0/0x1d0 [ 28.584964] ? debug_check_no_locks_freed+0x3d0/0x3d0 [ 28.585310] ? __unwind_start+0x169/0x330 [ 28.585600] ? unwind_get_return_address+0x61/0xa0 [ 28.585951] ? __read_once_size_nocheck.constprop.8+0x10/0x10 [ 28.586452] ? do_munmap+0x82a/0xdf0 [ 28.586771] ? __read_once_size_nocheck.constprop.8+0x10/0x10 [ 28.587275] ? mmap_region+0x59e/0x15a0 [ 28.587614] ? unwind_next_frame.part.6+0x1ae/0xc70 [ 28.588038] ? unwind_next_frame.part.6+0x1ae/0xc70 [ 28.588464] ? unwind_dump+0x4c0/0x4c0 [ 28.588795] ? unwind_dump+0x4c0/0x4c0 [ 28.589127] ? unwind_dump+0x4c0/0x4c0 [ 28.589457] ? __unwind_start+0x169/0x330 [ 28.589809] ? unwind_get_return_address+0x61/0xa0 [ 28.590227] ? __save_stack_trace+0x61/0xd0 [ 28.590592] ? check_noncircular+0x20/0x20 [ 28.590958] ? do_munmap+0x82a/0xdf0 [ 28.591274] ? save_stack_trace+0x16/0x20 [ 28.591629] ? __lock_acquire+0x20f4/0x4620 [ 28.591998] ? save_stack_trace+0x16/0x20 [ 28.592374] ? __lock_acquire+0x20f4/0x4620 [ 28.592747] lock_acquire+0x1d5/0x580 [ 28.593072] ? perf_trace_destroy+0x28/0x100 [ 28.593446] ? lock_release+0xd70/0xd70 [ 28.593819] ? check_same_owner+0x320/0x320 [ 28.594185] ? preempt_notifier_dec+0x20/0x20 [ 28.594564] ? rcu_note_context_switch+0x710/0x710 [ 28.594990] ? __might_sleep+0x95/0x190 [ 28.595329] ? perf_trace_destroy+0x28/0x100 [ 28.595704] __mutex_lock+0x16f/0x1870 [ 28.596032] ? perf_trace_destroy+0x28/0x100 [ 28.596404] ? __sched_text_start+0x8/0x8 [ 28.596751] ? perf_trace_destroy+0x28/0x100 [ 28.597122] ? mutex_lock_io_nested+0x1740/0x1740 [ 28.597531] ? lock_acquire+0x1d5/0x580 [ 28.597851] ? perf_mmap_close+0x5cb/0xf90 [ 28.598209] ? check_same_owner+0x320/0x320 [ 28.598572] ? check_noncircular+0x20/0x20 [ 28.599368] ? perf_mmap_close+0x33f/0xf90 [ 28.599837] ? check_noncircular+0x20/0x20 [ 28.600375] ? check_noncircular+0x20/0x20 [ 28.600828] ? print_usage_bug+0x480/0x480 [ 28.601229] ? __mutex_lock+0x16f/0x1870 [ 28.601623] ? perf_mmap_close+0x5cb/0xf90 [ 28.601993] ? print_usage_bug+0x480/0x480 [ 28.602353] ? find_held_lock+0x39/0x1d0 [ 28.602697] ? check_noncircular+0x20/0x20 [ 28.603071] ? perf_addr_filters_splice+0x18f/0x810 [ 28.603472] ? lock_downgrade+0x990/0x990 [ 28.603750] ? free_filters_list+0x2f0/0x2f0 [ 28.604044] ? __wake_up+0x1e/0x50 [ 28.604283] ? __lock_is_held+0xbc/0x140 [ 28.604556] mutex_lock_nested+0x16/0x20 [ 28.604828] ? mutex_lock_nested+0x16/0x20 [ 28.605111] perf_trace_destroy+0x28/0x100 [ 28.605393] ? perf_tp_event_init+0xf0/0xf0 [ 28.605681] tp_perf_event_destroy+0x15/0x20 [ 28.605977] _free_event+0x401/0x1130 [ 28.606235] ? ring_buffer_attach+0x830/0x830 [ 28.606537] ? wait_for_completion+0x770/0x770 [ 28.606852] ? ring_buffer_put+0x140/0x140 [ 28.607139] ? lock_release+0xd70/0xd70 [ 28.607407] ? atomic_dec_and_mutex_lock+0x112/0x150 [ 28.607749] ? atomic_dec_and_mutex_lock+0x112/0x150 [ 28.608094] put_event+0x24/0x30 [ 28.608322] perf_mmap_close+0x60d/0xf90 [ 28.608598] ? perf_compat_ioctl+0x70/0x70 [ 28.608881] ? save_stack_trace+0x16/0x20 [ 28.609161] ? check_noncircular+0x20/0x20 [ 28.609444] ? remove_vma+0x162/0x1b0 [ 28.609700] ? do_munmap+0x82a/0xdf0 [ 28.609949] ? mmap_region+0x59e/0x15a0 [ 28.610217] ? vm_mmap_pgoff+0x1de/0x280 [ 28.610490] ? SyS_mmap_pgoff+0x23b/0x5f0 [ 28.610769] ? SyS_mmap+0x16/0x20 [ 28.611008] ? entry_SYSCALL_64_fastpath+0x1f/0xbe [ 28.611338] ? check_noncircular+0x20/0x20 [ 28.611622] ? anon_vma_interval_tree_insert+0x23f/0x2d0 [ 28.611988] ? __lock_is_held+0xbc/0x140 [ 28.612263] ? check_same_owner+0x320/0x320 [ 28.612553] ? rcu_note_context_switch+0x710/0x710 [ 28.612885] ? __might_sleep+0x95/0x190 [ 28.613151] ? perf_compat_ioctl+0x70/0x70 [ 28.613436] remove_vma+0xb4/0x1b0 [ 28.613673] do_munmap+0x82a/0xdf0 [ 28.613927] mmap_region+0x59e/0x15a0 [ 28.614203] ? SyS_brk+0x6f0/0x6f0 [ 28.614434] ? arch_get_unmapped_area_topdown+0xba/0x8a0 [ 28.614902] ? lock_downgrade+0x990/0x990 [ 28.615319] ? arch_get_unmapped_area+0x750/0x750 [ 28.615824] ? lock_acquire+0x1d5/0x580 [ 28.616243] ? vm_mmap_pgoff+0x198/0x280 [ 28.616645] ? selinux_mmap_addr+0x1f/0xf0 [ 28.617054] ? security_mmap_addr+0x79/0xa0 [ 28.617462] ? get_unmapped_area+0x265/0x300 [ 28.618203] do_mmap+0x6a1/0xd50 [ 28.618468] ? mmap_region+0x15a0/0x15a0 [ 28.618781] ? vm_mmap_pgoff+0x198/0x280 [ 28.619132] ? down_write+0x120/0x120 [ 28.619453] ? security_mmap_file+0x14e/0x190 [ 28.619752] vm_mmap_pgoff+0x1de/0x280 [ 28.619969] ? vma_is_stack_for_current+0xa0/0xa0 [ 28.620235] ? SyS_futex+0x260/0x390 [ 28.620807] ? SyS_futex+0x269/0x390 [ 28.621012] SyS_mmap_pgoff+0x23b/0x5f0 [ 28.621257] ? find_mergeable_anon_vma+0xd0/0xd0 [ 28.621524] ? trace_hardirqs_on_caller+0x421/0x5c0 [ 28.621925] ? trace_hardirqs_on_thunk+0x1a/0x1c [ 28.622331] SyS_mmap+0x16/0x20 [ 28.622616] entry_SYSCALL_64_fastpath+0x1f/0xbe [ 28.623056] RIP: 0033:0x446749 [ 28.623378] RSP: 002b:00007fd0d965ac08 EFLAGS: 00000282 ORIG_RAX: 0000000000000009 [ 28.624095] RAX: ffffffffffffffda RBX: 0000000020000000 RCX: 0000000000446749 [ 28.624710] RDX: 0000000000000003 RSI: 0000000000045000 RDI: 0000000020000000 [ 28.625421] RBP: 0000000000000086 R08: ffffffffffffffff R09: 0000000000000000 [ 28.626142] R10: 0000000000000032 R11: 0000000000000282 R12: 0000000000000000 [ 28.626827] R13: 0000000000000000 R14: 00007fd0d965b9c0 R15: 00007fd0d965b700