2017/08/24 09:25:31 parsed 1 programs 2017/08/24 09:25:31 executed programs: 0 syzkaller login: [ 32.546606] [ 32.546780] ====================================================== [ 32.547449] WARNING: possible circular locking dependency detected [ 32.548479] 4.13.0-rc6-next-20170824+ #8 Not tainted [ 32.549003] ------------------------------------------------------ [ 32.549588] syz-executor2/3143 is trying to acquire lock: [ 32.550437] (event_mutex){+.+.}, at: [] perf_trace_destroy+0x28/0x100 [ 32.551595] [ 32.551595] but task is already holding lock: [ 32.552203] (&mm->mmap_sem){++++}, at: [] vm_mmap_pgoff+0x198/0x280 [ 32.553023] [ 32.553023] which lock already depends on the new lock. [ 32.553023] [ 32.554223] [ 32.554223] the existing dependency chain (in reverse order) is: [ 32.557355] [ 32.557355] -> #7 (&mm->mmap_sem){++++}: [ 32.558194] __lock_acquire+0x3286/0x4620 [ 32.558886] lock_acquire+0x1d5/0x580 [ 32.559551] __might_fault+0x13a/0x1d0 [ 32.560190] _copy_to_user+0x2c/0xc0 [ 32.560821] filldir+0x1a7/0x320 [ 32.561418] dcache_readdir+0x12d/0x5e0 [ 32.562041] iterate_dir+0x4b2/0x5d0 [ 32.562692] SyS_getdents+0x225/0x450 [ 32.563334] entry_SYSCALL_64_fastpath+0x1f/0xbe [ 32.564074] [ 32.564074] -> #6 (&sb->s_type->i_mutex_key#5){++++}: [ 32.565078] down_write+0x87/0x120 [ 32.565707] handle_create+0x30c/0x760 [ 32.566360] devtmpfsd+0x3eb/0x520 [ 32.566938] kthread+0x39c/0x470 [ 32.567540] ret_from_fork+0x2a/0x40 [ 32.568122] [ 32.568122] -> #5 ((complete)&req.done){+.+.}: [ 32.569064] __lock_acquire+0x3286/0x4620 [ 32.569773] lock_acquire+0x1d5/0x580 [ 32.570414] wait_for_completion+0xc8/0x770 [ 32.571103] devtmpfs_create_node+0x32b/0x4a0 [ 32.571860] device_add+0x120f/0x1640 [ 32.572524] device_create_groups_vargs+0x1f3/0x250 [ 32.573309] device_create+0xda/0x110 [ 32.573949] msr_device_create+0x26/0x40 [ 32.574642] cpuhp_invoke_callback+0x256/0x14d0 [ 32.575405] cpuhp_thread_fun+0x265/0x520 [ 32.578735] smpboot_thread_fn+0x489/0x850 [ 32.579419] kthread+0x39c/0x470 [ 32.580029] ret_from_fork+0x2a/0x40 [ 32.580675] [ 32.580675] -> #4 (cpuhp_state){+.+.}: [ 32.581454] __lock_acquire+0x3286/0x4620 [ 32.582173] lock_acquire+0x1d5/0x580 [ 32.582816] cpuhp_issue_call+0x1a2/0x3e0 [ 32.583510] __cpuhp_setup_state_cpuslocked+0x2e7/0x610 [ 32.584392] __cpuhp_setup_state+0xb0/0x140 [ 32.585139] page_writeback_init+0x4d/0x71 [ 32.585862] pagecache_init+0x48/0x4f [ 32.586484] start_kernel+0x71a/0x7ad [ 32.587150] x86_64_start_reservations+0x2a/0x2c [ 32.587943] x86_64_start_kernel+0x13c/0x149 [ 32.588650] verify_cpu+0x0/0xfb [ 32.589230] [ 32.589230] -> #3 (cpuhp_state_mutex){+.+.}: [ 32.590121] __lock_acquire+0x3286/0x4620 [ 32.590809] lock_acquire+0x1d5/0x580 [ 32.591428] __mutex_lock+0x16f/0x1870 [ 32.592104] mutex_lock_nested+0x16/0x20 [ 32.592786] __cpuhp_setup_state_cpuslocked+0x5b/0x610 [ 32.593637] __cpuhp_setup_state+0xb0/0x140 [ 32.594356] kvm_guest_init+0x1f3/0x20f [ 32.595043] setup_arch+0x1899/0x1ab3 [ 32.595670] start_kernel+0xa5/0x7ad [ 32.596316] x86_64_start_reservations+0x2a/0x2c [ 32.599234] x86_64_start_kernel+0x13c/0x149 [ 32.600039] verify_cpu+0x0/0xfb [ 32.600616] [ 32.600616] -> #2 (cpu_hotplug_lock.rw_sem){++++}: [ 32.601593] __lock_acquire+0x3286/0x4620 [ 32.602296] lock_acquire+0x1d5/0x580 [ 32.602971] cpus_read_lock+0x42/0x90 [ 32.603606] static_key_slow_inc+0x9d/0x3c0 [ 32.604326] tracepoint_probe_register_prio+0x80d/0x9a0 [ 32.605224] tracepoint_probe_register+0x2a/0x40 [ 32.606030] trace_event_reg+0x167/0x320 [ 32.606712] perf_trace_init+0x504/0xab0 [ 32.607367] perf_tp_event_init+0x7d/0xf0 [ 32.608082] perf_try_init_event+0xc9/0x1f0 [ 32.608824] perf_event_alloc+0x1c5b/0x2a00 [ 32.609496] SYSC_perf_event_open+0x7f3/0x2d90 [ 32.610267] SyS_perf_event_open+0x39/0x50 [ 32.610996] entry_SYSCALL_64_fastpath+0x1f/0xbe [ 32.611769] [ 32.611769] -> #1 (tracepoints_mutex){+.+.}: [ 32.612445] __lock_acquire+0x3286/0x4620 [ 32.612908] lock_acquire+0x1d5/0x580 [ 32.613281] __mutex_lock+0x16f/0x1870 [ 32.613679] mutex_lock_nested+0x16/0x20 [ 32.614099] tracepoint_probe_register_prio+0xa0/0x9a0 [ 32.614628] tracepoint_probe_register+0x2a/0x40 [ 32.615093] trace_event_reg+0x167/0x320 [ 32.615494] perf_trace_init+0x504/0xab0 [ 32.615897] perf_tp_event_init+0x7d/0xf0 [ 32.616316] perf_try_init_event+0xc9/0x1f0 [ 32.616741] perf_event_alloc+0x1c5b/0x2a00 [ 32.617169] SYSC_perf_event_open+0x7f3/0x2d90 [ 32.617615] SyS_perf_event_open+0x39/0x50 [ 32.619455] entry_SYSCALL_64_fastpath+0x1f/0xbe [ 32.619916] [ 32.619916] -> #0 (event_mutex){+.+.}: [ 32.620406] check_prev_add+0x865/0x1520 [ 32.620801] __lock_acquire+0x3286/0x4620 [ 32.621206] lock_acquire+0x1d5/0x580 [ 32.621584] __mutex_lock+0x16f/0x1870 [ 32.621961] mutex_lock_nested+0x16/0x20 [ 32.622357] perf_trace_destroy+0x28/0x100 [ 32.622771] tp_perf_event_destroy+0x15/0x20 [ 32.623197] _free_event+0x401/0x1130 [ 32.623574] put_event+0x24/0x30 [ 32.623911] perf_mmap_close+0x60d/0xf90 [ 32.624310] remove_vma+0xb4/0x1b0 [ 32.624664] do_munmap+0x82a/0xdf0 [ 32.625029] mmap_region+0x59e/0x15a0 [ 32.625432] do_mmap+0x6a1/0xd50 [ 32.625796] vm_mmap_pgoff+0x1de/0x280 [ 32.626201] SyS_mmap_pgoff+0x23b/0x5f0 [ 32.626621] SyS_mmap+0x16/0x20 [ 32.626971] entry_SYSCALL_64_fastpath+0x1f/0xbe [ 32.627456] [ 32.627456] other info that might help us debug this: [ 32.627456] [ 32.628167] Chain exists of: [ 32.628167] event_mutex --> &sb->s_type->i_mutex_key#5 --> &mm->mmap_sem [ 32.628167] [ 32.629211] Possible unsafe locking scenario: [ 32.629211] [ 32.629756] CPU0 CPU1 [ 32.630175] ---- ---- [ 32.630588] lock(&mm->mmap_sem); [ 32.630910] lock(&sb->s_type->i_mutex_key#5); [ 32.631558] lock(&mm->mmap_sem); [ 32.632108] lock(event_mutex); [ 32.632408] [ 32.632408] *** DEADLOCK *** [ 32.632408] [ 32.632960] 1 lock held by syz-executor2/3143: [ 32.633366] #0: (&mm->mmap_sem){++++}, at: [] vm_mmap_pgoff+0x198/0x280 [ 32.634229] [ 32.634229] stack backtrace: [ 32.634636] CPU: 2 PID: 3143 Comm: syz-executor2 Not tainted 4.13.0-rc6-next-20170824+ #8 [ 32.635394] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS Bochs 01/01/2011 [ 32.636195] Call Trace: [ 32.636506] dump_stack+0x194/0x257 [ 32.636895] ? arch_local_irq_restore+0x53/0x53 [ 32.637343] print_circular_bug+0x503/0x710 [ 32.637788] ? print_circular_bug_entry+0xb0/0xb0 [ 32.638245] ? __unwind_start+0x169/0x330 [ 32.638629] check_prev_add+0x865/0x1520 [ 32.639012] ? copy_trace+0x1d0/0x1d0 [ 32.639373] ? check_usage+0xb70/0xb70 [ 32.641005] ? hlock_class+0x140/0x140 [ 32.641352] ? copy_trace+0x1d0/0x1d0 [ 32.641686] __lock_acquire+0x3286/0x4620 [ 32.642049] ? __lock_acquire+0x3286/0x4620 [ 32.642425] ? copy_trace+0x1d0/0x1d0 [ 32.642758] ? debug_check_no_locks_freed+0x3d0/0x3d0 [ 32.643209] ? __unwind_start+0x169/0x330 [ 32.643570] ? unwind_get_return_address+0x61/0xa0 [ 32.643998] ? __read_once_size_nocheck.constprop.8+0x10/0x10 [ 32.644549] ? do_munmap+0x82a/0xdf0 [ 32.644901] ? __read_once_size_nocheck.constprop.8+0x10/0x10 [ 32.645534] ? lock_downgrade+0x990/0x990 [ 32.645923] ? mmap_region+0x59e/0x15a0 [ 32.646333] ? unwind_next_frame.part.6+0x1ae/0xc70 [ 32.646820] ? unwind_next_frame.part.6+0x1ae/0xc70 [ 32.647316] ? unwind_dump+0x4c0/0x4c0 [ 32.647700] ? unwind_dump+0x4c0/0x4c0 [ 32.648079] ? unwind_dump+0x4c0/0x4c0 [ 32.648464] ? __unwind_start+0x169/0x330 [ 32.648857] ? unwind_get_return_address+0x61/0xa0 [ 32.649326] ? __save_stack_trace+0x61/0xd0 [ 32.649732] ? check_noncircular+0x20/0x20 [ 32.650135] ? do_munmap+0x82a/0xdf0 [ 32.650492] ? save_stack_trace+0x16/0x20 [ 32.650894] ? __lock_acquire+0x20f4/0x4620 [ 32.651318] ? save_stack_trace+0x16/0x20 [ 32.651723] ? __lock_acquire+0x20f4/0x4620 [ 32.652150] lock_acquire+0x1d5/0x580 [ 32.652511] ? perf_trace_destroy+0x28/0x100 [ 32.652928] ? lock_release+0xd70/0xd70 [ 32.653327] ? check_same_owner+0x320/0x320 [ 32.653705] ? preempt_notifier_dec+0x20/0x20 [ 32.654099] ? rcu_note_context_switch+0x710/0x710 [ 32.654532] ? __might_sleep+0x95/0x190 [ 32.654877] ? perf_trace_destroy+0x28/0x100 [ 32.655259] __mutex_lock+0x16f/0x1870 [ 32.655596] ? perf_trace_destroy+0x28/0x100 [ 32.655981] ? __sched_text_start+0x8/0x8 [ 32.656355] ? perf_trace_destroy+0x28/0x100 [ 32.656741] ? mutex_lock_io_nested+0x1740/0x1740 [ 32.657164] ? lock_acquire+0x1d5/0x580 [ 32.657511] ? perf_mmap_close+0x5cb/0xf90 [ 32.657882] ? check_same_owner+0x320/0x320 [ 32.658261] ? check_noncircular+0x20/0x20 [ 32.658629] ? perf_mmap_close+0x33f/0xf90 [ 32.658998] ? check_noncircular+0x20/0x20 [ 32.659369] ? check_noncircular+0x20/0x20 [ 32.659742] ? print_usage_bug+0x480/0x480 [ 32.660116] ? __mutex_lock+0x16f/0x1870 [ 32.660473] ? perf_mmap_close+0x5cb/0xf90 [ 32.662303] ? print_usage_bug+0x480/0x480 [ 32.662662] ? find_held_lock+0x39/0x1d0 [ 32.663019] ? check_noncircular+0x20/0x20 [ 32.663406] ? perf_addr_filters_splice+0x18f/0x810 [ 32.663836] ? lock_downgrade+0x990/0x990 [ 32.664204] ? free_filters_list+0x2f0/0x2f0 [ 32.664577] ? __wake_up+0x1e/0x50 [ 32.664879] ? __lock_is_held+0xbc/0x140 [ 32.665222] mutex_lock_nested+0x16/0x20 [ 32.665560] ? mutex_lock_nested+0x16/0x20 [ 32.665919] perf_trace_destroy+0x28/0x100 [ 32.666276] ? perf_tp_event_init+0xf0/0xf0 [ 32.666639] tp_perf_event_destroy+0x15/0x20 [ 32.667011] _free_event+0x401/0x1130 [ 32.667334] ? ring_buffer_attach+0x830/0x830 [ 32.667710] ? wait_for_completion+0x770/0x770 [ 32.668097] ? ring_buffer_put+0x140/0x140 [ 32.668467] ? lock_release+0xd70/0xd70 [ 32.668825] ? atomic_dec_and_mutex_lock+0x112/0x150 [ 32.669261] ? atomic_dec_and_mutex_lock+0x112/0x150 [ 32.669698] put_event+0x24/0x30 [ 32.669987] perf_mmap_close+0x60d/0xf90 [ 32.670336] ? perf_compat_ioctl+0x70/0x70 [ 32.670696] ? save_stack_trace+0x16/0x20 [ 32.671050] ? check_noncircular+0x20/0x20 [ 32.671412] ? remove_vma+0x162/0x1b0 [ 32.671742] ? do_munmap+0x82a/0xdf0 [ 32.672059] ? mmap_region+0x59e/0x15a0 [ 32.672404] ? vm_mmap_pgoff+0x1de/0x280 [ 32.672750] ? SyS_mmap_pgoff+0x23b/0x5f0 [ 32.673105] ? SyS_mmap+0x16/0x20 [ 32.673402] ? entry_SYSCALL_64_fastpath+0x1f/0xbe [ 32.673822] ? check_noncircular+0x20/0x20 [ 32.674185] ? anon_vma_interval_tree_insert+0x23f/0x2d0 [ 32.674675] ? __lock_is_held+0xbc/0x140 [ 32.675025] ? check_same_owner+0x320/0x320 [ 32.675394] ? rcu_note_context_switch+0x710/0x710 [ 32.675813] ? __might_sleep+0x95/0x190 [ 32.676155] ? perf_compat_ioctl+0x70/0x70 [ 32.676520] remove_vma+0xb4/0x1b0 [ 32.676828] do_munmap+0x82a/0xdf0 [ 32.677133] mmap_region+0x59e/0x15a0 [ 32.677461] ? SyS_brk+0x6f0/0x6f0 [ 32.677769] ? arch_get_unmapped_area_topdown+0xba/0x8a0 [ 32.678235] ? lock_downgrade+0x990/0x990 [ 32.678593] ? arch_get_unmapped_area+0x750/0x750 [ 32.679006] ? lock_acquire+0x1d5/0x580 [ 32.679348] ? vm_mmap_pgoff+0x198/0x280 [ 32.679696] ? selinux_mmap_addr+0x1f/0xf0 [ 32.680060] ? security_mmap_addr+0x79/0xa0 [ 32.680434] ? get_unmapped_area+0x265/0x300 [ 32.680812] do_mmap+0x6a1/0xd50 [ 32.681101] ? mmap_region+0x15a0/0x15a0 [ 32.681448] ? vm_mmap_pgoff+0x198/0x280 [ 32.681795] ? down_write+0x120/0x120 [ 32.682122] ? security_mmap_file+0x14e/0x190 [ 32.683653] vm_mmap_pgoff+0x1de/0x280 [ 32.684059] ? vma_is_stack_for_current+0xa0/0xa0 [ 32.684488] ? SyS_futex+0x260/0x390 [ 32.684804] ? SyS_futex+0x269/0x390 [ 32.685125] SyS_mmap_pgoff+0x23b/0x5f0 [ 32.685472] ? find_mergeable_anon_vma+0xd0/0xd0 [ 32.685879] ? trace_hardirqs_on_caller+0x421/0x5c0 [ 32.686309] ? trace_hardirqs_on_thunk+0x1a/0x1c [ 32.686717] SyS_mmap+0x16/0x20 [ 32.686999] entry_SYSCALL_64_fastpath+0x1f/0xbe [ 32.687408] RIP: 0033:0x446749 [ 32.687681] RSP: 002b:00007fe7eb20fc08 EFLAGS: 00000282 ORIG_RAX: 0000000000000009 [ 32.688346] RAX: ffffffffffffffda RBX: 0000000020000000 RCX: 0000000000446749 [ 32.688968] RDX: 0000000000000003 RSI: 0000000000045000 RDI: 0000000020000000 [ 32.689590] RBP: 0000000000000086 R08: ffffffffffffffff R09: 0000000000000000 [ 32.690209] R10: 0000000000000032 R11: 0000000000000282 R12: 0000000000000000 [ 32.690830] R13: 0000000000000000 R14: 00007fe7eb2109c0 R15: 00007fe7eb210700