Bug 206846 - possible circular locking dependency (mm->mmap_sem vs q->lock)
Summary: possible circular locking dependency (mm->mmap_sem vs q->lock)
Keywords:
Status: CLOSED INSUFFICIENT_DATA
Alias: None
Product: Fedora
Classification: Fedora
Component: kernel
Version: 6
Hardware: x86_64
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Kernel Maintainer List
QA Contact: Brian Brock
URL:
Whiteboard:
Depends On:
Blocks: FCMETA_LOCKDEP
TreeView+ depends on / blocked
 
Reported: 2006-09-17 08:01 UTC by Dams
Modified: 2008-08-02 23:40 UTC (History)
4 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2008-01-08 00:13:49 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)

Description Dams 2006-09-17 08:01:45 UTC
Description of problem:
I've found this in log/messages this morning : 
Sep 16 23:25:24 gruyere kernel:
=======================================================
Sep 16 23:25:24 gruyere kernel: [ INFO: possible circular locking dependency
detected ]
Sep 16 23:25:24 gruyere kernel: 2.6.17-1.2647.fc6 #1
Sep 16 23:25:24 gruyere kernel:
-------------------------------------------------------
Sep 16 23:25:24 gruyere kernel: tvtime/3720 is trying to acquire lock:
Sep 16 23:25:24 gruyere kernel:  (&mm->mmap_sem){----}, at: [<ffffffff88308907>]
videobuf_dma_init_user+0xd2/0x17a [
video_buf]
Sep 16 23:25:24 gruyere kernel:
Sep 16 23:25:24 gruyere kernel: but task is already holding lock:
Sep 16 23:25:24 gruyere kernel:  (&q->lock#2){--..}, at: [<ffffffff802666ef>]
mutex_lock+0x2a/0x2e
Sep 16 23:25:24 gruyere kernel:
Sep 16 23:25:24 gruyere kernel: which lock already depends on the new lock.
Sep 16 23:25:24 gruyere kernel:
Sep 16 23:25:24 gruyere kernel:
Sep 16 23:25:24 gruyere kernel: the existing dependency chain (in reverse order) is:
Sep 16 23:25:24 gruyere kernel:
Sep 16 23:25:24 gruyere kernel: -> #1 (&q->lock#2){--..}:
Sep 16 23:25:24 gruyere kernel:        [<ffffffff802a9742>] lock_acquire+0x4a/0x69
Sep 16 23:25:24 gruyere kernel:        [<ffffffff80266548>]
__mutex_lock_slowpath+0xe4/0x261
Sep 16 23:25:24 gruyere kernel:        [<ffffffff802666ee>] mutex_lock+0x29/0x2e
Sep 16 23:25:24 gruyere kernel:        [<ffffffff883077ba>]
videobuf_mmap_mapper+0x1b/0x23b [video_buf]
Sep 16 23:25:24 gruyere kernel:        [<ffffffff8831c0aa>] bttv_mmap+0x74/0x7a
[bttv]
Sep 16 23:25:24 gruyere kernel:        [<ffffffff8020e495>]
do_mmap_pgoff+0x4cf/0x7b7
Sep 16 23:25:24 gruyere kernel:        [<ffffffff80225251>] sys_mmap+0x8e/0xca
Sep 16 23:25:24 gruyere kernel:        [<ffffffff8026084d>] system_call+0x7d/0x83
Sep 16 23:25:24 gruyere kernel:
Sep 16 23:25:24 gruyere kernel: -> #0 (&mm->mmap_sem){----}:
Sep 16 23:25:24 gruyere kernel:        [<ffffffff802a9742>] lock_acquire+0x4a/0x69
Sep 16 23:25:24 gruyere kernel:        [<ffffffff802a621f>] down_read+0x3d/0x4a
Sep 16 23:25:24 gruyere kernel:        [<ffffffff88308906>]
videobuf_dma_init_user+0xd1/0x17a [video_buf]
Sep 16 23:25:24 gruyere kernel:        [<ffffffff88308c76>]
videobuf_iolock+0x91/0xec [video_buf]
Sep 16 23:25:25 gruyere kernel:        [<ffffffff8831a159>]
bttv_prepare_buffer+0x11e/0x16c [bttv]
Sep 16 23:25:25 gruyere kernel:        [<ffffffff8831a1d4>]
buffer_prepare+0x2d/0x30 [bttv]
Sep 16 23:25:25 gruyere kernel:        [<ffffffff88309303>]
videobuf_qbuf+0x247/0x2f4 [video_buf]
Sep 16 23:25:25 gruyere kernel:        [<ffffffff8831d59d>]
bttv_do_ioctl+0x128c/0x1b2b [bttv]
Sep 16 23:25:25 gruyere kernel:        [<ffffffff8827aa78>]
video_usercopy+0x1d0/0x2a9 [videodev]
Sep 16 23:25:25 gruyere kernel:        [<ffffffff8831a294>] bttv_ioctl+0x3b/0x41
[bttv]
Sep 16 23:25:25 gruyere kernel:        [<ffffffff80243c99>] do_ioctl+0x5d/0x77
Sep 16 23:25:25 gruyere kernel:        [<ffffffff80232709>] vfs_ioctl+0x259/0x277
Sep 16 23:25:25 gruyere kernel:        [<ffffffff8024ebe0>] sys_ioctl+0x5e/0x82
Sep 16 23:25:25 gruyere kernel:        [<ffffffff8026084d>] system_call+0x7d/0x83
Sep 16 23:25:25 gruyere kernel:
Sep 16 23:25:25 gruyere kernel: other info that might help us debug this:
Sep 16 23:25:25 gruyere kernel:
Sep 16 23:25:25 gruyere kernel: 1 lock held by tvtime/3720:
Sep 16 23:25:25 gruyere kernel:  #0:  (&q->lock#2){--..}, at:
[<ffffffff802666ef>] mutex_lock+0x2a/0x2e
Sep 16 23:25:25 gruyere kernel:
Sep 16 23:25:25 gruyere kernel: stack backtrace:
Sep 16 23:25:25 gruyere kernel:
Sep 16 23:25:25 gruyere kernel: Call Trace:
Sep 16 23:25:25 gruyere kernel:  [<ffffffff8026ebbd>] show_trace+0xae/0x336
Sep 16 23:25:25 gruyere kernel:  [<ffffffff8026ee5a>] dump_stack+0x15/0x17
Sep 16 23:25:25 gruyere kernel:  [<ffffffff802a7980>]
print_circular_bug_tail+0x6c/0x77
Sep 16 23:25:25 gruyere kernel:  [<ffffffff802a8f89>] __lock_acquire+0x84d/0xa64
Sep 16 23:25:25 gruyere kernel:  [<ffffffff802a9743>] lock_acquire+0x4b/0x69
Sep 16 23:25:25 gruyere kernel:  [<ffffffff802a6220>] down_read+0x3e/0x4a
Sep 16 23:25:25 gruyere kernel:  [<ffffffff88308907>]
:video_buf:videobuf_dma_init_user+0xd2/0x17a
Sep 16 23:25:25 gruyere kernel:  [<ffffffff88308c77>]
:video_buf:videobuf_iolock+0x92/0xec
Sep 16 23:25:25 gruyere kernel:  [<ffffffff8831a15a>]
:bttv:bttv_prepare_buffer+0x11f/0x16c
Sep 16 23:25:25 gruyere kernel:  [<ffffffff8831a1d5>] :bttv:buffer_prepare+0x2e/0x30
Sep 16 23:25:25 gruyere kernel:  [<ffffffff88309304>]
:video_buf:videobuf_qbuf+0x248/0x2f4
Sep 16 23:25:25 gruyere kernel:  [<ffffffff8831d59e>]
:bttv:bttv_do_ioctl+0x128d/0x1b2b
Sep 16 23:25:25 gruyere kernel:  [<ffffffff8827aa79>]
:videodev:video_usercopy+0x1d1/0x2a9
Sep 16 23:25:25 gruyere kernel:  [<ffffffff8831a295>] :bttv:bttv_ioctl+0x3c/0x41
Sep 16 23:25:25 gruyere kernel:  [<ffffffff80243c9a>] do_ioctl+0x5e/0x77
Sep 16 23:25:25 gruyere kernel:  [<ffffffff8023270a>] vfs_ioctl+0x25a/0x277
Sep 16 23:25:25 gruyere kernel:  [<ffffffff8024ebe1>] sys_ioctl+0x5f/0x82
Sep 16 23:25:25 gruyere kernel:  [<ffffffff8026084e>] system_call+0x7e/0x83
Sep 16 23:25:25 gruyere kernel: DWARF2 unwinder stuck at system_call+0x7e/0x83
Sep 16 23:25:25 gruyere kernel: Leftover inexact backtrace:

Version-Release number of selected component: 2.6.17-1.2647.fc6
system is fresh fc6 test3 updated to 16th/09 rawhide

Comment 1 Jon Stanley 2007-12-31 01:41:52 UTC
Hello,

I'm reviewing this bug as part of the kernel bug triage project, an attempt to
isolate current bugs in the Fedora kernel.

http://fedoraproject.org/wiki/KernelBugTriage

I am CC'ing myself to this bug, however this version of Fedora is no longer
maintained.

Please attempt to reproduce this bug with a current version of Fedora (presently
Fedora 8). If the bug no longer exists, please close the bug or I'll do so in a
few days if there is no further information lodged.

Thanks for using Fedora!

Comment 2 Jon Stanley 2008-01-08 00:13:49 UTC
Closing per previous comment.  If you can provide the requested information,
please feel free to re-open this bug.


Note You need to log in before you can comment on or make changes to this bug.