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>] [day] [month] [year] [list]
Date:   Wed, 10 Apr 2019 21:20:48 +0800
From:   kernel test robot <lkp@...el.com>
To:     Waiman Long <longman@...hat.com>
Cc:     LKP <lkp@...org>, linux-kernel@...r.kernel.org,
        Ingo Molnar <mingo@...nel.org>
Subject: 3b4ba6643d ("locking/rwsem: Enhance DEBUG_RWSEMS_WARN_ON() .."):  WARNING: CPU: 0 PID: 0 at kernel/locking/rwsem.h:273 up_write

Greetings,

0day kernel testing robot got the below dmesg and the first bad commit is

https://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git WIP.locking/core

commit 3b4ba6643d26a95e08067fca9a5da1828f9afabf
Author:     Waiman Long <longman@...hat.com>
AuthorDate: Thu Apr 4 13:43:15 2019 -0400
Commit:     Ingo Molnar <mingo@...nel.org>
CommitDate: Wed Apr 10 10:56:03 2019 +0200

    locking/rwsem: Enhance DEBUG_RWSEMS_WARN_ON() macro
    
    Currently, the DEBUG_RWSEMS_WARN_ON() macro just dumps a stack trace
    when the rwsem isn't in the right state. It does not show the actual
    states of the rwsem. This may not be that helpful in the debugging
    process.
    
    Enhance the DEBUG_RWSEMS_WARN_ON() macro to also show the current
    content of the rwsem count and owner fields to give more information
    about what is wrong with the rwsem. The debug_locks_off() function is
    called as is done inside DEBUG_LOCKS_WARN_ON().
    
    Signed-off-by: Waiman Long <longman@...hat.com>
    Acked-by: Peter Zijlstra <a.p.zijlstra@...llo.nl>
    Acked-by: Davidlohr Bueso <dbueso@...e.de>
    Cc: Andrew Morton <akpm@...ux-foundation.org>
    Cc: Arnd Bergmann <arnd@...db.de>
    Cc: Borislav Petkov <bp@...en8.de>
    Cc: Davidlohr Bueso <dave@...olabs.net>
    Cc: Linus Torvalds <torvalds@...ux-foundation.org>
    Cc: Paul E. McKenney <paulmck@...ux.vnet.ibm.com>
    Cc: Peter Zijlstra <peterz@...radead.org>
    Cc: Thomas Gleixner <tglx@...utronix.de>
    Cc: Tim Chen <tim.c.chen@...ux.intel.com>
    Cc: Will Deacon <will.deacon@....com>
    Link: http://lkml.kernel.org/r/20190404174320.22416-7-longman@redhat.com
    Signed-off-by: Ingo Molnar <mingo@...nel.org>

a68e2c4c63  locking/rwsem: Add debug check for __down_read*()
3b4ba6643d  locking/rwsem: Enhance DEBUG_RWSEMS_WARN_ON() macro
5c587ed687  locking/rwsem: Remove redundant computation of writer lock word
31437a258f  Merge branch 'perf/urgent'
+---------------------------------------------+------------+------------+------------+------------+
|                                             | a68e2c4c63 | 3b4ba6643d | 5c587ed687 | 31437a258f |
+---------------------------------------------+------------+------------+------------+------------+
| boot_successes                              | 40         | 0          | 0          | 11         |
| boot_failures                               | 0          | 11         | 13         |            |
| WARNING:at_kernel/locking/rwsem.h:#up_write | 0          | 11         | 13         |            |
| EIP:up_write                                | 0          | 11         | 13         |            |
+---------------------------------------------+------------+------------+------------+------------+

[    0.191085]          A-B-C-D-B-D-D-A deadlock:  ok  |  ok  |  ok  |  ok  |  ok  |  ok  |  ok  |
[    0.197274]          A-B-C-D-B-C-D-A deadlock:  ok  |  ok  |  ok  |  ok  |  ok  |  ok  |  ok  |
[    0.203483]                     double unlock:  ok  |  ok  |  ok  |  ok  |
[    0.205265] ------------[ cut here ]------------
[    0.206323] DEBUG_RWSEMS_WARN_ON(sem->owner != current): count = 0x0, owner = 0x0, curr 0xd4657d00, list empty
[    0.207250] WARNING: CPU: 0 PID: 0 at kernel/locking/rwsem.h:273 up_write+0x9f/0xb0
[    0.208118] CPU: 0 PID: 0 Comm: swapper/0 Tainted: G                T 5.1.0-rc4-00065-g3b4ba66 #1
[    0.208930] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.10.2-1 04/01/2014
[    0.209691] EIP: up_write+0x9f/0xb0
[    0.210021] Code: 05 b3 66 79 d4 01 39 ce be 3d af 51 d4 b9 8c cd 52 d4 0f 45 ce 8b 33 51 52 50 56 68 42 af 51 d4 68 b8 af 51 d4 e8 51 16 fb ff <0f> 0b 83 c4 18 eb b3 8d 76 00 8d bc 27 00 00 00 00 3e 8d 74 26 00
[    0.211716] EAX: 00000062 EBX: d46c49e0 ECX: d36c6044 EDX: 00000002
[    0.212294] ESI: 00000000 EDI: d3990d40 EBP: d464bf34 ESP: d464bf14
[    0.212874] DS: 007b ES: 007b FS: 00d8 GS: 00e0 SS: 0068 EFLAGS: 00210286
[    0.213495] CR0: 80050033 CR2: ffffffff CR3: 14a12000 CR4: 000406b0
[    0.214076] DR0: 00000000 DR1: 00000000 DR2: 00000000 DR3: 00000000
[    0.214657] DR6: fffe0ff0 DR7: 00000400
[    0.215018] Call Trace:
[    0.215253]  double_unlock_wsem+0x21/0x30
[    0.215626]  dotest+0x2a/0x5c0
[    0.215918]  locking_selftest+0x4d6/0x1cc0
[    0.216301]  start_kernel+0x358/0x42c
[    0.216642]  i386_start_kernel+0xac/0xb0
[    0.217013]  startup_32_smp+0x164/0x170
[    0.217371] irq event stamp: 385
[    0.217675] hardirqs last  enabled at (385): [<d36c6075>] vprintk_emit+0x135/0x370
[    0.218373] hardirqs last disabled at (384): [<d36c5f8c>] vprintk_emit+0x4c/0x370
[    0.219063] softirqs last  enabled at (0): [<00000000>]   (null)
[    0.219615] softirqs last disabled at (0): [<00000000>]   (null)
[    0.220173] random: get_random_bytes called from print_oops_end_marker+0x4f/0x60 with crng_init=0
[    0.220988] ---[ end trace 7d35dc4b16298f6a ]---
[    0.221416]   ok  |  ok  |  ok  |

                                                          # HH:MM RESULT GOOD BAD GOOD_BUT_DIRTY DIRTY_NOT_BAD
git bisect start 5c587ed687faed2eb0afdd669ddd167d0d940236 5e7a8ca319268a70a6c7c3c1fde5bea38e1e5539 --
git bisect  bad fb346fd9fc081c3d978c3f3d26d39334527a2662  # 20:06  B      0    11   35  10  locking/lock_events: Make lock_events available for all archs & other locks
git bisect good eecec78f777742903ec9167490c625661284155d  # 20:25  G     11     0    0   0  locking/rwsem: Relocate rwsem_down_read_failed()
git bisect good a338ecb07a338c9a8b0ca0010e862ebe598b1551  # 20:35  G     11     0    0   0  locking/rwsem: Micro-optimize rwsem_try_read_lock_unqueued()
git bisect  bad 3b4ba6643d26a95e08067fca9a5da1828f9afabf  # 20:50  B      0    10   24   0  locking/rwsem: Enhance DEBUG_RWSEMS_WARN_ON() macro
git bisect good a68e2c4c637918da47b3aa270051545cff7d8245  # 21:00  G     11     0    0   0  locking/rwsem: Add debug check for __down_read*()
# first bad commit: [3b4ba6643d26a95e08067fca9a5da1828f9afabf] locking/rwsem: Enhance DEBUG_RWSEMS_WARN_ON() macro
git bisect good a68e2c4c637918da47b3aa270051545cff7d8245  # 21:04  G     31     0    0   0  locking/rwsem: Add debug check for __down_read*()
# extra tests on HEAD of tip/WIP.locking/core
git bisect  bad 5c587ed687faed2eb0afdd669ddd167d0d940236  # 21:04  B      0    13   30   0  locking/rwsem: Remove redundant computation of writer lock word
# extra tests on tree/branch tip/WIP.locking/core
git bisect  bad 5c587ed687faed2eb0afdd669ddd167d0d940236  # 21:06  B      0    13   30   0  locking/rwsem: Remove redundant computation of writer lock word
# extra tests on tree/branch tip/master
git bisect good 31437a258fa637d7449385ef2e1b33efc6786397  # 21:20  G     11     0    0   0  Merge branch 'perf/urgent'

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/lkp                          Intel Corporation

Download attachment "dmesg-openwrt-vm-openwrt-107:20190410205018:i386-randconfig-m0-201914:5.1.0-rc4-00065-g3b4ba66:1.gz" of type "application/gzip" (17899 bytes)

View attachment "reproduce-openwrt-vm-openwrt-107:20190410205018:i386-randconfig-m0-201914:5.1.0-rc4-00065-g3b4ba66:1" of type "text/plain" (912 bytes)

View attachment "config-5.1.0-rc4-00065-g3b4ba66" of type "text/plain" (99288 bytes)

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ