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 for Android: free password hash cracker in your pocket
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20140307014233.GE8427@localhost>
Date:	Fri, 7 Mar 2014 09:42:33 +0800
From:	Fengguang Wu <fengguang.wu@...el.com>
To:	Christoph Lameter <cl@...ux.com>
Cc:	Andrew Morton <akpm@...ux-foundation.org>,
	linux-kernel@...r.kernel.org
Subject: [percpu]  BUG: using __this_cpu_add() in preemptible [00000000]
 code: swapper/0/1

Hi Christoph,

FYI, this commit helps expose more information (a warning with
backtrace) on a previously clueless kernel crash.

git://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master
commit a25982c15ae5298520033cd5848a82adf6a97376
Author:     Christoph Lameter <cl@...ux.com>
AuthorDate: Thu Mar 6 11:05:21 2014 +1100
Commit:     Stephen Rothwell <sfr@...b.auug.org.au>
CommitDate: Thu Mar 6 18:13:33 2014 +1100

    percpu: add preemption checks to __this_cpu ops
    
    We define a check function in order to avoid trouble with the include
    files.  Then the higher level __this_cpu macros are modified to invoke the
    preemption check.
    
    Signed-off-by: Christoph Lameter <cl@...ux.com>
    Acked-by: Ingo Molnar <mingo@...nel.org>
    Cc: Tejun Heo <tj@...nel.org>
    Signed-off-by: Andrew Morton <akpm@...ux-foundation.org>

+-------------------------------------------------------+------------+------------+---------------+
|                                                       | 26d02cfa38 | a25982c15a | next-20140306 |
+-------------------------------------------------------+------------+------------+---------------+
| boot_successes                                        | 72         | 0          | 0             |
| boot_failures                                         | 8          | 20         | 19            |
| BUG:kernel_test_crashed                               | 1          |            |               |
| BUG:kernel_boot_crashed                               | 6          |            |               |
| BUG:kernel_boot_hang                                  | 1          |            |               |
| BUG:using__this_cpu_add()in_preemptible_code:swapper  | 0          | 20         | 19            |
| backtrace:getname_kernel                              | 0          | 6          | 10            |
| backtrace:run_init_process                            | 0          | 6          | 10            |
| BUG:using__this_cpu_add()in_preemptible_code:kthreadd | 0          | 3          | 1             |
| backtrace:__this_cpu_preempt_check                    | 0          | 1          |               |
| backtrace:do_fork                                     | 0          | 1          |               |
| backtrace:kthreadd                                    | 0          | 1          |               |
| backtrace:do_execve                                   | 0          | 1          |               |
+-------------------------------------------------------+------------+------------+---------------+

[  107.002146]   #2: MTPAV on parallel port at 0x378
[  107.138481] random: nonblocking pool is initialized
[  107.276022] Freeing unused kernel memory: 800K (d2c49000 - d2d11000)
[  107.417645] BUG: using __this_cpu_add() in preemptible [00000000] code: swapper/0/1
[  107.703813] caller is __this_cpu_preempt_check+0x3b/0x60
[  107.852357] CPU: 0 PID: 1 Comm: swapper/0 Not tainted 3.14.0-rc5-next-20140306-06952-g0ffb2fe #1
[  108.157111] Hardware name: Bochs Bochs, BIOS Bochs 01/01/2011
[  108.319103]  00000000 00000000 d343deec d22ec747 00000000 d343df10 d13efdcd d290362c
[  108.685150]  d343df28 00000000 d34403d8 00000001 d343df28 d0745000 d343df58 d13efe2b
[  109.086205]  d343df28 00000028 d2902c14 d2a74fc6 68745f5f 635f7369 615f7570 29286464
[  109.512575] Call Trace:
[  109.718526]  [<d22ec747>] dump_stack+0x4b/0x75
[  109.927550]  [<d13efdcd>] check_preemption_disabled+0xcd/0xe0
[  110.138792]  [<d13efe2b>] __this_cpu_preempt_check+0x3b/0x60
[  110.351853]  [<d106966b>] ? preempt_count_add+0x4b/0xa0
[  110.564753]  [<d10f3fa2>] kmem_cache_alloc+0xc2/0x190
[  110.776294]  [<d11077ff>] ? getname_kernel+0x3f/0x80
[  110.983777]  [<d11077ff>] getname_kernel+0x3f/0x80
[  111.181555]  [<d100036d>] run_init_process+0xd/0x20
[  111.381971]  [<d22e42d2>] kernel_init+0x32/0xe0
[  111.578459]  [<d230315b>] ret_from_kernel_thread+0x1b/0x30
[  111.768674]  [<d22e42a0>] ? rest_init+0x70/0x70

git bisect start 0ffb2fe7b9c30082876fa3a17da018bf0632cf03 09de192242d86ede449146ac423effca53bc1810 --
git bisect  bad 439cde1f3d8230f858c0a55902381d24cd7a2df2  # 03:37      0-      4  Merge branch 'akpm/master'
git bisect good ce34778eb4d9fa0aaaeae76c1068026ee5255fd7  # 04:14     20+      5  Merge branch 'akpm-current/current'
git bisect good 117314461e82adabb6b78dcb03259da75b50833b  # 04:30     20+      4  mm: don't implictly include linux/mm.h in linux/sched.h
git bisect  bad 9d58cf7a388c1b4a06cb335980eb1bb1352ba876  # 04:35      0-      1  scheduler: replace __get_cpu_var with this_cpu_ptr
git bisect  bad b2ff2cfebad92bebfca28bad650045821ed270c4  # 04:41      0-      6  tracing: replace __get_cpu_var uses with this_cpu_ptr
git bisect good 6fb77936481538ba05726345d86af4b39128a8a9  # 05:03     20+      4  arm: move arm_dma_limit to setup_dma_zone
git bisect good d1cea07efbfa2723ca1b83d3a69d1f1000896d4d  # 06:15     20+     10  modules: use raw_cpu_write for initialization of per cpu refcount.
git bisect  bad a25982c15ae5298520033cd5848a82adf6a97376  # 06:23      0-      3  percpu: add preemption checks to __this_cpu ops
git bisect good 26d02cfa385067c39c0407b022c01a011c2fbb51  # 06:46     20+      3  net: replace __this_cpu_inc in route.c with raw_cpu_inc
# first bad commit: [a25982c15ae5298520033cd5848a82adf6a97376] percpu: add preemption checks to __this_cpu ops
git bisect good 26d02cfa385067c39c0407b022c01a011c2fbb51  # 07:23     60+      8  net: replace __this_cpu_inc in route.c with raw_cpu_inc
git bisect  bad 0ffb2fe7b9c30082876fa3a17da018bf0632cf03  # 07:23      0-     19  Add linux-next specific files for 20140306
git bisect good cb19098c9fa7af13a3efbe02076e8a4b17d86e38  # 07:59     60+      8  Revert "percpu: add preemption checks to __this_cpu ops"
git bisect good c3bebc71c4bcdafa24b506adf0c1de3c1f77e2e0  # 08:22     60+      1  Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
git bisect  bad 0ffb2fe7b9c30082876fa3a17da018bf0632cf03  # 08:22      0-     19  Add linux-next specific files for 20140306

Thanks,
Fengguang

View attachment "dmesg-yocto-ivytown2-18:20140307011851:i386-randconfig-an0-03070034:3.14.0-rc5-next-20140306-06952-g0ffb2fe:1" of type "text/plain" (72161 bytes)

Download attachment "i386-randconfig-an0-03070034-0ffb2fe7b9c30082876fa3a17da018bf0632cf03-BUG:-using----in-preemptible----code:-14502.log" of type "application/octet-stream" (32397 bytes)

View attachment "config-3.14.0-rc5-next-20140306-06952-g0ffb2fe" of type "text/plain" (103400 bytes)

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

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ