linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Shuah Khan <shuahkh@osg.samsung.com>
To: Hans Verkuil <hverkuil@xs4all.nl>,
	mchehab@kernel.org, hansverk@cisco.com, kgene@kernel.org,
	krzk@kernel.org, s.nawrocki@samsung.com,
	shailendra.v@samsung.com, shuah@kernel.org, Julia.Lawall@lip6.fr,
	kyungmin.park@samsung.com, kamil@wypas.org, jtp.park@samsung.com,
	a.hajda@samsung.com
Cc: linux-media@vger.kernel.org, linux-kernel@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org,
	Shuah Khan <shuahkh@osg.samsung.com>
Subject: Re: [PATCH v2 1/2] media: exynos-gsc: fix lockdep warning
Date: Tue, 7 Nov 2017 09:53:43 -0700	[thread overview]
Message-ID: <16599447-c4ee-1400-edae-6c3160a162e5@osg.samsung.com> (raw)
In-Reply-To: <5362d81f-80c1-e806-51c2-a818a941518a@xs4all.nl>

On 10/16/2017 09:18 AM, Hans Verkuil wrote:
> On 10/16/2017 05:16 PM, Shuah Khan wrote:
>> The driver mmap functions shouldn't take lock when calling vb2_mmap().
>> Fix it to not take the lock.
>>
>> Reference: commit log for f035eb4e976ef5a059e30bc91cfd310ff030a7d3
>> and e752577ed7bf55c81e10343fced8b378cda2b63b
>>
>> The following lockdep warning is fixed with this change.
>>
>> [ 1990.972058] ======================================================
>> [ 1990.978172] WARNING: possible circular locking dependency detected
>> [ 1990.984327] 4.14.0-rc2-00002-gfab205f-dirty #4 Not tainted
>> [ 1990.989783] ------------------------------------------------------
>> [ 1990.995937] qtdemux0:sink/2765 is trying to acquire lock:
>> [ 1991.001309]  (&gsc->lock){+.+.}, at: [<bf1729f0>] gsc_m2m_mmap+0x24/0x5c [exynos_gsc]
>> [ 1991.009108]
>>                but task is already holding lock:
>> [ 1991.014913]  (&mm->mmap_sem){++++}, at: [<c01df2e4>] vm_mmap_pgoff+0x44/0xb8
>> [ 1991.021932]
>>                which lock already depends on the new lock.
>>
>> [ 1991.030078]
>>                the existing dependency chain (in reverse order) is:
>> [ 1991.037530]
>>                -> #1 (&mm->mmap_sem){++++}:
>> [ 1991.042913]        __might_fault+0x80/0xb0
>> [ 1991.047096]        video_usercopy+0x1cc/0x510 [videodev]
>> [ 1991.052297]        v4l2_ioctl+0xa4/0xdc [videodev]
>> [ 1991.057036]        do_vfs_ioctl+0xa0/0xa18
>> [ 1991.061102]        SyS_ioctl+0x34/0x5c
>> [ 1991.064834]        ret_fast_syscall+0x0/0x28
>> [ 1991.069072]
>>                -> #0 (&gsc->lock){+.+.}:
>> [ 1991.074193]        lock_acquire+0x6c/0x88
>> [ 1991.078179]        __mutex_lock+0x68/0xa34
>> [ 1991.082247]        mutex_lock_interruptible_nested+0x1c/0x24
>> [ 1991.087888]        gsc_m2m_mmap+0x24/0x5c [exynos_gsc]
>> [ 1991.093029]        v4l2_mmap+0x54/0x88 [videodev]
>> [ 1991.097673]        mmap_region+0x3a8/0x638
>> [ 1991.101743]        do_mmap+0x330/0x3a4
>> [ 1991.105470]        vm_mmap_pgoff+0x90/0xb8
>> [ 1991.109542]        SyS_mmap_pgoff+0x90/0xc0
>> [ 1991.113702]        ret_fast_syscall+0x0/0x28
>> [ 1991.117945]
>>                other info that might help us debug this:
>>
>> [ 1991.125918]  Possible unsafe locking scenario:
>>
>> [ 1991.131810]        CPU0                    CPU1
>> [ 1991.136315]        ----                    ----
>> [ 1991.140821]   lock(&mm->mmap_sem);
>> [ 1991.144201]                                lock(&gsc->lock);
>> [ 1991.149833]                                lock(&mm->mmap_sem);
>> [ 1991.155725]   lock(&gsc->lock);
>> [ 1991.158845]
>>                 *** DEADLOCK ***
>>
>> [ 1991.164740] 1 lock held by qtdemux0:sink/2765:
>> [ 1991.169157]  #0:  (&mm->mmap_sem){++++}, at: [<c01df2e4>] vm_mmap_pgoff+0x44/0xb8
>> [ 1991.176609]
>>                stack backtrace:
>> [ 1991.180946] CPU: 2 PID: 2765 Comm: qtdemux0:sink Not tainted 4.14.0-rc2-00002-gfab205f-dirty #4
>> [ 1991.189608] Hardware name: SAMSUNG EXYNOS (Flattened Device Tree)
>> [ 1991.195686] [<c01102c8>] (unwind_backtrace) from [<c010cabc>] (show_stack+0x10/0x14)
>> [ 1991.203393] [<c010cabc>] (show_stack) from [<c08543a4>] (dump_stack+0x98/0xc4)
>> [ 1991.210586] [<c08543a4>] (dump_stack) from [<c016b2fc>] (print_circular_bug+0x254/0x410)
>> [ 1991.218644] [<c016b2fc>] (print_circular_bug) from [<c016c580>] (check_prev_add+0x468/0x938)
>> [ 1991.227049] [<c016c580>] (check_prev_add) from [<c016f4dc>] (__lock_acquire+0x1314/0x14fc)
>> [ 1991.235281] [<c016f4dc>] (__lock_acquire) from [<c016fefc>] (lock_acquire+0x6c/0x88)
>> [ 1991.242993] [<c016fefc>] (lock_acquire) from [<c0869fb4>] (__mutex_lock+0x68/0xa34)
>> [ 1991.250620] [<c0869fb4>] (__mutex_lock) from [<c086aa08>] (mutex_lock_interruptible_nested+0x1c/0x24)
>> [ 1991.259812] [<c086aa08>] (mutex_lock_interruptible_nested) from [<bf1729f0>] (gsc_m2m_mmap+0x24/0x5c [exynos_gsc])
>> [ 1991.270159] [<bf1729f0>] (gsc_m2m_mmap [exynos_gsc]) from [<bf037120>] (v4l2_mmap+0x54/0x88 [videodev])
>> [ 1991.279510] [<bf037120>] (v4l2_mmap [videodev]) from [<c01f4798>] (mmap_region+0x3a8/0x638)
>> [ 1991.287792] [<c01f4798>] (mmap_region) from [<c01f4d58>] (do_mmap+0x330/0x3a4)
>> [ 1991.294986] [<c01f4d58>] (do_mmap) from [<c01df330>] (vm_mmap_pgoff+0x90/0xb8)
>> [ 1991.302178] [<c01df330>] (vm_mmap_pgoff) from [<c01f28cc>] (SyS_mmap_pgoff+0x90/0xc0)
>> [ 1991.309977] [<c01f28cc>] (SyS_mmap_pgoff) from [<c0108820>] (ret_fast_syscall+0x0/0x28)
>>
>> Signed-off-by: Shuah Khan <shuahkh@osg.samsung.com>
>> Suggested-by: Hans Verkuil <hansverk@cisco.com>
>> Acked-by: Marek Szyprowski <m.szyprowski@samsung.com>
> 
> Acked-by: Hans Verkuil <hansverk@cisco.com>
> 
> Regards,
> 
> 	Hans

Hi Mauro,

Are you planning to take this in for 4.15-rc1? This patch is applicable
to stable as well.

thanks,
-- Shuah

  reply	other threads:[~2017-11-07 16:53 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <CGME20171013231531epcas5p2f009317ed58f5177e7a0768b69a62b6c@epcas5p2.samsung.com>
2017-10-13 23:13 ` [PATCH 0/2] fix lockdep warnings in s5p_mfc and exynos-gsc vb2 drivers Shuah Khan
2017-10-13 23:13   ` [PATCH 1/2] media: exynos-gsc: fix lockdep warning Shuah Khan
2017-10-16 15:18     ` [PATCH v2 " Hans Verkuil
2017-11-07 16:53       ` Shuah Khan [this message]
2017-12-08 22:58         ` Shuah Khan
2017-10-13 23:13   ` [PATCH 2/2] media: s5p-mfc: " Shuah Khan
2017-10-16 15:18     ` [PATCH v2 " Hans Verkuil
2017-10-16 12:48   ` [PATCH 0/2] fix lockdep warnings in s5p_mfc and exynos-gsc vb2 drivers Marek Szyprowski
2017-10-16 14:51     ` Shuah Khan

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=16599447-c4ee-1400-edae-6c3160a162e5@osg.samsung.com \
    --to=shuahkh@osg.samsung.com \
    --cc=Julia.Lawall@lip6.fr \
    --cc=a.hajda@samsung.com \
    --cc=hansverk@cisco.com \
    --cc=hverkuil@xs4all.nl \
    --cc=jtp.park@samsung.com \
    --cc=kamil@wypas.org \
    --cc=kgene@kernel.org \
    --cc=krzk@kernel.org \
    --cc=kyungmin.park@samsung.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-media@vger.kernel.org \
    --cc=mchehab@kernel.org \
    --cc=s.nawrocki@samsung.com \
    --cc=shailendra.v@samsung.com \
    --cc=shuah@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).