lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Date:   Thu, 20 Jul 2017 19:35:01 -0400
From:   Steven Rostedt <rostedt@...dmis.org>
To:     LKML <linux-kernel@...r.kernel.org>
Cc:     Thomas Gleixner <tglx@...utronix.de>,
        QLogic-Storage-Upstream@...gic.com, martin.petersen@...cle.com,
        James Bottomley <James.Bottomley@...senPartnership.com>
Subject: [BUG] lockdep splat with cpu_hotplug_lock

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

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ