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:	Thu, 2 Apr 2015 08:52:11 +0800
From:	Fengguang Wu <fengguang.wu@...el.com>
To:	Herbert Xu <herbert@...dor.apana.org.au>
Cc:	fengguang.wu@...el.com, LKP <lkp@...org>, netdev@...r.kernel.org,
	linux-kernel@...r.kernel.org
Subject: [rhashtable] [ INFO: suspicious RCU usage. ]

Hi Herbert,

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 ccd57b1bd32460d27bbb9c599e795628a3c66983
Author:     Herbert Xu <herbert@...dor.apana.org.au>
AuthorDate: Tue Mar 24 00:50:28 2015 +1100
Commit:     David S. Miller <davem@...emloft.net>
CommitDate: Mon Mar 23 22:07:52 2015 -0400

    rhashtable: Add immediate rehash during insertion
    
    This patch reintroduces immediate rehash during insertion.  If
    we find during insertion that the table is full or the chain
    length exceeds a set limit (currently 16 but may be disabled
    with insecure_elasticity) then we will force an immediate rehash.
    The rehash will contain an expansion if the table utilisation
    exceeds 75%.
    
    If this rehash fails then the insertion will fail.  Otherwise the
    insertion will be reattempted in the new hash table.
    
    Signed-off-by: Herbert Xu <herbert@...dor.apana.org.au>
    Acked-by: Thomas Graf <tgraf@...g.ch>
    Signed-off-by: David S. Miller <davem@...emloft.net>

[    0.552992]   Adding 2048 keys
[    0.553792] 
[    0.554400] ===============================
[    0.555285] [ INFO: suspicious RCU usage. ]
[    0.556176] 4.0.0-rc4-01225-gccd57b1 #171 Not tainted
[    0.557156] -------------------------------
[    0.558044] lib/rhashtable.c:400 suspicious rcu_dereference_check() usage!
[    0.559741] 
[    0.559741] other info that might help us debug this:
[    0.559741] 
[    0.561764] 
[    0.561764] rcu_scheduler_active = 1, debug_locks = 0
[    0.563254] no locks held by swapper/0/1.
[    0.564124] 
[    0.564124] stack backtrace:
[    0.565394] CPU: 0 PID: 1 Comm: swapper/0 Not tainted 4.0.0-rc4-01225-gccd57b1 #171
[    0.567017] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.7.5-20140531_083030-gandalf 04/01/2014
[    0.568898]  0000000000000001 ffff88000f563d38 ffffffff8182e695 0000000000000011
[    0.570775]  ffff88000f558000 ffff88000f563d68 ffffffff810ffce7 ffffffff831fc340
[    0.572637]  ffff88000e874d10 000000000000000d ffff88000e199e40 ffff88000f563da8
[    0.574519] Call Trace:
[    0.575219]  [<ffffffff8182e695>] dump_stack+0x4c/0x65
[    0.576210]  [<ffffffff810ffce7>] lockdep_rcu_suspicious+0xe7/0x120
[    0.577314]  [<ffffffff8142d0fe>] rhashtable_insert_rehash+0x18e/0x1d0
[    0.578443]  [<ffffffff8221814c>] test_rht_init+0x38f/0x12bd
[    0.579483]  [<ffffffff810002c0>] ? do_one_initcall+0x80/0x200
[    0.580542]  [<ffffffff82217dbd>] ? test_firmware_init+0x79/0x79
[    0.581615]  [<ffffffff810002d0>] do_one_initcall+0x90/0x200
[    0.582651]  [<ffffffff821e2212>] kernel_init_freeable+0x22d/0x2b5
[    0.583743]  [<ffffffff81829160>] ? rest_init+0x140/0x140
[    0.584755]  [<ffffffff8182916e>] kernel_init+0xe/0xf0
[    0.585743]  [<ffffffff81839318>] ret_from_fork+0x58/0x90
[    0.586756]  [<ffffffff81829160>] ? rest_init+0x140/0x140
[    0.587778] ------------[ cut here ]------------
[    0.588715] WARNING: CPU: 0 PID: 1 at lib/rhashtable.c:408 rhashtable_insert_rehash+0x95/0x1d0()
[    0.590608] Modules linked in:
[    0.591439] CPU: 0 PID: 1 Comm: swapper/0 Not tainted 4.0.0-rc4-01225-gccd57b1 #171
[    0.593058] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.7.5-20140531_083030-gandalf 04/01/2014
[    0.594929]  ffffffff81d08b58 ffff88000f563d18 ffffffff8182e695 0000000000000000
[    0.596809]  0000000000000000 ffff88000f563d58 ffffffff810af7fa 00000000fffffe00
[    0.598682]  ffffffff831fc340 0000000000000010 ffff88000e199840 0000000000000001
[    0.600558] Call Trace:
[    0.601259]  [<ffffffff8182e695>] dump_stack+0x4c/0x65
[    0.602238]  [<ffffffff810af7fa>] warn_slowpath_common+0x8a/0xc0
[    0.603310]  [<ffffffff810af8ea>] warn_slowpath_null+0x1a/0x20
[    0.604366]  [<ffffffff8142d005>] rhashtable_insert_rehash+0x95/0x1d0
[    0.605495]  [<ffffffff8221814c>] test_rht_init+0x38f/0x12bd
[    0.606536]  [<ffffffff810002c0>] ? do_one_initcall+0x80/0x200
[    0.607589]  [<ffffffff82217dbd>] ? test_firmware_init+0x79/0x79
[    0.608664]  [<ffffffff810002d0>] do_one_initcall+0x90/0x200
[    0.609704]  [<ffffffff821e2212>] kernel_init_freeable+0x22d/0x2b5
[    0.610797]  [<ffffffff81829160>] ? rest_init+0x140/0x140
[    0.611808]  [<ffffffff8182916e>] kernel_init+0xe/0xf0
[    0.612792]  [<ffffffff81839318>] ret_from_fork+0x58/0x90
[    0.613801]  [<ffffffff81829160>] ? rest_init+0x140/0x140
[    0.614808] ---[ end trace b5aa4dbce5f556f0 ]---
[    0.615763] glob: 64 self-tests passed, 0 failed

git bisect start 4fab6501bb2945a0c0c9045c059ac342147856fd e42391cd048809d903291d07f86ed3934ce138e9 --
git bisect  bad 92d9ebca6ac4759827ea9785ace3aecba37e78ad  # 19:58      0-     20  Merge 'devfreq/for-rafael' into devel-hourly-2015033101
git bisect  bad 18dd8e1456f801932f2e75e636d9132297e402d5  # 19:58      0-     20  Merge 'peterhuewe-tpmdd/for-current' into devel-hourly-2015033101
git bisect good 49e34ea97b39e88623b1c0e658ba0cf27034150e  # 19:58     20+      0  Merge 'tegra/for-4.1/dt' into devel-hourly-2015033101
git bisect good f81c2b2a8cf42ef78cd7e0aa08d880eec7e0787a  # 20:02     20+      1  Merge 'tegra/for-next' into devel-hourly-2015033101
git bisect  bad e0ac3b3842ecc894c7fa5d0a02596f15875f89eb  # 20:02      0-     20  Merge 'lunn/v4.0-rc5-groeck-dsa-next-cleanup' into devel-hourly-2015033101
git bisect good 749e956cfcc62b4ca948e6fb40c06d412e1d75c6  # 20:02     20+      0  Merge 'mvebu/for-next' into devel-hourly-2015033101
git bisect good 0f7bbd5805e3d32e3ee58d1a802a8404a724f2fc  # 20:05     20+     40  mpls: Better error code for unsupported option.
git bisect good 6eada0110c8984477f5f1e57a0b7f7b2fc841e30  # 20:11     20+     40  netns: constify net_hash_mix() and various callers
git bisect good c637aab05c9dd0894832a7c542a1553b2815b9ef  # 20:11     20+      0  can: kvaser_usb: Use can-dev unregistration mechanism
git bisect  bad ce046c568cbfb4734583131086f88cfe993c01d0  # 20:11      0-     20  Merge branch 'ipv6_stable_privacy_address'
git bisect good 40451fd013878b005ccae767dfebc07dfecf85d9  # 20:11     20+      0  Merge git://git.kernel.org/pub/scm/linux/kernel/git/pablo/nf-next
git bisect  bad ca8cf341903f90070e191cc8be8f705ab7af2d4a  # 20:11      0-     20  net: bcmgenet: propagate errors from bcmgenet_power_down
git bisect good 31ccde2dacea8375c3a7d6fffbf0060ee0d40214  # 20:14     20+      2  rhashtable: Allow hashfn to be unset
git bisect good b824478b2145be78ac19e1cf44e2b9036c7a9608  # 20:14     20+      0  rhashtable: Add multiple rehash support
git bisect  bad ccd57b1bd32460d27bbb9c599e795628a3c66983  # 20:14      0-     20  rhashtable: Add immediate rehash during insertion
git bisect good b9ecfdaa1090b5988422eaf5348ea1954d2d7219  # 20:18     20+      1  rhashtable: Allow GFP_ATOMIC bucket table allocation
# first bad commit: [ccd57b1bd32460d27bbb9c599e795628a3c66983] rhashtable: Add immediate rehash during insertion
git bisect good b9ecfdaa1090b5988422eaf5348ea1954d2d7219  # 20:24     60+      1  rhashtable: Allow GFP_ATOMIC bucket table allocation
# extra tests with DEBUG_INFO
git bisect  bad ccd57b1bd32460d27bbb9c599e795628a3c66983  # 20:24      0-     60  rhashtable: Add immediate rehash during insertion
# extra tests on HEAD of linux-devel/devel-hourly-2015033101
git bisect  bad 4fab6501bb2945a0c0c9045c059ac342147856fd  # 20:24      0-     22  0day head guard for 'devel-hourly-2015033101'
# extra tests on tree/branch next/master
git bisect  bad e954104e2b634b42811dad8d502cbf240f206df2  # 20:35      0-      1  Add linux-next specific files for 20150401
# extra tests on tree/branch linus/master
git bisect good 6c310bc1acdd02110182a2ec6efa3e7571a3b80c  # 21:22     60+      1  Merge tag 'locks-v4.0-5' of git://git.samba.org/jlayton/linux
# extra tests on tree/branch next/master
git bisect  bad e954104e2b634b42811dad8d502cbf240f206df2  # 21:22      0-     60  Add linux-next specific files for 20150401


This script may reproduce the error.

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

kernel=$1
initrd=yocto-minimal-x86_64.cgz

wget --no-clobber https://github.com/fengguang/reproduce-kernel-bug/raw/master/initrd/$initrd

kvm=(
	qemu-system-x86_64
	-enable-kvm
	-cpu Haswell,+smep,+smap
	-kernel $kernel
	-initrd $initrd
	-m 256
	-smp 1
	-device e1000,netdev=net0
	-netdev user,id=net0
	-boot order=nc
	-no-reboot
	-watchdog i6300esb
	-rtc base=localtime
	-serial stdio
	-display none
	-monitor null 
)

append=(
	hung_task_panic=1
	earlyprintk=ttyS0,115200
	rd.udev.log-priority=err
	systemd.log_target=journal
	systemd.log_level=warning
	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-3:20150331113735:x86_64-randconfig-n0-03310731:4.0.0-rc4-01225-gccd57b1:171" of type "text/plain" (50797 bytes)

Powered by blists - more mailing lists