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:	Sun, 12 Jan 2014 00:14:04 +0800
From:	kernel test robot <fengguang.wu@...el.com>
To:	Ming Lei <tom.leiming@...il.com>
Cc:	linux-kernel@...r.kernel.org
Subject: [percpu_counter] WARNING: CPU: 1 PID: 1 at
 kernel/locking/lockdep.c:3537 check_flags()

Greetings,

I got the below dmesg and the first bad commit is

commit 97e890b9c839c191a500c3a19bfb4539f65c70be
Author:     Ming Lei <tom.leiming@...il.com>
AuthorDate: Fri Jan 10 12:41:46 2014 +1100
Commit:     Stephen Rothwell <sfr@...b.auug.org.au>
CommitDate: Fri Jan 10 12:41:46 2014 +1100

    lib/percpu_counter.c: disable local irq when updating percpu couter
    
    __percpu_counter_add() may be called in softirq/hardirq handler (such as,
    blk_mq_queue_exit() is typically called in hardirq/softirq handler), so we
    need to disable local irq when updating the percpu counter, otherwise
    counts may be lost.
    
    The patch fixes problem that 'rmmod null_blk' may hang in blk_cleanup_queue()
    because of miscounting of request_queue->mq_usage_counter.
    
    Signed-off-by: Ming Lei <tom.leiming@...il.com>
    Cc: Paul Gortmaker <paul.gortmaker@...driver.com>
    Cc: Andrew Morton <akpm@...ux-foundation.org>
    Cc: Shaohua Li <shli@...ionio.com>
    Cc: Jens Axboe <axboe@...nel.dk>
    Cc: Fan Du <fan.du@...driver.com>
    Cc: Tejun Heo <tj@...nel.org>
    Cc: <stable@...r.kernel.org>
    Signed-off-by: Andrew Morton <akpm@...ux-foundation.org>

+-----------------------------------------------------------+----+
|                                                           |    |
+-----------------------------------------------------------+----+
| boot_successes                                            | 0  |
| boot_failures                                             | 19 |
| WARNING:CPU:PID:at_kernel/locking/lockdep.c:check_flags() | 19 |
+-----------------------------------------------------------+----+

[    8.021637] Freeing unused kernel memory: 816K (ffff880001934000 - ffff880001a00000)

[    8.093354] ------------[ cut here ]------------
[    8.095469] WARNING: CPU: 1 PID: 1 at kernel/locking/lockdep.c:3537 check_flags+0x77/0x1ba()
[    8.095469] DEBUG_LOCKS_WARN_ON(current->hardirqs_enabled)
[    8.095469] CPU: 1 PID: 1 Comm: init Not tainted 3.13.0-rc7-next-20140110-08732-g1955a14 #1
[    8.095469]  0000000000000000 ffff880000077c30 ffffffff8156f277 ffff880000077c78
[    8.095469]  ffff880000077c68 ffffffff81091f0b ffffffff810c6bb2 0000000000000046
[    8.095469]  ffffffff824d27d8 ffff88000e6b8000 0000000000000246 ffff880000077cc8
[    8.095469] Call Trace:
[    8.095469]  [<ffffffff8156f277>] dump_stack+0x4d/0x66
[    8.095469]  [<ffffffff81091f0b>] warn_slowpath_common+0x70/0x89
[    8.095469]  [<ffffffff810c6bb2>] ? check_flags+0x77/0x1ba
[    8.095469]  [<ffffffff81091f85>] warn_slowpath_fmt+0x47/0x49
[    8.095469]  [<ffffffff810c6bb2>] check_flags+0x77/0x1ba
[    8.095469]  [<ffffffff810ca55a>] lock_acquire+0x50/0xc4
[    8.095469]  [<ffffffff8157b9e5>] _raw_spin_lock+0x32/0x3f
[    8.095469]  [<ffffffff811f9238>] ? __percpu_counter_add+0x45/0x73
[    8.095469]  [<ffffffff811f9238>] __percpu_counter_add+0x45/0x73
[    8.095469]  [<ffffffff81120358>] __vm_enough_memory+0x24/0x12f
[    8.095469]  [<ffffffff8119f964>] cap_vm_enough_memory+0x47/0x4c
[    8.095469]  [<ffffffff8119fade>] security_vm_enough_memory_mm+0xe/0x10
[    8.095469]  [<ffffffff81090a50>] copy_process+0xb67/0x151d
[    8.095469]  [<ffffffff81091555>] do_fork+0x87/0x244
[    8.095469]  [<ffffffff81101e64>] ? context_tracking_user_exit+0x65/0x84
[    8.095469]  [<ffffffff81091778>] SyS_clone+0x11/0x13
[    8.095469]  [<ffffffff8157d119>] stub_clone+0x69/0x90
[    8.095469]  [<ffffffff8157cf66>] ? tracesys+0xd4/0xd9
[    8.095469] ---[ end trace 23660513ccff1a6d ]---
[    8.095469] possible reason: unannotated irqs-off.

git bisect start 1955a14a5ba6e3c3b11117812d11dc550ccc37ae 7ddcdb2ccdcae0838a39b1bf7b0773c5540da847 --
git bisect  bad 83548563c157403ba219b5bd9c59141f11377182  # 20:00      0-      2  Merge branch 'akpm-current/current'
git bisect good 8b0f1c99ffb8d8af0ab66d7a115fe0873225ef45  # 20:24     20+      0  ocfs2: return EINVAL if the given range to discard is less than block size
git bisect good 201959135faa132bf817cce415cb864d80a822ff  # 20:47     20+      0  swap: add a simple detector for inappropriate swapin readahead
git bisect  bad d4c0399994314ca03ce1313c4952aa385b9355aa  # 20:55      0-      6  drivers/rtc/rtc-mxc.c: remove unneeded label
git bisect good 4e0af6dd2777122c510b4fe92e306d94c4264375  # 21:07     20+      0  backlight: omap1: use devm_backlight_device_register()
git bisect  bad 71c3c0b0f0649c71fa4ee8dd3333b7351fc76707  # 21:15      0-      2  checkpatch: warn only on "space before semicolon" at end of line
git bisect good 383f1e84a52533a6d198e8a6f3e79ff5b433269a  # 21:30     20+      0  lib/kstrtox.c: remove redundant cleanup
git bisect good 55cbfd15fd125aad68b9a958749ae2d3c192db9c  # 21:38     20+      0  lib/assoc_array.c: remove global variable
git bisect  bad 299de867cbaf576ee0aa08d3c38339dcaa70d4d1  # 21:42      0-      3  firmware/dmi_scan: generalize for use by other archs
git bisect  bad 7cd7feb13f684d5ff9219e5117e359e898ecad97  # 21:46      0-      1  lib: Add CRC64 ECMA module
git bisect  bad 97e890b9c839c191a500c3a19bfb4539f65c70be  # 21:47      0-      3  lib/percpu_counter.c: disable local irq when updating percpu couter
# first bad commit: [97e890b9c839c191a500c3a19bfb4539f65c70be] lib/percpu_counter.c: disable local irq when updating percpu couter
git bisect good 55cbfd15fd125aad68b9a958749ae2d3c192db9c  # 21:54     60+      0  lib/assoc_array.c: remove global variable
git bisect  bad 1955a14a5ba6e3c3b11117812d11dc550ccc37ae  # 21:54      0-     19  Add linux-next specific files for 20140110
git bisect good 005d44e813048aae0ae683f5902ca823b616d002  # 22:09     60+      0  Revert "lib/percpu_counter.c: disable local irq when updating percpu couter"
git bisect good 228fdc083b017eaf90e578fa86fb1ecfd5ffae87  # 22:26     60+      0  Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
git bisect  bad 1955a14a5ba6e3c3b11117812d11dc550ccc37ae  # 22:26      0-     19  Add linux-next specific files for 20140110

Thanks,
Fengguang

View attachment "dmesg-yocto-snb-2:20140111164909:x86_64-randconfig-s2-01111628:3.13.0-rc7-next-20140110-08732-g1955a14:1" of type "text/plain" (47767 bytes)

Download attachment "x86_64-randconfig-s2-01111628-1955a14a5ba6e3c3b11117812d11dc550ccc37ae-WARNING:-CPU:-100168.log" of type "application/octet-stream" (47932 bytes)

View attachment "config-3.13.0-rc7-next-20140110-08732-g1955a14" of type "text/plain" (75827 bytes)

_______________________________________________
LKP mailing list
LKP@...ux.intel.com

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ