2017/08/24 14:26:56 parsed 1 programs 2017/08/24 14:26:56 executed programs: 0 syzkaller login: [ 32.735168] [ 32.735345] ====================================================== [ 32.736042] WARNING: possible circular locking dependency detected [ 32.736585] 4.13.0-rc6-next-20170824+ #8 Not tainted [ 32.737006] ------------------------------------------------------ [ 32.737548] kworker/0:2/1198 is trying to acquire lock: [ 32.738016] ((shepherd).work){+.+.}, at: [] process_one_work+0xb2c/0x1be0 [ 32.738760] [ 32.738760] but now in release context of a crosslock acquired at the following: [ 32.739492] ((complete)wq_barr::done/1){+.+.}, at: [] flush_work+0x621/0x930 [ 32.740248] [ 32.740248] which lock already depends on the new lock. [ 32.740248] [ 32.740927] [ 32.740927] the existing dependency chain (in reverse order) is: [ 32.741563] [ 32.741563] -> #3 ((complete)wq_barr::done/1){+.+.}: [ 32.742139] __lock_acquire+0x3286/0x4620 [ 32.742452] lock_acquire+0x1d5/0x580 [ 32.742737] wait_for_completion+0xc8/0x770 [ 32.743073] flush_work+0x621/0x930 [ 32.743442] lru_add_drain_all_cpuslocked+0x331/0x520 [ 32.743942] lru_add_drain_all+0x13/0x20 [ 32.744336] SyS_mlockall+0x2fb/0x670 [ 32.744706] entry_SYSCALL_64_fastpath+0x1f/0xbe [ 32.745156] [ 32.745156] -> #2 (lock#5){+.+.}: [ 32.745586] __lock_acquire+0x3286/0x4620 [ 32.745993] lock_acquire+0x1d5/0x580 [ 32.746367] __mutex_lock+0x16f/0x1870 [ 32.746744] mutex_lock_nested+0x16/0x20 [ 32.747512] lru_add_drain_all_cpuslocked+0xb3/0x520 [ 32.747995] lru_add_drain_all+0x13/0x20 [ 32.748390] SyS_mlockall+0x2fb/0x670 [ 32.748761] entry_SYSCALL_64_fastpath+0x1f/0xbe [ 32.749211] [ 32.749211] -> #1 (cpu_hotplug_lock.rw_sem){++++}: [ 32.749778] __lock_acquire+0x3286/0x4620 [ 32.750184] lock_acquire+0x1d5/0x580 [ 32.750560] cpus_read_lock+0x42/0x90 [ 32.750937] vmstat_shepherd+0x3d/0x1b0 [ 32.751327] process_one_work+0xbfd/0x1be0 [ 32.751818] worker_thread+0x223/0x1860 [ 32.752209] kthread+0x39c/0x470 [ 32.752550] ret_from_fork+0x2a/0x40 [ 32.752915] [ 32.752915] -> #0 ((shepherd).work){+.+.}: [ 32.753433] process_one_work+0xba5/0x1be0 [ 32.753851] worker_thread+0x223/0x1860 [ 32.754241] kthread+0x39c/0x470 [ 32.754580] ret_from_fork+0x2a/0x40 [ 32.754950] 0xffffffffffffffff [ 32.755304] [ 32.755304] other info that might help us debug this: [ 32.755304] [ 32.756009] Chain exists of: [ 32.756009] (shepherd).work --> lock#5 --> (complete)wq_barr::done/1 [ 32.756009] [ 32.756962] Possible unsafe locking scenario by crosslock: [ 32.756962] [ 32.757582] CPU0 CPU1 [ 32.757987] ---- ---- [ 32.758386] lock(lock#5); [ 32.758644] lock((complete)wq_barr::done/1); [ 32.759037] lock((shepherd).work); [ 32.759574] unlock((complete)wq_barr::done/1); [ 32.760197] [ 32.760197] *** DEADLOCK *** [ 32.760197] [ 32.760718] 3 locks held by kworker/0:2/1198: [ 32.761099] #0: ("mm_percpu_wq"){++++}, at: [] process_one_work+0xad4/0x1be0 [ 32.761878] #1: ((&barr->work)){+.+.}, at: [] process_one_work+0xb2c/0x1be0 [ 32.762634] #2: (&x->wait#14){....}, at: [] complete+0x18/0x80 [ 32.763302] [ 32.763302] stack backtrace: [ 32.763720] CPU: 0 PID: 1198 Comm: kworker/0:2 Not tainted 4.13.0-rc6-next-20170824+ #8 [ 32.764443] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS Bochs 01/01/2011 [ 32.765155] Workqueue: mm_percpu_wq wq_barrier_func [ 32.765601] Call Trace: [ 32.765831] dump_stack+0x194/0x257 [ 32.766148] ? arch_local_irq_restore+0x53/0x53 [ 32.766554] print_circular_bug+0x503/0x710 [ 32.766930] ? print_circular_bug_entry+0xb0/0xb0 [ 32.767347] check_prev_add+0x865/0x1520 [ 32.767720] ? graph_lock+0x170/0x170 [ 32.768050] ? check_usage+0xb70/0xb70 [ 32.768632] ? add_timer+0x73c/0xf40 [ 32.768956] ? print_usage_bug+0x480/0x480 [ 32.769323] ? hlock_class+0x140/0x140 [ 32.769661] lock_commit_crosslock+0xe73/0x1d10 [ 32.770079] ? lock_commit_crosslock+0xe73/0x1d10 [ 32.770497] ? check_prev_add+0x1520/0x1520 [ 32.770900] ? lock_acquire+0x1d5/0x580 [ 32.771242] ? complete+0x18/0x80 [ 32.771555] ? lock_release+0xd70/0xd70 [ 32.771951] ? process_one_work+0xb2c/0x1be0 [ 32.772374] complete+0x24/0x80 [ 32.772685] wq_barrier_func+0x16/0x20 [ 32.773076] process_one_work+0xbfd/0x1be0 [ 32.773402] ? check_noncircular+0x20/0x20 [ 32.773779] ? pwq_dec_nr_in_flight+0x450/0x450 [ 32.774219] ? finish_task_switch+0x1d3/0x740 [ 32.774677] ? __sched_text_start+0x8/0x8 [ 32.775033] ? check_noncircular+0x20/0x20 [ 32.775396] ? __unwind_start+0x169/0x330 [ 32.775776] ? find_held_lock+0x39/0x1d0 [ 32.776155] ? lock_acquire+0x1d5/0x580 [ 32.776496] ? worker_thread+0x4a3/0x1860 [ 32.776850] ? move_linked_works+0x2c8/0x430 [ 32.777228] ? pr_cont_work+0x130/0x130 [ 32.777617] ? find_held_lock+0x39/0x1d0 [ 32.777971] worker_thread+0xa4b/0x1860 [ 32.778314] ? process_one_work+0x1be0/0x1be0 [ 32.778730] ? check_noncircular+0x20/0x20 [ 32.779100] ? _raw_spin_unlock_irq+0x27/0x70 [ 32.779495] ? trace_hardirqs_on_caller+0x421/0x5c0 [ 32.779958] ? trace_hardirqs_on+0xd/0x10 [ 32.780346] ? _raw_spin_unlock_irq+0x27/0x70 [ 32.780843] ? finish_task_switch+0x1d3/0x740 [ 32.781272] ? finish_task_switch+0x1aa/0x740 [ 32.781734] ? preempt_notifier_dec+0x20/0x20 [ 32.782117] ? __schedule+0x8f0/0x2070 [ 32.782446] ? __x2apic_send_IPI_dest.constprop.7+0x5b/0x80 [ 32.782929] ? try_to_wake_up+0xf9/0x1600 [ 32.783282] ? find_held_lock+0x39/0x1d0 [ 32.783629] ? lock_downgrade+0x990/0x990 [ 32.783979] ? kmem_cache_alloc_trace+0x492/0x750 [ 32.784389] ? complete+0x18/0x80 [ 32.784681] ? __schedule+0x2070/0x2070 [ 32.785019] ? _raw_spin_unlock_irqrestore+0x31/0xba [ 32.785450] ? trace_hardirqs_on_caller+0x421/0x5c0 [ 32.785879] ? trace_hardirqs_on+0xd/0x10 [ 32.786236] ? __kthread_parkme+0x173/0x240 [ 32.786606] kthread+0x39c/0x470 [ 32.786895] ? process_one_work+0x1be0/0x1be0 [ 32.787281] ? kthread_create_on_node+0x100/0x100 [ 32.787694] ret_from_fork+0x2a/0x40