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]
Message-ID: <20150112232217.GA5277@wfg-t540p.sh.intel.com>
Date:	Mon, 12 Jan 2015 15:22:17 -0800
From:	Fengguang Wu <fengguang.wu@...el.com>
To:	Thomas Graf <tgraf@...g.ch>
Cc:	LKP <lkp@...org>, linux-kernel@...r.kernel.org,
	netfilter-devel@...r.kernel.org, coreteam@...filter.org,
	netdev@...r.kernel.org
Subject: [rhashtable] WARNING: CPU: 0 PID: 1 at lib/debugobjects.c:301
 __debug_object_init()

Greetings,

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

git://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master

commit 97defe1ecf868b8127f8e62395499d6a06e4c4b1
Author:     Thomas Graf <tgraf@...g.ch>
AuthorDate: Fri Jan 2 23:00:20 2015 +0100
Commit:     David S. Miller <davem@...emloft.net>
CommitDate: Sat Jan 3 14:32:57 2015 -0500

    rhashtable: Per bucket locks & deferred expansion/shrinking
    
    Introduces an array of spinlocks to protect bucket mutations. The number
    of spinlocks per CPU is configurable and selected based on the hash of
    the bucket. This allows for parallel insertions and removals of entries
    which do not share a lock.
    
    The patch also defers expansion and shrinking to a worker queue which
    allows insertion and removal from atomic context. Insertions and
    deletions may occur in parallel to it and are only held up briefly
    while the particular bucket is linked or unzipped.
    
    Mutations of the bucket table pointer is protected by a new mutex, read
    access is RCU protected.
    
    In the event of an expansion or shrinking, the new bucket table allocated
    is exposed as a so called future table as soon as the resize process
    starts.  Lookups, deletions, and insertions will briefly use both tables.
    The future table becomes the main table after an RCU grace period and
    initial linking of the old to the new table was performed. Optimization
    of the chains to make use of the new number of buckets follows only the
    new table is in use.
    
    The side effect of this is that during that RCU grace period, a bucket
    traversal using any rht_for_each() variant on the main table will not see
    any insertions performed during the RCU grace period which would at that
    point land in the future table. The lookup will see them as it searches
    both tables if needed.
    
    Having multiple insertions and removals occur in parallel requires nelems
    to become an atomic counter.
    
    Signed-off-by: Thomas Graf <tgraf@...g.ch>
    Signed-off-by: David S. Miller <davem@...emloft.net>

+------------------------------------------------------------+------------+------------+------------+
|                                                            | 113948d841 | 97defe1ecf | 8612706f4f |
+------------------------------------------------------------+------------+------------+------------+
| boot_successes                                             | 60         | 0          | 0          |
| boot_failures                                              | 0          | 20         | 14         |
| WARNING:at_lib/debugobjects.c:#__debug_object_init()       | 0          | 20         | 14         |
| BUG:spinlock_recursion_on_CPU                              | 0          | 20         | 10         |
| backtrace:__debug_object_init                              | 0          | 20         | 14         |
| backtrace:warn_slowpath_null                               | 0          | 20         | 14         |
| backtrace:debug_object_init                                | 0          | 20         | 14         |
| backtrace:__init_work                                      | 0          | 20         | 14         |
| backtrace:rhashtable_init                                  | 0          | 20         | 14         |
| backtrace:test_rht_init                                    | 0          | 20         | 14         |
| backtrace:kernel_init_freeable                             | 0          | 20         | 14         |
| backtrace:rhashtable_shrink                                | 0          | 20         | 10         |
| WARNING:at_kernel/locking/mutex.c:#__mutex_lock_slowpath() | 0          | 0          | 4          |
| BUG:unable_to_handle_kernel                                | 0          | 0          | 4          |
| Oops                                                       | 0          | 0          | 4          |
| EIP_is_at__mutex_lock_slowpath                             | 0          | 0          | 4          |
| Kernel_panic-not_syncing:Fatal_exception                   | 0          | 0          | 4          |
| backtrace:__alloc_workqueue_key                            | 0          | 0          | 4          |
| backtrace:devfreq_init                                     | 0          | 0          | 4          |
+------------------------------------------------------------+------------+------------+------------+

[    0.085212] Running resizable hashtable tests...
[    0.086011] ODEBUG: object is on stack, but not annotated
[    0.087000] ------------[ cut here ]------------
[    0.087000] WARNING: CPU: 0 PID: 1 at lib/debugobjects.c:301 __debug_object_init+0x360/0x800()
[    0.087000] Modules linked in:
[    0.087000] CPU: 0 PID: 1 Comm: swapper/0 Not tainted 3.19.0-rc2-g97defe1 #165
[    0.087000] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.7.5-20140531_083030-gandalf 04/01/2014
[    0.087000]  c1a32d38 d345bd78 c190a4cf 00000000 d345bd94 c10ad67f 0000012d c1573500
[    0.087000]  d340f8b8 00020ff8 00000000 d345bda4 c10ad71b 00000009 00000000 d345bdf4
[    0.087000]  c1573500 00000000 c1f2e178 00020ff8 c1af0404 00000246 c1f2e17c d3401b80
[    0.087000] Call Trace:
[    0.087000]  [<c190a4cf>] dump_stack+0xb8/0x108
[    0.087000]  [<c10ad67f>] warn_slowpath_common+0xbf/0x130
[    0.087000]  [<c1573500>] ? __debug_object_init+0x360/0x800
[    0.087000]  [<c10ad71b>] warn_slowpath_null+0x2b/0x40
[    0.087000]  [<c1573500>] __debug_object_init+0x360/0x800
[    0.087000]  [<c1573b08>] debug_object_init+0x38/0x50
[    0.087000]  [<c10d063f>] __init_work+0x1f/0x60
[    0.087000]  [<c156a742>] rhashtable_init+0x182/0x320
[    0.087000]  [<c1c57df1>] test_rht_init+0x98/0x5ac
[    0.087000]  [<c1569890>] ? percpu_ida_alloc+0x790/0x790
[    0.087000]  [<c1569ac0>] ? jhash+0x230/0x230
[    0.087000]  [<c1569af0>] ? rht_grow_above_75+0x30/0x30
[    0.087000]  [<c1569890>] ? percpu_ida_alloc+0x790/0x790
[    0.087000]  [<c1569ac0>] ? jhash+0x230/0x230
[    0.087000]  [<c1569af0>] ? rht_grow_above_75+0x30/0x30
[    0.087000]  [<c1c57d59>] ? test_rht_lookup+0x14e/0x14e
[    0.087000]  [<c1002216>] do_one_initcall+0x156/0x370
[    0.087000]  [<c1c13973>] kernel_init_freeable+0x250/0x3be
[    0.087000]  [<c1c13973>] ? kernel_init_freeable+0x250/0x3be
[    0.087000]  [<c1902626>] kernel_init+0x16/0x1f0
[    0.087000]  [<c191aac1>] ret_from_kernel_thread+0x21/0x30
[    0.087000]  [<c1902610>] ? rest_init+0x110/0x110
[    0.087000] ---[ end trace 45e4f826b261d700 ]---
[    0.087020]   Adding 2048 keys

git bisect start 8612706f4f900bcc81f501f1d13bb941f51582fc eaa27f34e91a14cdceed26ed6c6793ec1d186115 --
git bisect good 5325f692af09eeda50cb631780f94664ff7d04a5  # 12:00     20+      0  Merge 'shawnguo/for-next' into devel-cairo-smoke-201501121104
git bisect good 448b0537d597c640b00c31d9b6abcca6e8118697  # 12:44     20+      0  Merge 'net/master' into devel-cairo-smoke-201501121104
git bisect  bad 31fe3755784634a274e3ca7a599c36b4aab6a03f  # 13:08      0-     20  Merge 'net-next/master' into devel-cairo-smoke-201501121104
git bisect good 3adc0becfec27cd582506b778df65d7c237e3215  # 14:06     20+      0  net: ethernet: cisco: enic: enic_dev: Remove some unused functions
git bisect  bad d4253c6258912057b33190a113d490f295c93352  # 14:17      0-     20  Merge branch 'ip_cmsg_csum'
git bisect good dd9553988879a3ff71a86323b88409e7631c4e5d  # 15:12     20+      0  Merge branch 'timecounter-next'
git bisect  bad 3f255dcc970aede74463d863c9cf3cd9fb9146e3  # 15:33      0-      3  enic: reconfigure resources for kdump crash kernel
git bisect  bad f89bd6f87a53ce5a7d60662429591ebac2745c10  # 15:48      0-      5  rhashtable: Supports for nulls marker
git bisect good b8e1943e9f754219bcfb40bac4a605b5348acb25  # 16:19     20+      0  rhashtable: Factor out bucket_tail() function
git bisect good 113948d841e8d78039e5dbbb5248f5b73e99eafa  # 16:54     20+      0  spinlock: Add spin_lock_bh_nested()
git bisect  bad 97defe1ecf868b8127f8e62395499d6a06e4c4b1  # 17:16      0-     20  rhashtable: Per bucket locks & deferred expansion/shrinking
# first bad commit: [97defe1ecf868b8127f8e62395499d6a06e4c4b1] rhashtable: Per bucket locks & deferred expansion/shrinking
git bisect good 113948d841e8d78039e5dbbb5248f5b73e99eafa  # 17:18     60+      0  spinlock: Add spin_lock_bh_nested()
# extra tests with DEBUG_INFO
git bisect  bad 97defe1ecf868b8127f8e62395499d6a06e4c4b1  # 17:25      0-     60  rhashtable: Per bucket locks & deferred expansion/shrinking
# extra tests on HEAD of linux-devel/devel-cairo-smoke-201501121104
git bisect  bad 8612706f4f900bcc81f501f1d13bb941f51582fc  # 17:25      0-     14  0day head guard for 'devel-cairo-smoke-201501121104'
# extra tests on tree/branch next/master
git bisect  bad 442e3e668110eb2590df305463856ba6553dbd24  # 17:58      0-     52  Add linux-next specific files for 20150112
# extra tests on tree/branch linus/master
git bisect good eaa27f34e91a14cdceed26ed6c6793ec1d186115  # 17:59     60+      0  linux 3.19-rc4
# extra tests on tree/branch next/master
git bisect  bad 442e3e668110eb2590df305463856ba6553dbd24  # 17:59      0-     60  Add linux-next specific files for 20150112


This script may reproduce the error.

----------------------------------------------------------------------------
#!/bin/bash

kernel=$1

kvm=(
	qemu-system-x86_64
	-cpu kvm64
	-enable-kvm
	-kernel $kernel
	-m 320
	-smp 1
	-net nic,vlan=1,model=e1000
	-net user,vlan=1
	-boot order=nc
	-no-reboot
	-watchdog i6300esb
	-rtc base=localtime
	-serial stdio
	-display none
	-monitor null 
)

append=(
	hung_task_panic=1
	earlyprintk=ttyS0,115200
	debug
	apic=debug
	sysrq_always_enabled
	rcupdate.rcu_cpu_stall_timeout=100
	panic=-1
	softlockup_panic=1
	nmi_watchdog=panic
	oops=panic
	load_ramdisk=2
	prompt_ramdisk=0
	console=ttyS0,115200
	console=tty0
	vga=normal
	root=/dev/ram0
	rw
	drbd.minor_count=8
)

"${kvm[@]}" --append "${append[*]}"
----------------------------------------------------------------------------

Thanks,
Fengguang

View attachment "dmesg-yocto-ivb41-62:20150112171501:i386-randconfig-c0-01120918:3.19.0-rc2-g97defe1:165" of type "text/plain" (32260 bytes)

View attachment "config-3.19.0-rc2-g97defe1" of type "text/plain" (74212 bytes)

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

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ