Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1693294 > unrolled thread

[BUG] lockdep splat with cpu_hotplug_lock

Started bySteven Rostedt <rostedt@goodmis.org>
First post2017-07-21 01:40 +0200
Last post2017-07-21 11:50 +0200
Articles 3 — 3 participants

Back to article view | Back to linux.kernel


Contents

  [BUG] lockdep splat with cpu_hotplug_lock Steven Rostedt <rostedt@goodmis.org> - 2017-07-21 01:40 +0200
    Re: [BUG] lockdep splat with cpu_hotplug_lock James Bottomley <James.Bottomley@HansenPartnership.com> - 2017-07-21 01:50 +0200
      Re: [BUG] lockdep splat with cpu_hotplug_lock Thomas Gleixner <tglx@linutronix.de> - 2017-07-21 11:50 +0200

#1693294 — [BUG] lockdep splat with cpu_hotplug_lock

FromSteven Rostedt <rostedt@goodmis.org>
Date2017-07-21 01:40 +0200
Subject[BUG] lockdep splat with cpu_hotplug_lock
Message-ID<u5tcZ-5BF-1@gated-at.bofh.it>
My tests triggered this splat on 4.13-rc1:

Loading iSCSI transport class v2.0-870.
QLogic NetXtreme II iSCSI Driver bnx2i v2.7.10.1 (Jul 16, 2014)
iscsi: registered transport (bnx2i)

============================================
WARNING: possible recursive locking detected
4.13.0-rc1-test+ #2 Not tainted
--------------------------------------------
swapper/0/1 is trying to acquire lock:
 (cpu_hotplug_lock.rw_sem){++++++}, at: [<ffffffffb505329e>] __cpuhp_setup_state+0x28/0x59

but task is already holding lock:
 (cpu_hotplug_lock.rw_sem){++++++}, at: [<ffffffffb64d54e9>] bnx2i_mod_init+0x134/0x209

other info that might help us debug this:
 Possible unsafe locking scenario:

       CPU0
       ----
  lock(cpu_hotplug_lock.rw_sem);
  lock(cpu_hotplug_lock.rw_sem);

 *** DEADLOCK ***

 May be due to missing lock nesting notation

1 lock held by swapper/0/1:
 #0:  (cpu_hotplug_lock.rw_sem){++++++}, at: [<ffffffffb64d54e9>] bnx2i_mod_init+0x134/0x209

stack backtrace:
CPU: 2 PID: 1 Comm: swapper/0 Not tainted 4.13.0-rc1-test+ #2
Hardware name: MSI MS-7823/CSM-H87M-G43 (MS-7823), BIOS V1.6 02/22/2014
Call Trace:
 dump_stack+0x68/0x92
 __lock_acquire+0x84b/0xebb
 ? __lock_is_held+0x47/0x7a
 ? mark_held_locks+0x5e/0x74
 ? _raw_spin_unlock_irqrestore+0x40/0x47
 lock_acquire+0x108/0x19c
 ? lock_acquire+0x108/0x19c
 ? __cpuhp_setup_state+0x28/0x59
 cpus_read_lock+0x2f/0x5f
 ? __cpuhp_setup_state+0x28/0x59
 __cpuhp_setup_state+0x28/0x59
 ? bnx2i_percpu_thread_create+0x79/0x79
 bnx2i_mod_init+0x17a/0x209
 ? iscsi_transport_init+0x1c1/0x1c1
 ? set_debug_rodata+0x17/0x17
 do_one_initcall+0x90/0x131
 ? set_debug_rodata+0x17/0x17
 kernel_init_freeable+0x1e5/0x26d
 ? rest_init+0xd8/0xd8
 kernel_init+0xe/0xfa
 ret_from_fork+0x27/0x40
ahci 0000:00:1f.2: version 3.0
ahci 0000:00:1f.2: AHCI 0001.0300 32 slots 6 ports 6 Gbps 0x3 impl SATA mode
ahci 0000:00:1f.2: flags: 64bit ncq led clo pio slum part ems apst
scsi host0: ahci

I'd let the powers that be figure it out.

-- Steve

[toc] | [next] | [standalone]


#1693297

FromJames Bottomley <James.Bottomley@HansenPartnership.com>
Date2017-07-21 01:50 +0200
Message-ID<u5tmF-5EN-5@gated-at.bofh.it>
In reply to#1693294
[redirecting to linux-scsi]
On Thu, 2017-07-20 at 19:35 -0400, Steven Rostedt wrote:
> My tests triggered this splat on 4.13-rc1:
> 
> Loading iSCSI transport class v2.0-870.
> QLogic NetXtreme II iSCSI Driver bnx2i v2.7.10.1 (Jul 16, 2014)
> iscsi: registered transport (bnx2i)
> 
> ============================================
> WARNING: possible recursive locking detected
> 4.13.0-rc1-test+ #2 Not tainted
> --------------------------------------------
> swapper/0/1 is trying to acquire lock:
>  (cpu_hotplug_lock.rw_sem){++++++}, at: [<ffffffffb505329e>]
> __cpuhp_setup_state+0x28/0x59
> 
> but task is already holding lock:
>  (cpu_hotplug_lock.rw_sem){++++++}, at: [<ffffffffb64d54e9>]
> bnx2i_mod_init+0x134/0x209
> 
> other info that might help us debug this:
>  Possible unsafe locking scenario:
> 
>        CPU0
>        ----
>   lock(cpu_hotplug_lock.rw_sem);
>   lock(cpu_hotplug_lock.rw_sem);
> 
>  *** DEADLOCK ***
> 
>  May be due to missing lock nesting notation
> 
> 1 lock held by swapper/0/1:
>  #0:  (cpu_hotplug_lock.rw_sem){++++++}, at: [<ffffffffb64d54e9>]
> bnx2i_mod_init+0x134/0x209
> 
> stack backtrace:
> CPU: 2 PID: 1 Comm: swapper/0 Not tainted 4.13.0-rc1-test+ #2
> Hardware name: MSI MS-7823/CSM-H87M-G43 (MS-7823), BIOS V1.6
> 02/22/2014
> Call Trace:
>  dump_stack+0x68/0x92
>  __lock_acquire+0x84b/0xebb
>  ? __lock_is_held+0x47/0x7a
>  ? mark_held_locks+0x5e/0x74
>  ? _raw_spin_unlock_irqrestore+0x40/0x47
>  lock_acquire+0x108/0x19c
>  ? lock_acquire+0x108/0x19c
>  ? __cpuhp_setup_state+0x28/0x59
>  cpus_read_lock+0x2f/0x5f
>  ? __cpuhp_setup_state+0x28/0x59
>  __cpuhp_setup_state+0x28/0x59
>  ? bnx2i_percpu_thread_create+0x79/0x79
>  bnx2i_mod_init+0x17a/0x209
>  ? iscsi_transport_init+0x1c1/0x1c1
>  ? set_debug_rodata+0x17/0x17
>  do_one_initcall+0x90/0x131
>  ? set_debug_rodata+0x17/0x17
>  kernel_init_freeable+0x1e5/0x26d
>  ? rest_init+0xd8/0xd8
>  kernel_init+0xe/0xfa
>  ret_from_fork+0x27/0x40
> ahci 0000:00:1f.2: version 3.0
> ahci 0000:00:1f.2: AHCI 0001.0300 32 slots 6 ports 6 Gbps 0x3 impl
> SATA mode
> ahci 0000:00:1f.2: flags: 64bit ncq led clo pio slum part ems apst
> scsi host0: ahci
> 
> I'd let the powers that be figure it out.

It sounds like it's an annotation issue not an actual problem.  I've
added the correct list, so hopefully our usual enthusiasts can take a
look.

James

[toc] | [prev] | [next] | [standalone]


#1693539

FromThomas Gleixner <tglx@linutronix.de>
Date2017-07-21 11:50 +0200
Message-ID<u5CJk-37O-23@gated-at.bofh.it>
In reply to#1693297

[Multipart message — attachments visible in raw view] — view raw

On Thu, 20 Jul 2017, James Bottomley wrote:
> [redirecting to linux-scsi]
> On Thu, 2017-07-20 at 19:35 -0400, Steven Rostedt wrote:
> > My tests triggered this splat on 4.13-rc1:
> > 
> > Loading iSCSI transport class v2.0-870.
> > QLogic NetXtreme II iSCSI Driver bnx2i v2.7.10.1 (Jul 16, 2014)
> > iscsi: registered transport (bnx2i)
> > 
> > ============================================
> > WARNING: possible recursive locking detected
> > 4.13.0-rc1-test+ #2 Not tainted
> > --------------------------------------------
> > swapper/0/1 is trying to acquire lock:
> >  (cpu_hotplug_lock.rw_sem){++++++}, at: [<ffffffffb505329e>]
> > __cpuhp_setup_state+0x28/0x59
> > 
> > but task is already holding lock:
> >  (cpu_hotplug_lock.rw_sem){++++++}, at: [<ffffffffb64d54e9>]
> > bnx2i_mod_init+0x134/0x209
> > 
> > other info that might help us debug this:
> >  Possible unsafe locking scenario:
> > 
> >        CPU0
> >        ----
> >   lock(cpu_hotplug_lock.rw_sem);
> >   lock(cpu_hotplug_lock.rw_sem);
> 
> It sounds like it's an annotation issue not an actual problem.  I've
> added the correct list, so hopefully our usual enthusiasts can take a
> look.

Nope. It's a recursive locking/\ of cpuhotplug lock. I'll have a look on
monday.

Thanks,

	tglx

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web