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:	Fri, 30 May 2014 12:21:49 +0800
From:	Jet Chen <jet.chen@...el.com>
To:	Jesse Barnes <jbarnes@...tuousgeek.org>
CC:	Fengguang Wu <fengguang.wu@...el.com>,
	Yuanhan Liu <yuanhan.liu@...el.com>,
	dri-devel@...ts.freedesktop.org,
	Linux Kernel Mailing List <linux-kernel@...r.kernel.org>
Subject: [drm] INFO: possible recursive locking detected

Hi Jesse,

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

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 |
+------------------------------------------+------------+------------+
| boot_successes                           | 60         | 0          |
| boot_failures                            | 0          | 20         |
| INFO:possible_recursive_locking_detected | 0          | 20         |
| BUG:kernel_boot_hang                     | 0          | 20         |
| backtrace:drm_fb_helper_initial_config   | 0          | 20         |
| backtrace:cirrus_fbdev_init              | 0          | 20         |
| backtrace:cirrus_modeset_init            | 0          | 20         |
| backtrace:__pci_register_driver          | 0          | 20         |
| backtrace:drm_pci_init                   | 0          | 20         |
| backtrace:cirrus_init                    | 0          | 20         |
| backtrace:kernel_init_freeable           | 0          | 20         |
+------------------------------------------+------------+------------+


[    4.328875] [TTM] Initializing pool allocator
[    4.329713] [    4.329843] =============================================
[    4.330272] [ INFO: possible recursive locking detected ]
[    4.330294] 3.15.0-rc5-00087-gb739c99 #636 Not tainted
[    4.330294] ---------------------------------------------
[    4.330294] swapper/1 is trying to acquire lock:
[    4.330294]  (&dev->mode_config.mutex){+.+.+.}, at: [<8158fa28>] drm_modeset_lock_all+0x28/0xa0
[    4.330294] [    4.330294] but task is already holding lock:
[    4.330294]  (&dev->mode_config.mutex){+.+.+.}, at: [<8157720e>] drm_fb_helper_initial_config+0x6e/0x890
[    4.330294] [    4.330294] other info that might help us debug this:
[    4.330294]  Possible unsafe locking scenario:
[    4.330294] [    4.330294]        CPU0
[    4.330294]        ----
[    4.330294]   lock(&dev->mode_config.mutex);
[    4.330294]   lock(&dev->mode_config.mutex);
[    4.330294] [    4.330294]  *** DEADLOCK ***
[    4.330294] [    4.330294]  May be due to missing lock nesting notation
[    4.330294] [    4.330294] 4 locks held by swapper/1:
[    4.330294]  #0:  (&dev->mutex){......}, at: [<81770e9c>] __driver_attach+0x7c/0x140
[    4.330294]  #1:  (&dev->mutex){......}, at: [<81770eb6>] __driver_attach+0x96/0x140
[    4.330294]  #2:  (drm_global_mutex){+.+.+.}, at: [<81587f89>] drm_dev_register+0x29/0x210
[    4.330294]  #3:  (&dev->mode_config.mutex){+.+.+.}, at: [<8157720e>] drm_fb_helper_initial_config+0x6e/0x890
[    4.330294] [    4.330294] stack backtrace:
[    4.330294] CPU: 0 PID: 1 Comm: swapper Not tainted 3.15.0-rc5-00087-gb739c99 #636
[    4.330294]  82772bd0 91c25b70 81c8091f 91c25bf0 810a75e6 82031095 91c1922c 00000001
[    4.330294]  e891fd4b 00000004 91c19478 82772bd0 00000000 91c19000 91c19478 8274ddb8
[    4.330294]  82543d00 91c25bcc 0000073c 00000000 00000000 00000000 00000001 91c19478
[    4.330294] Call Trace:
[    4.330294]  [<81c8091f>] dump_stack+0x40/0x5e
[    4.330294]  [<810a75e6>] validate_chain.isra.25+0xe66/0x1f70
[    4.330294]  [<8109a413>] ? sched_clock_cpu+0x153/0x1c0
[    4.330294]  [<810ae42e>] __lock_acquire+0x149e/0x1780
[    4.330294]  [<810ae42e>] ? __lock_acquire+0x149e/0x1780
[    4.330294]  [<810ae865>] lock_acquire+0x155/0x1d0
[    4.330294]  [<8158fa28>] ? drm_modeset_lock_all+0x28/0xa0
[    4.330294]  [<81c9f2a9>] mutex_lock_nested+0x99/0x6a0
[    4.330294]  [<8158fa28>] ? drm_modeset_lock_all+0x28/0xa0
[    4.330294]  [<8158fa28>] ? drm_modeset_lock_all+0x28/0xa0
[    4.330294]  [<8157720e>] ? drm_fb_helper_initial_config+0x6e/0x890
[    4.330294]  [<8157720e>] ? drm_fb_helper_initial_config+0x6e/0x890
[    4.330294]  [<8158fa28>] drm_modeset_lock_all+0x28/0xa0
[    4.330294]  [<81577223>] drm_fb_helper_initial_config+0x83/0x890
[    4.330294]  [<810a97b2>] ? trace_hardirqs_on_caller+0x2d2/0x420
[    4.330294]  [<810a9927>] ? trace_hardirqs_on+0x27/0x40
[    4.330294]  [<8158fa78>] ? drm_modeset_lock_all+0x78/0xa0
[    4.330294]  [<8156f4fe>] ? drm_helper_encoder_in_use+0xe/0x130
[    4.330294]  [<8158fad9>] ? drm_modeset_unlock_all+0x39/0x80
[    4.330294]  [<8174a06c>] cirrus_fbdev_init+0x10c/0x130
[    4.330294]  [<8174917b>] cirrus_modeset_init+0x27b/0x340
[    4.330294]  [<81747483>] cirrus_driver_load+0x113/0x1d0
[    4.330294]  [<81588047>] drm_dev_register+0xe7/0x210
[    4.330294]  [<8158ba80>] drm_get_pci_dev+0x200/0x340
[    4.330294]  [<8118a93d>] ? slob_free+0x5dd/0x610
[    4.330294]  [<81749416>] cirrus_pci_probe+0x126/0x160
[    4.330294]  [<81338b7a>] pci_device_probe+0xda/0x1f0
[    4.330294]  [<8120eef5>] ? sysfs_create_link+0x25/0x40
[    4.330294]  [<81770b9f>] really_probe+0x16f/0x3f0
[    4.330294]  [<81770ef9>] __driver_attach+0xd9/0x140
[    4.330294]  [<81770e20>] ? really_probe+0x3f0/0x3f0
[    4.330294]  [<8176d932>] bus_for_each_dev+0xb2/0x140
[    4.330294]  [<817705cc>] driver_attach+0x2c/0x40
[    4.330294]  [<81770e20>] ? really_probe+0x3f0/0x3f0
[    4.330294]  [<8176ead9>] bus_add_driver+0x129/0x3e0
[    4.330294]  [<81771855>] driver_register+0x165/0x1f0
[    4.330294]  [<8249f39c>] ? mgag200_init+0x4f/0x4f
[    4.330294]  [<81338cf6>] __pci_register_driver+0x66/0x80
[    4.330294]  [<8158bc4b>] drm_pci_init+0x8b/0x1b0
[    4.330294]  [<8249f39c>] ? mgag200_init+0x4f/0x4f
[    4.330294]  [<8249f3d3>] cirrus_init+0x37/0x4f
[    4.330294]  [<82458598>] do_one_initcall+0xf4/0x21e
[    4.330294]  [<81080016>] ? parameq+0x26/0x110
[    4.330294]  [<812dd939>] ? strlen+0x9/0x40
[    4.330294]  [<82457735>] ? repair_env_string+0x32/0xd3
[    4.330294]  [<81080522>] ? parse_args+0x422/0x610
[    4.330294]  [<824588ca>] kernel_init_freeable+0x208/0x38b
[    4.330294]  [<82457703>] ? do_early_param+0x12b/0x12b
[    4.330294]  [<81c77fee>] kernel_init+0x1e/0x220
[    4.330294]  [<81094e0f>] ? schedule_tail+0x1f/0xa0
[    4.330294]  [<81ca7700>] ret_from_kernel_thread+0x20/0x30
[    4.330294]  [<81c77fd0>] ? rest_init+0x180/0x180
[   61.921707] spin_lock-torture: Writes:  Total: 2  Max/Min: 0/0   Fail: 0 [   82.580118] random: nonblocking pool is initialized
[  121.920851] spin_lock-torture: Writes:  Total: 2  Max/Min: 0/0   Fail: 0
git bisect start 05f78283c03d79d7d03af2ba7570156c71ba9b0d c7208164e66f63e3ec1759b98087849286410741 --
git bisect good 8bc69a36895ecd9f0f7304b71d5dee85c5c35ee4  # 02:59     20+      0  Merge 'jbarnes/pm-fixes' into devel-roam-i386-201405300201
git bisect good 369cef62bbd75688f151851a939b827391c8e62f  # 03:12     20+      0  Merge 'wireless-next/master' into devel-roam-i386-201405300201
git bisect  bad fcb2133e3b5207d456c048ac4008681e012bb410  # 03:35      0-      5  Merge 'jbarnes/async-fb-probe' into devel-roam-i386-201405300201
git bisect  bad b739c9982801e5f76097311b67dfd76891b10988  # 03:52      0-      6  drm: take modeset locks around initial fb helper probing
git bisect good 071f9c57eea4876288ba1254c9ac3b0f077c2dd6  # 04:07     20+      0  drm/i915/vlv: enable PPGTT
# first bad commit: [b739c9982801e5f76097311b67dfd76891b10988] drm: take modeset locks around initial fb helper probing
git bisect good 071f9c57eea4876288ba1254c9ac3b0f077c2dd6  # 04:10     60+      0  drm/i915/vlv: enable PPGTT
git bisect  bad 05f78283c03d79d7d03af2ba7570156c71ba9b0d  # 04:10      0-     13  0day head guard for 'devel-roam-i386-201405300201'
git bisect good f2159d1e99612ceb94bf9a2dc2fbca409d828b1b  # 04:18     60+      0  Merge tag 'sound-3.15-rc8' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound
git bisect good 07dd999f99b1135fdece697e17c4f4248ab40f72  # 04:27     60+     60  Add linux-next specific files for 20140529


This script may reproduce the error.

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

kernel=$1
initrd=quantal-core-i386.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,
Jet

View attachment "dmesg-quantal-ivb43-67:20140530035208:i386-randconfig-r3-0530:3.15.0-rc5-00087-gb739c99:636" of type "text/plain" (25974 bytes)

Download attachment "i386-randconfig-r3-0530-05f78283c03d79d7d03af2ba7570156c71ba9b0d-INFO:-possible-recursive-locking-detected-109230.log" of type "application/octet-stream" (44466 bytes)

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

View attachment "Attached Message Part" of type "text/plain" (87 bytes)

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ