FYI, we noticed the following commit (built with gcc-8):
commit: 510c824ac6cce98962e5909efe6c4ad17ba1771e ("blk-cgroup: Convert to
XArray")
git://git.infradead.org/users/willy/linux-dax.git xarray-conv
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-i386 -enable-kvm -cpu SandyBridge -smp 2 -m 1G
caused below changes (please refer to attached dmesg/kmsg for entire log/backtrace):
+------------------------------------------------------------------------------------+------------+------------+
| |
f38fbc92dc | 510c824ac6 |
+------------------------------------------------------------------------------------+------------+------------+
| boot_successes | 0
| 0 |
| boot_failures | 52
| 13 |
| WARNING:at_drivers/gpu/drm/drm_mode_config.c:#drm_mode_config_cleanup | 52
| 13 |
| EIP:drm_mode_config_cleanup | 52
| 13 |
| kobject(#):tried_to_init_an_initialized_object,something_is_seriously_wrong | 52
| 13 |
| WARNING:suspicious_RCU_usage | 52
| |
| include/linux/xarray.h:#suspicious_rcu_dereference_check()usage | 52
| |
| kobject(fd#efeb3):tried_to_init_an_initialized_object,something_is_seriously_wrong | 1
| |
| WARNING:possible_recursive_locking_detected | 0
| 13 |
+------------------------------------------------------------------------------------+------------+------------+
[ 630.593508] WARNING: possible recursive locking detected
[ 630.593508] 5.0.0-rc5-00027-g510c824 #1 Tainted: G W
[ 630.593508] --------------------------------------------
[ 630.593508] swapper/1 is trying to acquire lock:
[ 630.593508] c06af2e5 (&(&xa->xa_lock)->rlock#5){....}, at:
xa_erase+0x10/0x2a
[ 630.593508]
[ 630.593508] but task is already holding lock:
[ 630.593508] c06af2e5 (&(&xa->xa_lock)->rlock#5){....}, at:
blkcg_exit_queue+0x46/0x7c
[ 630.593508]
[ 630.593508] other info that might help us debug this:
[ 630.593508] Possible unsafe locking scenario:
[ 630.593508]
[ 630.593508] CPU0
[ 630.593508] ----
[ 630.593508] lock(&(&xa->xa_lock)->rlock#5);
[ 630.593508] lock(&(&xa->xa_lock)->rlock#5);
[ 630.593508]
[ 630.593508] *** DEADLOCK ***
[ 630.593508]
[ 630.593508] May be due to missing lock nesting notation
[ 630.593508]
[ 630.593508] 4 locks held by swapper/1:
[ 630.593508] #0: bb576619 (&dev->mutex){....}, at: __driver_attach+0x55/0x89
[ 630.593508] #1: eb75eb22 (ide_cfg_mtx){+.+.}, at: ide_host_remove+0x3d/0xe2
[ 630.593508] #2: 9b475a3a (&(&q->queue_lock)->rlock){....}, at:
blkcg_exit_queue+0x15/0x7c
[ 630.593508] #3: c06af2e5 (&(&xa->xa_lock)->rlock#5){....}, at:
blkcg_exit_queue+0x46/0x7c
[ 630.593508]
[ 630.593508] stack backtrace:
[ 630.593508] CPU: 0 PID: 1 Comm: swapper Tainted: G W
5.0.0-rc5-00027-g510c824 #1
[ 630.593508] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.10.2-1
04/01/2014
[ 630.593508] Call Trace:
[ 630.593508] dump_stack+0x16/0x18
[ 630.593508] __lock_acquire+0xbc7/0x1233
[ 630.593508] ? __bfs+0x12/0x19f
[ 630.593508] ? __lock_acquire+0xd9d/0x1233
[ 630.593508] lock_acquire+0xe1/0xff
[ 630.593508] ? xa_erase+0x10/0x2a
[ 630.593508] _raw_spin_lock+0x21/0x30
[ 630.593508] ? xa_erase+0x10/0x2a
[ 630.593508] xa_erase+0x10/0x2a
[ 630.593508] blkg_destroy+0x162/0x1c4
[ 630.593508] ? _raw_spin_lock+0x28/0x30
[ 630.593508] blkcg_exit_queue+0x50/0x7c
[ 630.593508] blk_exit_queue+0x29/0x34
[ 630.593508] blk_cleanup_queue+0x7e/0xa2
[ 630.593508] drive_release_dev+0x2a/0x51
[ 630.593508] device_release+0x42/0x6b
[ 630.593508] kobject_put+0x65/0x79
[ 630.593508] put_device+0xf/0x12
[ 630.593508] device_unregister+0x12/0x15
[ 630.593508] __ide_port_unregister_devices+0x27/0x3e
[ 630.593508] ide_host_remove+0x4d/0xe2
[ 630.593508] ide_pci_remove+0x44/0x71
[ 630.593508] pci_device_remove+0x27/0x79
[ 630.593508] really_probe+0x146/0x291
[ 630.593508] driver_probe_device+0xdf/0x119
[ 630.593508] __driver_attach+0x64/0x89
[ 630.593508] bus_for_each_dev+0x49/0x63
[ 630.593508] driver_attach+0x14/0x16
[ 630.593508] ? driver_probe_device+0x119/0x119
[ 630.593508] bus_add_driver+0xb9/0x182
[ 630.593508] ? opti621_ide_init+0x16/0x16
[ 630.593508] driver_register+0x87/0xb9
[ 630.593508] ? opti621_ide_init+0x16/0x16
[ 630.593508] __pci_register_driver+0x4b/0x4e
[ 630.593508] piix_ide_init+0x8f/0x94
[ 630.593508] do_one_initcall+0xaa/0x1b7
[ 630.593508] ? trace_hardirqs_on_thunk+0xc/0x10
[ 630.593508] ? restore_all_kernel+0xf/0x98
[ 630.593508] kernel_init_freeable+0x1d7/0x260
[ 630.593508] ? rest_init+0x108/0x108
[ 630.593508] kernel_init+0x8/0xd0
[ 630.593508] ret_from_fork+0x19/0x30
[ 631.069177] piix 0000:00:01.1: IDE controller (0x8086:0x7010 rev 0x00)
[ 631.077684] piix 0000:00:01.1: not 100% native mode: will probe irqs later
[ 631.092861] ide0: BM-DMA at 0xc0c0-0xc0c7
[ 631.097720] ide1: BM-DMA at 0xc0c8-0xc0cf
[ 631.101995] Probing IDE interface ide0...
[ 631.753461] Probing IDE interface ide1...
[ 632.512416] hdc: QEMU DVD-ROM, ATAPI CD/DVD-ROM drive
[ 633.204687] hdc: host max PIO4 wanted PIO255(auto-tune) selected PIO0
[ 633.220187] hdc: MWDMA2 mode selected
[ 633.233799] ide0 at 0x1f0-0x1f7,0x3f6 on irq 14
[ 633.246376] ide1 at 0x170-0x177,0x376 on irq 15
[ 633.277330] ide_generic: please use "probe_mask=0x3f" module parameter for
probing all legacy ISA IDE ports
[ 633.306793] ide-gd driver 1.18
[ 633.319396] ide-cd driver 5.00
[ 633.340601] ide-cd: hdc: ATAPI 4X DVD-ROM drive, 512kB Cache
[ 633.355018] cdrom: Uniform CD-ROM driver Revision: 3.20
[ 633.413938] ide-cd: hdc: ATAPI 4X DVD-ROM drive, 512kB Cache
[ 633.452222] SCSI Media Changer driver v0.25
[ 633.461721] osd: LOADED open-osd 0.2.1
[ 633.486984] Rounding down aligned max_sectors from 4294967295 to 4294967288
[ 633.499070] db_root: cannot open: /etc/target
[ 633.509133] mtdoops: mtd device (mtddev=name/number) must be supplied
[ 633.516161] L440GX flash mapping: failed to find PIIX4 ISA bridge, cannot continue
[ 633.526103] device id = 2440
[ 633.530592] device id = 2480
[ 633.534596] device id = 24c0
[ 633.543077] device id = 24d0
[ 633.547751] device id = 25a1
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,
Rong Chen