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-prev] [day] [month] [year] [list]
Message-ID: <20140602072607.GA9088@localhost>
Date:	Mon, 2 Jun 2014 15:26:07 +0800
From:	Fengguang Wu <fengguang.wu@...el.com>
To:	Jesse Barnes <jbarnes@...tuousgeek.org>
Cc:	Jet Chen <jet.chen@...el.com>, Yuanhan Liu <yuanhan.liu@...el.com>,
	dri-devel@...ts.freedesktop.org, linux-kernel@...r.kernel.org
Subject: [drm] INFO: possible recursive locking detected

Hi Jesse,

Here is another warning message introduced by the same commit:

git://people.freedesktop.org/~jbarnes/linux async-fb-probe
commit b739c9982801e5f76097311b67dfd76891b10988
Author:     Jesse Barnes <jbarnes@...tuousgeek.org>
AuthorDate: Wed May 28 10:21:17 2014 -0700
Commit:     Jesse Barnes <jbarnes@...tuousgeek.org>
CommitDate: Wed May 28 12:17:34 2014 -0700

    drm: take modeset locks around initial fb helper probing
    
    Drivers ought to complain otherwise.
    
    Signed-off-by: Jesse Barnes <jbarnes@...tuousgeek.org>

+------------------------------------------+------------+------------+------------------+
|                                          | 071f9c57ee | b739c99828 | v3.15-rc8_060210 |
+------------------------------------------+------------+------------+------------------+
| boot_successes                           | 60         | 0          | 0                |
| boot_failures                            | 0          | 20         | 13               |
| INFO:possible_recursive_locking_detected | 0          | 20         | 13               |
| BUG:kernel_boot_hang                     | 0          | 20         | 13               |
| backtrace:drm_fb_helper_initial_config   | 0          | 20         | 13               |
| backtrace:cirrus_fbdev_init              | 0          | 20         | 13               |
| backtrace:cirrus_modeset_init            | 0          | 20         | 13               |
| backtrace:__pci_register_driver          | 0          | 20         | 13               |
| backtrace:drm_pci_init                   | 0          | 20         | 13               |
| backtrace:cirrus_init                    | 0          | 20         | 13               |
| backtrace:kernel_init_freeable           | 0          | 20         | 13               |
+------------------------------------------+------------+------------+------------------+

[    3.631605] [TTM] Initializing DMA pool allocator
[    3.633678] 
[    3.634003] =============================================
[    3.634003] [ INFO: possible recursive locking detected ]
[    3.634003] 3.15.0-rc5-00090-gb739c99 #1 Not tainted
[    3.634003] ---------------------------------------------
[    3.634003] swapper/0/1 is trying to acquire lock:
[    3.634003]  (&dev->mode_config.mutex){+.+.+.}, at: [<ffffffff81919245>] drm_modeset_lock_all+0x35/0x80
[    3.634003] 
[    3.634003] but task is already holding lock:
[    3.634003]  (&dev->mode_config.mutex){+.+.+.}, at: [<ffffffff81903a19>] drm_fb_helper_initial_config+0x119/0x730
[    3.634003] 
[    3.634003] other info that might help us debug this:
[    3.634003]  Possible unsafe locking scenario:
[    3.634003] 
[    3.634003]        CPU0
[    3.634003]        ----
[    3.634003]   lock(&dev->mode_config.mutex);
[    3.634003]   lock(&dev->mode_config.mutex);
[    3.634003] 
[    3.634003]  *** DEADLOCK ***
[    3.634003] 
[    3.634003]  May be due to missing lock nesting notation
[    3.634003] 
[    3.634003] 4 locks held by swapper/0/1:
[    3.634003]  #0:  (&dev->mutex){......}, at: [<ffffffff81b63363>] __driver_attach+0x73/0x100
[    3.634003]  #1:  (&dev->mutex){......}, at: [<ffffffff81b63379>] __driver_attach+0x89/0x100
[    3.634003]  #2:  (drm_global_mutex){+.+.+.}, at: [<ffffffff8191278a>] drm_dev_register+0x2a/0x1c0
[    3.634003]  #3:  (&dev->mode_config.mutex){+.+.+.}, at: [<ffffffff81903a19>] drm_fb_helper_initial_config+0x119/0x730
[    3.634003] 
[    3.634003] stack backtrace:
[    3.634003] CPU: 1 PID: 1 Comm: swapper/0 Not tainted 3.15.0-rc5-00090-gb739c99 #1
[    3.634003] Hardware name: Bochs Bochs, BIOS Bochs 01/01/2011
[    3.634003]  ffff8800121807a8 ffff8800121839e8 ffffffff82752935 ffff880012180010
[    3.634003]  ffff880012183a58 ffffffff8113c027 0000000000000000 ffff8800121807a8
[    3.634003]  ffff880012183a78 ffffffff00000000 27e13f0d1869834c 0000000000000a00
[    3.634003] Call Trace:
[    3.634003]  [<ffffffff82752935>] dump_stack+0x85/0xba
[    3.634003]  [<ffffffff8113c027>] __lock_acquire+0x1f37/0x22c0
[    3.634003]  [<ffffffff8113c49b>] lock_acquire+0xeb/0x1c0
[    3.634003]  [<ffffffff81919245>] ? drm_modeset_lock_all+0x35/0x80
[    3.634003]  [<ffffffff8276ad35>] mutex_lock_nested+0x85/0x600
[    3.634003]  [<ffffffff81919245>] ? drm_modeset_lock_all+0x35/0x80
[    3.634003]  [<ffffffff811378ad>] ? trace_hardirqs_on+0x1d/0x30
[    3.634003]  [<ffffffff81903a19>] ? drm_fb_helper_initial_config+0x119/0x730
[    3.634003]  [<ffffffff8171a24b>] ? fb_get_options+0x2b/0x240
[    3.634003]  [<ffffffff81919245>] drm_modeset_lock_all+0x35/0x80
[    3.634003]  [<ffffffff81903a29>] drm_fb_helper_initial_config+0x129/0x730
[    3.634003]  [<ffffffff811378ad>] ? trace_hardirqs_on+0x1d/0x30
[    3.634003]  [<ffffffff819192fa>] ? drm_modeset_unlock_all+0x6a/0x80
[    3.634003]  [<ffffffff81a0b42d>] cirrus_fbdev_init+0xcd/0x110
[    3.634003]  [<ffffffff81a0a744>] cirrus_modeset_init+0x234/0x2d0
[    3.634003]  [<ffffffff81a08d46>] cirrus_driver_load+0x96/0x1a0
[    3.634003]  [<ffffffff81912875>] drm_dev_register+0x115/0x1c0
[    3.634003]  [<ffffffff819159e8>] drm_get_pci_dev+0x138/0x320
[    3.634003]  [<ffffffff811378ad>] ? trace_hardirqs_on+0x1d/0x30
[    3.634003]  [<ffffffff81a0a975>] cirrus_pci_probe+0x105/0x140
[    3.634003]  [<ffffffff816c0840>] pci_device_probe+0xe0/0x1c0
[    3.634003]  [<ffffffff81b62e3c>] driver_probe_device+0xcc/0x580
[    3.634003]  [<ffffffff81b633db>] __driver_attach+0xeb/0x100
[    3.634003]  [<ffffffff81b632f0>] ? driver_probe_device+0x580/0x580
[    3.634003]  [<ffffffff81b5ff73>] bus_for_each_dev+0xb3/0x110
[    3.634003]  [<ffffffff81b62976>] driver_attach+0x26/0x30
[    3.634003]  [<ffffffff81b61048>] bus_add_driver+0x208/0x390
[    3.634003]  [<ffffffff83c6f5e0>] ? intel_no_lvds_dmi_callback+0x2b/0x2b
[    3.634003]  [<ffffffff81b63a70>] driver_register+0xb0/0x1a0
[    3.634003]  [<ffffffff83c6f5e0>] ? intel_no_lvds_dmi_callback+0x2b/0x2b
[    3.634003]  [<ffffffff816c098d>] __pci_register_driver+0x6d/0x80
[    3.634003]  [<ffffffff81915d19>] drm_pci_init+0x149/0x180
[    3.634003]  [<ffffffff83c6f5e0>] ? intel_no_lvds_dmi_callback+0x2b/0x2b
[    3.634003]  [<ffffffff83c6f643>] cirrus_init+0x63/0x6c
[    3.634003]  [<ffffffff83c085e5>] do_one_initcall+0xe8/0x1cc
[    3.634003]  [<ffffffff81101645>] ? parse_args+0x2a5/0x5c0
[    3.634003]  [<ffffffff83c08893>] kernel_init_freeable+0x1ca/0x2c9
[    3.634003]  [<ffffffff83c07ad7>] ? do_early_param+0xd7/0xd7
[    3.634003]  [<ffffffff8273fde0>] ? rest_init+0x120/0x120
[    3.634003]  [<ffffffff8273fdf6>] kernel_init+0x16/0x1b0
[    3.634003]  [<ffffffff82771dfc>] ret_from_fork+0x7c/0xb0
[    3.634003]  [<ffffffff8273fde0>] ? rest_init+0x120/0x120
[   61.168100] spin_lock-torture: Writes:  Total: 4  Max/Min: 0/0   Fail: 0 
[  121.169074] spin_lock-torture: Writes:  Total: 4  Max/Min: 0/0   Fail: 0 
[  181.170111] spin_lock-torture: Writes:  Total: 4  Max/Min: 0/0   Fail: 0 

git bisect start 5dba024fe84a491ec3ca15193923fcbb938e68f7 fad01e866afdbe01a1f3ec06a39c3a8b9e197014 --
git bisect good 12072cdd5c9b56bb6d4169c5a52c9d0bf64b7f84  # 12:04     19+      0  Merge 'gxt/unicore32' into devel-hourly-2014060210
git bisect good eb1a12ad1d5a7312a6f3dc6a8b77c51cbe58641e  # 12:10     19+      0  Merge 'luto/auditsc-lite' into devel-hourly-2014060210
git bisect good d641155270aff21eacd2622e30129cd91fe8d2d2  # 12:23     19+      0  Merge 'wsa/i2c/for-next' into devel-hourly-2014060210
git bisect good 002fa82dac6f0be486333e6424968c0c42c0e799  # 12:30     19+      0  Merge 'jbarnes/async' into devel-hourly-2014060210
git bisect  bad 1ea52a9605be1234b7da3e4d134917c7ba3be93d  # 12:57      0-     19  Merge 'jbarnes/async-fb-probe' into devel-hourly-2014060210
git bisect  bad f728080d6bac47aab2d570492acef88317ac8e03  # 13:52      0-     15  drm/i915: make fbdev initialization asynchronous v2
git bisect  bad b739c9982801e5f76097311b67dfd76891b10988  # 14:13      0-      5  drm: take modeset locks around initial fb helper probing
# first bad commit: [b739c9982801e5f76097311b67dfd76891b10988] drm: take modeset locks around initial fb helper probing
git bisect good 071f9c57eea4876288ba1254c9ac3b0f077c2dd6  # 14:30     60+      0  drm/i915/vlv: enable PPGTT
git bisect  bad 5dba024fe84a491ec3ca15193923fcbb938e68f7  # 14:30      0-     13  0day head guard for 'devel-hourly-2014060210'
git bisect good fad01e866afdbe01a1f3ec06a39c3a8b9e197014  # 14:42     60+      1  Linux 3.15-rc8
git bisect good 322c030f5462a44ce42f8804284eb52b7cd2ba41  # 14:55     60+      7  Add linux-next specific files for 20140530


This script may reproduce the error.

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

kernel=$1
initrd=quantal-core-x86_64.cgz

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

kvm=(
	qemu-system-x86_64 -cpu kvm64 -enable-kvm 
	-kernel $kernel
	-initrd $initrd
	-smp 2
	-m 256M
	-net nic,vlan=0,macaddr=00:00:00:00:00:00,model=virtio
	-net user,vlan=0
	-net nic,vlan=1,model=e1000
	-net user,vlan=1
	-boot order=nc
	-no-reboot
	-watchdog i6300esb
	-serial stdio
	-display none
	-monitor null
)

append=(
	debug
	sched_debug
	apic=debug
	ignore_loglevel
	sysrq_always_enabled
	panic=10
	prompt_ramdisk=0
	earlyprintk=ttyS0,115200
	console=ttyS0,115200
	console=tty0
	vga=normal
	root=/dev/ram0
	rw
)

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

Thanks,
Fengguang

View attachment "dmesg-quantal-ivb43-29:20140602141427:x86_64-randconfig-hsxa0-06021100:3.15.0-rc5-00090-gb739c99:1" of type "text/plain" (54838 bytes)

Download attachment "x86_64-randconfig-hsxa0-06021100-5dba024fe84a491ec3ca15193923fcbb938e68f7-INFO:-possible-recursive-locking-detected-102872.log" of type "application/octet-stream" (57438 bytes)

View attachment "config-3.15.0-rc5-00090-gb739c99" of type "text/plain" (91925 bytes)

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

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ