Messages in this thread |  | | Date | Fri, 25 Aug 2017 12:03:04 +0200 | From | Borislav Petkov <> | Subject | WARNING: possible circular locking dependency detected |
| |
Hey,
tglx says I have something for ya :-)
====================================================== WARNING: possible circular locking dependency detected 4.13.0-rc6+ #1 Not tainted ------------------------------------------------------ watchdog/3/27 is trying to acquire lock: (cpu_hotplug_lock.rw_sem){++++}, at: [<ffffffff8100c489>] release_ds_buffers+0x29/0xd0
but now in release context of a crosslock acquired at the following: ((complete)&self->parked){+.+.}, at: [<ffffffff810895f6>] kthread_park+0x46/0x60
which lock already depends on the new lock.
the existing dependency chain (in reverse order) is:
-> #2 ((complete)&self->parked){+.+.}: __lock_acquire+0x10af/0x1110 lock_acquire+0xea/0x1f0 wait_for_completion+0x3b/0x130 kthread_park+0x46/0x60 __smpboot_create_thread.part.5+0x7d/0xf0 smpboot_register_percpu_thread_cpumask+0xa2/0x100 spawn_ksoftirqd+0x3b/0x45 do_one_initcall+0x52/0x198 kernel_init_freeable+0x6f/0x1a1 kernel_init+0xe/0x100 ret_from_fork+0x2a/0x40
-> #1 (smpboot_threads_lock){+.+.}: __lock_acquire+0x10af/0x1110 lock_acquire+0xea/0x1f0 __mutex_lock+0x6c/0x940 mutex_lock_nested+0x1b/0x20 smpboot_register_percpu_thread_cpumask+0x42/0x100 spawn_ksoftirqd+0x3b/0x45 do_one_initcall+0x52/0x198 kernel_init_freeable+0x6f/0x1a1 kernel_init+0xe/0x100 ret_from_fork+0x2a/0x40
-> #0 (cpu_hotplug_lock.rw_sem){++++}: cpus_read_lock+0x2a/0x90 release_ds_buffers+0x29/0xd0 x86_release_hardware+0x8f/0xa0 hw_perf_event_destroy+0xe/0x20 _free_event+0xa7/0x250
other info that might help us debug this:
Chain exists of: cpu_hotplug_lock.rw_sem --> smpboot_threads_lock --> (complete)&self->parked
Possible unsafe locking scenario by crosslock:
CPU0 CPU1 ---- ---- lock(smpboot_threads_lock); lock((complete)&self->parked); lock(cpu_hotplug_lock.rw_sem); unlock((complete)&self->parked);
*** DEADLOCK ***
1 lock held by watchdog/3/27: #0: (&x->wait){....}, at: [<ffffffff810b115d>] complete+0x1d/0x60
stack backtrace: CPU: 3 PID: 27 Comm: watchdog/3 Not tainted 4.13.0-rc6+ #1 Hardware name: LENOVO 2320CTO/2320CTO, BIOS G2ET86WW (2.06 ) 11/13/2012 Call Trace: dump_stack+0x86/0xcf print_circular_bug+0x1fa/0x2f0 check_prev_add+0x3be/0x700 ? __lock_acquire+0x4c6/0x1110 ? trace_event_raw_event_lock+0xf0/0xf0 lock_commit_crosslock+0x40d/0x590 ? lock_commit_crosslock+0x40d/0x590 complete+0x29/0x60 __kthread_parkme+0x54/0x80 kthread_parkme+0x24/0x40 smpboot_thread_fn+0x95/0x230 kthread+0x147/0x180 ? sort_range+0x30/0x30 ? kthread_create_on_node+0x40/0x40 ret_from_fork+0x2a/0x40
-- Regards/Gruss, Boris.
Good mailing practices for 400: avoid top-posting and trim the reply.
|  |