Debian GNU/Linux 7 syzkaller ttyS0 2017/08/24 16:20:38 parsed 1 programs 2017/08/24 16:20:38 executed programs: 0 syzkaller login: [ 25.760457] [ 25.760606] ====================================================== [ 25.761104] WARNING: possible circular locking dependency detected [ 25.761545] 4.13.0-rc6-next-20170824+ #8 Not tainted [ 25.761919] ------------------------------------------------------ [ 25.762428] kworker/0:2/1314 is trying to acquire lock: [ 25.762862] ((shepherd).work){+.+.}, at: [] process_one_work+0xb2c/0x1be0 [ 25.763521] [ 25.763521] but now in release context of a crosslock acquired at the following: [ 25.764247] ((complete)wq_barr::done/1){+.+.}, at: [] flush_work+0x621/0x930 [ 25.764903] [ 25.764903] which lock already depends on the new lock. [ 25.764903] [ 25.765526] [ 25.765526] the existing dependency chain (in reverse order) is: [ 25.766117] [ 25.766117] -> #3 ((complete)wq_barr::done/1){+.+.}: [ 25.766557] __lock_acquire+0x3286/0x4620 [ 25.766879] lock_acquire+0x1d5/0x580 [ 25.767190] wait_for_completion+0xc8/0x770 [ 25.767509] flush_work+0x621/0x930 [ 25.767797] lru_add_drain_all_cpuslocked+0x331/0x520 [ 25.768248] lru_add_drain_all+0x13/0x20 [ 25.768603] SyS_mlockall+0x2fb/0x670 [ 25.768902] entry_SYSCALL_64_fastpath+0x1f/0xbe [ 25.769284] [ 25.769284] -> #2 (lock#5){+.+.}: [ 25.769614] __lock_acquire+0x3286/0x4620 [ 25.769991] lock_acquire+0x1d5/0x580 [ 25.770312] __mutex_lock+0x16f/0x1870 [ 25.770639] mutex_lock_nested+0x16/0x20 [ 25.770981] lru_add_drain_all_cpuslocked+0xb3/0x520 [ 25.771480] lru_add_drain_all+0x13/0x20 [ 25.772318] SyS_mlockall+0x2fb/0x670 [ 25.772609] entry_SYSCALL_64_fastpath+0x1f/0xbe [ 25.772955] [ 25.772955] -> #1 (cpu_hotplug_lock.rw_sem){++++}: [ 25.773404] __lock_acquire+0x3286/0x4620 [ 25.773794] lock_acquire+0x1d5/0x580 [ 25.774121] cpus_read_lock+0x42/0x90 [ 25.774446] vmstat_shepherd+0x3d/0x1b0 [ 25.774770] process_one_work+0xbfd/0x1be0 [ 25.775151] worker_thread+0x223/0x1860 [ 25.775488] kthread+0x39c/0x470 [ 25.775795] ret_from_fork+0x2a/0x40 [ 25.776088] [ 25.776088] -> #0 ((shepherd).work){+.+.}: [ 25.776520] process_one_work+0xba5/0x1be0 [ 25.776832] worker_thread+0x223/0x1860 [ 25.777157] kthread+0x39c/0x470 [ 25.777464] ret_from_fork+0x2a/0x40 [ 25.777741] 0xffffffffffffffff [ 25.777989] [ 25.777989] other info that might help us debug this: [ 25.777989] [ 25.778596] Chain exists of: [ 25.778596] (shepherd).work --> lock#5 --> (complete)wq_barr::done/1 [ 25.778596] [ 25.779380] Possible unsafe locking scenario by crosslock: [ 25.779380] [ 25.779861] CPU0 CPU1 [ 25.780179] ---- ---- [ 25.780516] lock(lock#5); [ 25.780723] lock((complete)wq_barr::done/1); [ 25.781093] lock((shepherd).work); [ 25.781504] unlock((complete)wq_barr::done/1); [ 25.782012] [ 25.782012] *** DEADLOCK *** [ 25.782012] [ 25.782422] 3 locks held by kworker/0:2/1314: [ 25.782718] #0: ("mm_percpu_wq"){++++}, at: [] process_one_work+0xad4/0x1be0 [ 25.783328] #1: ((&barr->work)){+.+.}, at: [] process_one_work+0xb2c/0x1be0 [ 25.783941] #2: (&x->wait#14){....}, at: [] complete+0x18/0x80 [ 25.784492] [ 25.784492] stack backtrace: [ 25.784828] CPU: 0 PID: 1314 Comm: kworker/0:2 Not tainted 4.13.0-rc6-next-20170824+ #8 [ 25.785465] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS Bochs 01/01/2011 [ 25.786037] Workqueue: mm_percpu_wq wq_barrier_func [ 25.786382] Call Trace: [ 25.786580] dump_stack+0x194/0x257 [ 25.786861] ? arch_local_irq_restore+0x53/0x53 [ 25.787196] print_circular_bug+0x503/0x710 [ 25.787481] ? print_circular_bug_entry+0xb0/0xb0 [ 25.787822] check_prev_add+0x865/0x1520 [ 25.788102] ? graph_lock+0x170/0x170 [ 25.788380] ? check_usage+0xb70/0xb70 [ 25.788689] ? add_timer+0x73c/0xf40 [ 25.788947] ? print_usage_bug+0x480/0x480 [ 25.789254] ? hlock_class+0x140/0x140 [ 25.789532] lock_commit_crosslock+0xe73/0x1d10 [ 25.789841] ? lock_commit_crosslock+0xe73/0x1d10 [ 25.790164] ? check_prev_add+0x1520/0x1520 [ 25.790490] ? lock_acquire+0x1d5/0x580 [ 25.790820] ? complete+0x18/0x80 [ 25.791103] ? lock_release+0xd70/0xd70 [ 25.791405] ? process_one_work+0xb2c/0x1be0 [ 25.791739] complete+0x24/0x80 [ 25.791958] wq_barrier_func+0x16/0x20 [ 25.792218] process_one_work+0xbfd/0x1be0 [ 25.792526] ? check_noncircular+0x20/0x20 [ 25.792809] ? pwq_dec_nr_in_flight+0x450/0x450 [ 25.793502] ? finish_task_switch+0x1d3/0x740 [ 25.793945] ? __sched_text_start+0x8/0x8 [ 25.794297] ? check_noncircular+0x20/0x20 [ 25.794661] ? __unwind_start+0x169/0x330 [ 25.794989] ? find_held_lock+0x39/0x1d0 [ 25.795315] ? lock_acquire+0x1d5/0x580 [ 25.795579] ? worker_thread+0x4a3/0x1860 [ 25.795947] ? move_linked_works+0x2c8/0x430 [ 25.796282] ? pr_cont_work+0x130/0x130 [ 25.796590] worker_thread+0xa4b/0x1860 [ 25.796929] ? process_one_work+0x1be0/0x1be0 [ 25.797248] ? check_noncircular+0x20/0x20 [ 25.797539] ? _raw_spin_unlock_irq+0x27/0x70 [ 25.797843] ? trace_hardirqs_on_caller+0x421/0x5c0 [ 25.798209] ? trace_hardirqs_on+0xd/0x10 [ 25.798490] ? _raw_spin_unlock_irq+0x27/0x70 [ 25.798808] ? finish_task_switch+0x1d3/0x740 [ 25.799152] ? finish_task_switch+0x1aa/0x740 [ 25.799458] ? preempt_notifier_dec+0x20/0x20 [ 25.799778] ? __schedule+0x8f0/0x2070 [ 25.800066] ? __x2apic_send_IPI_dest.constprop.7+0x5b/0x80 [ 25.800495] ? try_to_wake_up+0xf9/0x1600 [ 25.800764] ? find_held_lock+0x39/0x1d0 [ 25.801098] ? lock_downgrade+0x990/0x990 [ 25.801410] ? complete+0x18/0x80 [ 25.801638] ? __schedule+0x2070/0x2070 [ 25.801899] ? _raw_spin_unlock_irqrestore+0x31/0xba [ 25.802262] ? trace_hardirqs_on_caller+0x421/0x5c0 [ 25.802626] ? trace_hardirqs_on+0xd/0x10 [ 25.802891] ? __kthread_parkme+0x173/0x240 [ 25.803199] kthread+0x39c/0x470 [ 25.803459] ? process_one_work+0x1be0/0x1be0 [ 25.803761] ? kthread_create_on_node+0x100/0x100 [ 25.804100] ret_from_fork+0x2a/0x40