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:   Tue, 3 Jul 2018 15:19:59 +0800
From:   kernel test robot <xiaolong.ye@...el.com>
To:     "Paul E. McKenney" <paulmck@...ux.vnet.ibm.com>
Cc:     LKML <linux-kernel@...r.kernel.org>,
        Stephen Rothwell <sfr@...b.auug.org.au>, lkp@...org
Subject: [lkp-robot] [rcu]  50b7ae6af5: BUG:spinlock_recursion_on_CPU


FYI, we noticed the following commit (built with gcc-7):

commit: 50b7ae6af5671168cc6cf2de959b02584e4c3f87 ("rcu: Diagnostics for grace-period hangs")
https://git.kernel.org/cgit/linux/kernel/git/next/linux-next.git master

in testcase: trinity
with following parameters:

	runtime: 300s

test-description: Trinity is a linux system call fuzz tester.
test-url: http://codemonkey.org.uk/projects/trinity/


on test machine: qemu-system-x86_64 -m 420M

caused below changes (please refer to attached dmesg/kmsg for entire log/backtrace):


+------------------------------------------------+------------+------------+
|                                                | 8c42b1f39f | 50b7ae6af5 |
+------------------------------------------------+------------+------------+
| boot_successes                                 | 0          | 0          |
| boot_failures                                  | 28         | 28         |
| WARNING:at_mm/slab_common.c:#kmalloc_slab      | 28         | 21         |
| EIP:kmalloc_slab                               | 28         | 21         |
| Mem-Info                                       | 28         | 21         |
| IP-Config:Auto-configuration_of_network_failed | 24         | 14         |
| BUG:spinlock_recursion_on_CPU                  | 0          | 10         |
+------------------------------------------------+------------+------------+



[  163.510428] BUG: spinlock recursion on CPU#0, rcu_torture_cbf/54
[  163.511698]  lock: rcu_sched_state+0x0/0x9a0, .magic: dead4ead, .owner: rcu_torture_cbf/54, .owner_cpu: 0
[  163.512424] CPU: 0 PID: 54 Comm: rcu_torture_cbf Not tainted 4.18.0-rc1-00004-g50b7ae6 #156
[  163.512424] Call Trace:
[  163.512424]  <SOFTIRQ>
[  163.512424]  dump_stack+0x58/0x76
[  163.512424]  spin_dump+0x64/0xb0
[  163.512424]  do_raw_spin_lock+0x7d/0xb0
[  163.512424]  _raw_spin_lock+0x45/0x60
[  163.512424]  rcu_process_callbacks+0x991/0xba0
[  163.512424]  ? irqtime_account_irq+0x6e/0x80
[  163.512424]  __do_softirq+0xa3/0x1ba
[  163.512424]  ? __irqentry_text_end+0x5/0x5
[  163.512424]  call_on_stack+0x40/0x50
[  163.512424]  </SOFTIRQ>
[  163.512424]  ? irq_exit+0xb5/0xc0
[  163.512424]  ? smp_apic_timer_interrupt+0x51/0x80
[  163.512424]  ? apic_timer_interrupt+0x39/0x40
[  163.512424]  ? _raw_spin_unlock_irqrestore+0x24/0x40
[  163.512424]  ? __debug_object_init+0xba/0x490
[  163.512424]  ? debug_object_activate+0x1ae/0x210
[  163.512424]  ? __call_rcu+0x2b/0x250
[  163.512424]  ? rcu_torture_boost_cb+0x10/0x10
[  163.512424]  ? call_rcu_sched+0xf/0x20
[  163.512424]  ? rcu_torture_cbflood+0xe4/0x1b0
[  163.512424]  ? kthread+0xed/0x100
[  163.512424]  ? rcu_torture_err_cb+0x20/0x20
[  163.512424]  ? kthread_create_worker_on_cpu+0x20/0x20
[  163.512424]  ? ret_from_fork+0x2e/0x40

Elapsed time: 190

#!/bin/bash

# To reproduce,
# 1) save job-script and this script (both are attached in 0day report email)
# 2) run this script with your compiled kernel and optional env $INSTALL_MOD_PATH

kernel=$1

initrds=(
	/osimage/openwrt/openwrt-i386-2016-03-16.cgz
	/lkp/lkp/lkp-i386.cgz
	/osimage/pkg/debian-x86_64-2016-08-31.cgz/trinity-static-i386-x86_64-6ddabfd2_2017-11-10.cgz
)

HTTP_PREFIX=https://download.01.org/0day-ci/lkp-qemu
wget --timestamping "${initrds[@]/#/$HTTP_PREFIX}"

{
	cat "${initrds[@]//*\//}"
	[[ $INSTALL_MOD_PATH ]] && (
		cd "$INSTALL_MOD_PATH"
		find lib | cpio -o -H newc --quiet | gzip
	)
	echo  job-script | cpio -o -H newc --quiet | gzip
} > initrd.img

kvm=(
	qemu-system-x86_64
	-kernel $kernel
	-initrd initrd.img
	-m 420
	-smp 1
	-device e1000,netdev=net0
	-netdev user,id=net0
	-boot order=nc
	-no-reboot
	-watchdog i6300esb
	-watchdog-action debug
	-rtc base=localtime
	-serial stdio
	-display none
	-monitor null
)

append=(
	ip=::::vm-lkp-os-openwrt-ia32-13::dhcp
	root=/dev/ram0
	user=lkp
	job=/job-script
	ARCH=i386
	kconfig=i386-randconfig-i0-201825
	branch=linux-devel/devel-spot-201806270834
	commit=50b7ae6af5671168cc6cf2de959b02584e4c3f87
	BOOT_IMAGE=/pkg/linux/i386-randconfig-i0-201825/gcc-7/50b7ae6af5671168cc6cf2de959b02584e4c3f87/vmlinuz-4.18.0-rc1-00004-g50b7ae6
	max_uptime=1500
	RESULT_ROOT=/result/trinity/300s/vm-lkp-os-openwrt-ia32/openwrt-i386-2016-03-16.cgz/i386-randconfig-i0-201825/gcc-7/50b7ae6af5671168cc6cf2de959b02584e4c3f87/3
	result_service=tmpfs
	debug
	apic=debug
	sysrq_always_enabled
	rcupdate.rcu_cpu_stall_timeout=100
	net.ifnames=0
	printk.devkmsg=on
	panic=-1
	softlockup_panic=1
	nmi_watchdog=panic
	oops=panic
	load_ramdisk=2
	prompt_ramdisk=0


To reproduce:

        git clone https://github.com/intel/lkp-tests.git
        cd lkp-tests
        bin/lkp qemu -k <bzImage> job-script # job-script is attached in this email



Thanks,
Xiaolong

View attachment "config-4.18.0-rc1-00004-g50b7ae6" of type "text/plain" (123691 bytes)

View attachment "job-script" of type "text/plain" (3865 bytes)

Download attachment "dmesg.xz" of type "application/x-xz" (8860 bytes)

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ