Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752211AbZLZJpO (ORCPT ); Sat, 26 Dec 2009 04:45:14 -0500 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1751904AbZLZJpN (ORCPT ); Sat, 26 Dec 2009 04:45:13 -0500 Received: from mail-ew0-f219.google.com ([209.85.219.219]:42878 "EHLO mail-ew0-f219.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751902AbZLZJpL (ORCPT ); Sat, 26 Dec 2009 04:45:11 -0500 DomainKey-Signature: a=rsa-sha1; c=nofws; d=googlemail.com; s=gamma; h=date:from:to:cc:subject:message-id:mail-followup-to:references :mime-version:content-type:content-disposition:in-reply-to :user-agent; b=tkEHTMkM7S2mVri9JcbUv868ZcglhLEn/ulmlsM6YSbM/w8MUqMfRrJVTsnHInhPbR 6U+GrVSBT6EsBRHenRpL9Mdqu3YwqGt2rbntyJckT6jnTAO55AKI/q9H9lCSCa6j3ZZf iT2wSKI524kKEZatn1PbtCNYI1lKWWfgDnvhs= Date: Sat, 26 Dec 2009 10:45:04 +0100 From: Borislav Petkov To: Linus Torvalds , David Airlie Cc: Linux Kernel Mailing List Subject: drm_vm.c:drm_mmap: possible circular locking dependency detected (was: Re: Linux 2.6.33-rc2 - Merry Christmas ...) Message-ID: <20091226094504.GA6214@liondog.tnic> Mail-Followup-To: Borislav Petkov , Linus Torvalds , David Airlie , Linux Kernel Mailing List References: MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.20 (2009-06-14) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 5630 Lines: 129 Hi, this jumped into dmesg upon resume (.config and dmesg are attached in the previous "EHCI resume sysfs duplicates..." message in this thread): ======================================================= [ INFO: possible circular locking dependency detected ] 2.6.33-rc2-00001-g6d7daec #1 ------------------------------------------------------- Xorg/3076 is trying to acquire lock: (&dev->struct_mutex){+.+.+.}, at: [] drm_mmap+0x38/0x5c but task is already holding lock: (&mm->mmap_sem){++++++}, at: [] sys_mmap_pgoff+0xd6/0x1b4 which lock already depends on the new lock. the existing dependency chain (in reverse order) is: -> #3 (&mm->mmap_sem){++++++}: [] __lock_acquire+0x1373/0x16fd [] lock_acquire+0xf2/0x116 [] might_fault+0x95/0xb8 [] filldir+0x75/0xd0 [] sysfs_readdir+0x10f/0x149 [] vfs_readdir+0x6b/0xa8 [] sys_getdents+0x81/0xd1 [] system_call_fastpath+0x16/0x1b -> #2 (sysfs_mutex){+.+.+.}: [] __lock_acquire+0x1373/0x16fd [] lock_acquire+0xf2/0x116 [] mutex_lock_nested+0x63/0x354 [] sysfs_addrm_start+0x26/0x28 [] sysfs_remove_dir+0x52/0x8d [] kobject_del+0x16/0x37 [] kobject_release+0x3e/0x66 [] kref_put+0x43/0x4d [] kobject_put+0x47/0x4b [] cacheinfo_cpu_callback+0xa2/0xdb [] notifier_call_chain+0x37/0x63 [] raw_notifier_call_chain+0x14/0x16 [] _cpu_down+0x1a5/0x29a [] disable_nonboot_cpus+0x74/0x10d [] hibernation_snapshot+0x99/0x1d3 [] hibernate+0xce/0x172 [] state_store+0x5c/0xd3 [] kobj_attr_store+0x17/0x19 [] sysfs_write_file+0x108/0x144 [] vfs_write+0xb2/0x153 [] sys_write+0x4a/0x71 [] system_call_fastpath+0x16/0x1b -> #1 (cpu_hotplug.lock){+.+.+.}: [] __lock_acquire+0x1373/0x16fd [] lock_acquire+0xf2/0x116 [] mutex_lock_nested+0x63/0x354 [] get_online_cpus+0x3c/0x50 [] mtrr_del_page+0x3e/0x13c [] mtrr_del+0x47/0x4f [] drm_rmmap_locked+0xdc/0x1a2 [] drm_master_destroy+0x86/0x11f [] kref_put+0x43/0x4d [] drm_master_put+0x20/0x2b [] drm_release+0x54b/0x688 [] __fput+0x125/0x1e7 [] fput+0x1a/0x1c [] filp_close+0x5d/0x67 [] sys_close+0xad/0xe7 [] system_call_fastpath+0x16/0x1b -> #0 (&dev->struct_mutex){+.+.+.}: [] __lock_acquire+0x1023/0x16fd [] lock_acquire+0xf2/0x116 [] mutex_lock_nested+0x63/0x354 [] drm_mmap+0x38/0x5c [] mmap_region+0x2e0/0x4ff [] do_mmap_pgoff+0x290/0x2f3 [] sys_mmap_pgoff+0xf6/0x1b4 [] sys_mmap+0x22/0x27 [] system_call_fastpath+0x16/0x1b other info that might help us debug this: 1 lock held by Xorg/3076: #0: (&mm->mmap_sem){++++++}, at: [] sys_mmap_pgoff+0xd6/0x1b4 stack backtrace: Pid: 3076, comm: Xorg Tainted: G W 2.6.33-rc2-00001-g6d7daec #1 Call Trace: [] print_circular_bug+0xae/0xbd [] __lock_acquire+0x1023/0x16fd [] ? drm_mmap+0x38/0x5c [] lock_acquire+0xf2/0x116 [] ? drm_mmap+0x38/0x5c [] ? drm_mmap+0x38/0x5c [] ? drm_mmap+0x38/0x5c [] mutex_lock_nested+0x63/0x354 [] ? drm_mmap+0x38/0x5c [] ? mark_held_locks+0x52/0x70 [] ? kmem_cache_alloc+0xc2/0x168 [] ? mmap_region+0x23d/0x4ff [] ? trace_hardirqs_on_caller+0x11d/0x141 [] drm_mmap+0x38/0x5c [] ? __down_write_nested+0x1c/0xcc [] mmap_region+0x2e0/0x4ff [] do_mmap_pgoff+0x290/0x2f3 [] sys_mmap_pgoff+0xf6/0x1b4 [] ? trace_hardirqs_on_caller+0x11d/0x141 [] ? trace_hardirqs_on_thunk+0x3a/0x3f [] sys_mmap+0x22/0x27 [] system_call_fastpath+0x16/0x1b [drm] Setting GART location based on new memory map [drm] Loading RV635 CP Microcode platform r600_cp.0: firmware: using built-in firmware radeon/RV635_pfp.bin platform r600_cp.0: firmware: using built-in firmware radeon/RV635_me.bin [drm] Resetting GPU [drm] writeback test succeeded in 1 usecs -- Regards/Gruss, Boris. -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/