All of lore.kernel.org
 help / color / mirror / Atom feed
From: Borislav Petkov <bp@alien8.de>
To: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Cc: Thomas Gleixner <tglx@linutronix.de>,
	Peter Zijlstra <peterz@infradead.org>,
	lkml <linux-kernel@vger.kernel.org>
Subject: WARNING: possible circular locking dependency detected
Date: Fri, 25 Aug 2017 12:03:04 +0200	[thread overview]
Message-ID: <20170825100304.5cwrlrfwi7f3zcld@pd.tnic> (raw)

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.

             reply	other threads:[~2017-08-25 10:03 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-08-25 10:03 Borislav Petkov [this message]
2017-08-25 11:45 ` WARNING: possible circular locking dependency detected Borislav Petkov
2017-08-25 14:47 ` Sebastian Andrzej Siewior
2017-08-25 16:12   ` Byungchul Park
2017-08-25 16:21     ` Thomas Gleixner
2017-08-28  7:41   ` Peter Zijlstra
2017-08-28 14:11   ` Peter Zijlstra
2017-08-29 19:34   ` Peter Zijlstra
2017-08-25 16:42 ` Sebastian Andrzej Siewior
2017-08-28 14:58 ` Peter Zijlstra
2017-08-28 15:06   ` Peter Zijlstra
2017-08-28 16:32     ` Peter Zijlstra
2017-08-29 17:40   ` Thomas Gleixner
2017-08-29 19:49     ` Peter Zijlstra
2017-08-29 20:10       ` Thomas Gleixner
2017-08-30  5:47         ` Peter Zijlstra
2017-08-31  7:08           ` Thomas Gleixner
2017-08-31  7:37             ` Peter Zijlstra
2017-08-31  7:55               ` Thomas Gleixner
2017-08-31  8:09                 ` Peter Zijlstra
2017-08-31  8:15                   ` Thomas Gleixner
2017-08-31 21:24                     ` Thomas Gleixner
2017-09-01 20:32                       ` Peter Zijlstra
2018-11-14  2:41 Qian Cai

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20170825100304.5cwrlrfwi7f3zcld@pd.tnic \
    --to=bp@alien8.de \
    --cc=bigeasy@linutronix.de \
    --cc=linux-kernel@vger.kernel.org \
    --cc=peterz@infradead.org \
    --cc=tglx@linutronix.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.