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:   Tue, 1 Aug 2017 13:24:17 +0800
From:   kernel test robot <xiaolong.ye@...el.com>
To:     "Paul E. McKenney" <paulmck@...ux.vnet.ibm.com>
Cc:     Ingo Molnar <mingo@...hat.com>,
        Peter Zijlstra <peterz@...radead.org>,
        Will Deacon <will.deacon@....com>,
        Alan Stern <stern@...land.harvard.edu>,
        Andrea Parri <parri.andrea@...il.com>,
        Linus Torvalds <torvalds@...ux-foundation.org>,
        LKML <linux-kernel@...r.kernel.org>,
        Stephen Rothwell <sfr@...b.auug.org.au>, lkp@...org
Subject: [completion]  f9838c6237:
 inconsistent{IN-HARDIRQ-W}->{HARDIRQ-ON-W}usage


FYI, we noticed the following commit:

commit: f9838c62374400b24785e8ae20f87075ed283cbd ("completion: Replace spin_unlock_wait() with lock/unlock pair")
https://git.kernel.org/cgit/linux/kernel/git/next/linux-next.git master

in testcase: cpu-hotplug
with following parameters:




on test machine: qemu-system-x86_64 -enable-kvm -cpu Nehalem -smp 2 -m 1G

caused below changes (please refer to attached dmesg/kmsg for entire log/backtrace):


+-------------------------------------------------+------------+------------+
|                                                 | 4a6fc6107e | f9838c6237 |
+-------------------------------------------------+------------+------------+
| boot_successes                                  | 8          | 4          |
| boot_failures                                   | 0          | 4          |
| inconsistent{IN-HARDIRQ-W}->{HARDIRQ-ON-W}usage | 0          | 4          |
+-------------------------------------------------+------------+------------+



[   33.432536] WARNING: inconsistent lock state
[   33.432929] 4.13.0-rc2-00005-gf9838c62 #122 Not tainted
[   33.433400] --------------------------------
[   33.433786] inconsistent {IN-HARDIRQ-W} -> {HARDIRQ-ON-W} usage.
[   33.434350] swapper/1/0 [HC0[0]:SC0[0]:HE1:SE1] takes:
[   33.434814]  (vector_lock){?.-...}, at: [<ffffffffb8081af6>] lock_vector_lock+0x15/0x17
[   33.435565] {IN-HARDIRQ-W} state was registered at:
[   33.436021]   __lock_acquire+0x342/0xe43
[   33.436384]   lock_acquire+0x142/0x1dd
[   33.436730]   _raw_spin_lock_irqsave+0x4d/0x88
[   33.437139]   assign_irq_vector+0x30/0x2f9
[   33.437515]   apic_set_affinity+0x27/0x2f
[   33.437889]   msi_domain_set_affinity+0x21/0x5c
[   33.438321]   irq_do_set_affinity+0x1d/0x42
[   33.438700]   irq_move_masked_irq+0x81/0x91
[   33.439086]   irq_move_irq+0x46/0x5c
[   33.439412]   apic_ack_edge+0x22/0x39
[   33.439748]   irq_chip_ack_parent+0x14/0x16
[   33.440134]   handle_edge_irq+0xa4/0xfc
[   33.440487]   handle_irq+0xf0/0xfc
[   33.440800]   do_IRQ+0x80/0xfc
[   33.441086]   ret_from_intr+0x0/0x1e
[   33.441411]   native_safe_halt+0x6/0x8
[   33.441753]   default_idle+0x3f/0x18b
[   33.442094]   arch_cpu_idle+0xf/0x11
[   33.442420]   default_idle_call+0x36/0x3d
[   33.442783]   do_idle+0xd3/0x19a
[   33.443085]   cpu_startup_entry+0x1f/0x21
[   33.443452]   start_secondary+0x108/0x10b
[   33.443818]   verify_cpu+0x0/0xf1
[   33.444128] irq event stamp: 457043
[   33.444449] hardirqs last  enabled at (457043): [<ffffffffb8d7d4f3>] _raw_spin_unlock_irqrestore+0x48/0x5e
[   33.445314] hardirqs last disabled at (457042): [<ffffffffb8d7d2dd>] _raw_spin_lock_irqsave+0x27/0x88
[   33.446139] softirqs last  enabled at (457018): [<ffffffffb8d822e2>] __do_softirq+0x352/0x43b
[   33.446904] softirqs last disabled at (456971): [<ffffffffb80a4fc8>] irq_exit+0x5d/0xad
[   33.447614] 
[   33.447614] other info that might help us debug this:
[   33.448205]  Possible unsafe locking scenario:
[   33.448205] 
[   33.448751]        CPU0
[   33.448984]        ----
[   33.449212]   lock(vector_lock);
[   33.449510]   <Interrupt>
[   33.449753]     lock(vector_lock);
[   33.450072] 
[   33.450072]  *** DEADLOCK ***
[   33.450072] 
[   33.450605] no locks held by swapper/1/0.
[   33.450975] 
[   33.450975] stack backtrace:
[   33.451371] CPU: 1 PID: 0 Comm: swapper/1 Not tainted 4.13.0-rc2-00005-gf9838c62 #122
[   33.452075] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.9.3-20161025_171302-gandalf 04/01/2014
[   33.452981] Call Trace:
[   33.453212]  dump_stack+0x86/0xc0
[   33.453518]  print_usage_bug+0x247/0x256
[   33.453942]  ? check_usage_forwards+0x10c/0x10c
[   33.454353]  mark_lock+0x345/0x504
[   33.454666]  __lock_acquire+0x3aa/0xe43
[   33.455022]  lock_acquire+0x142/0x1dd
[   33.455358]  ? lock_vector_lock+0x15/0x17
[   33.455722]  _raw_spin_lock+0x34/0x6a
[   33.456060]  ? lock_vector_lock+0x15/0x17
[   33.456424]  lock_vector_lock+0x15/0x17
[   33.456772]  start_secondary+0xad/0x10b
[   33.457126]  secondary_startup_64+0x9f/0x9f
[   33.625476] KVM setup async PF for cpu 1
[   33.626951] kvm-stealtime: cpu 1, msr 33a0cc80
[   34.668631] Unregister pv shared memory for cpu 1
[   34.670735] numa_remove_cpu cpu 1 node 0: mask now 0
[   34.678082] smpboot: CPU 1 is now offline
[   34.706387] x86: Booting SMP configuration:
[   34.707375] smpboot: Booting Node 0 Processor 1 APIC 0x1
[   34.711158] kvm-clock: cpu 1, msr 0:354af041, secondary cpu clock
[   34.712001] masked ExtINT on CPU#1
[   34.712557] numa_add_cpu cpu 1 node 0: mask now 0-1
[   34.791525] KVM setup async PF for cpu 1
[   34.793752] kvm-stealtime: cpu 1, msr 33a0cc80
[   35.468234] Unregister pv shared memory for cpu 1
[   35.470234] numa_remove_cpu cpu 1 node 0: mask now 0
[   35.472369] smpboot: CPU 1 is now offline
[   36.489814] x86: Booting SMP configuration:
[   36.490820] smpboot: Booting Node 0 Processor 1 APIC 0x1
[   36.492193] kvm-clock: cpu 1, msr 0:354af041, secondary cpu clock
[   36.493248] masked ExtINT on CPU#1
[   36.494005] numa_add_cpu cpu 1 node 0: mask now 0-1
[   36.576397] KVM setup async PF for cpu 1
[   36.577751] kvm-stealtime: cpu 1, msr 33a0cc80
[   36.602823] Unregister pv shared memory for cpu 1
[   36.606825] numa_remove_cpu cpu 1 node 0: mask now 0
[   36.608737] smpboot: CPU 1 is now offline
[   36.728615] x86: Booting SMP configuration:
[   36.730895] smpboot: Booting Node 0 Processor 1 APIC 0x1
[   36.734061] kvm-clock: cpu 1, msr 0:354af041, secondary cpu clock
[   36.735188] masked ExtINT on CPU#1
[   36.735823] numa_add_cpu cpu 1 node 0: mask now 0-1
[   36.822495] KVM setup async PF for cpu 1
[   36.823892] kvm-stealtime: cpu 1, msr 33a0cc80
[   37.859986] Unregister pv shared memory for cpu 1
[   37.863025] numa_remove_cpu cpu 1 node 0: mask now 0
[   37.865247] smpboot: CPU 1 is now offline
[   37.883135] x86: Booting SMP configuration:


To reproduce:

        git clone https://github.com/01org/lkp-tests.git
        cd lkp-tests
        bin/lkp qemu -k <bzImage> job-script  # job-script is attached in this email



Thanks,
Kernel Test Robot

View attachment "config-4.13.0-rc2-00005-gf9838c62" of type "text/plain" (117949 bytes)

View attachment "job-script" of type "text/plain" (3952 bytes)

Download attachment "dmesg.xz" of type "application/octet-stream" (30036 bytes)

View attachment "cpu-hotplug" of type "text/plain" (29 bytes)

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ