Received: by 10.223.164.210 with SMTP id h18csp845051wrb; Tue, 19 Dec 2017 10:19:43 -0800 (PST) X-Google-Smtp-Source: ACJfBos07wNyDgZ00+g7Fpbo2vPgetGZleRSXfyayFkIxduh4RkCRqJTNGplLkoSjDAezGf9G4LU X-Received: by 10.84.168.129 with SMTP id f1mr4206050plb.144.1513707583281; Tue, 19 Dec 2017 10:19:43 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1513707583; cv=none; d=google.com; s=arc-20160816; b=rgeitxw8AFnleKmKufTmbXLtiE4KDZXftbNkitVEWYqwisSdTdI1/PPEoDCIsABgvv zY+WILdqjiaHxVxNvJm5oRoCLwfnWrBxNWpzigSdufapYAYv4kO7eHvIcKxNlbQ+Loa9 r4ONO8bs0tDQb9WYpPzEPFXfEqE/5qPM93+endCEpAiMw1fvWL7JfhYmNOAtGaklvQEC LHgcae8RMxK4xUAvhJKRyDbYYQEOMtI8f23o8JiQZzoAhXtgcAw9VEIaZKvO09083mLi F+HnX/EOEDQpfNSXwA08ipFOK4fq47javPuXV8CY0XhJXk6hO1dmuFE7sxKwuWj4fvZo nrPA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:references:in-reply-to:message-id:date :subject:cc:to:from:arc-authentication-results; bh=Urog7FLV+HhZ4Nsn8WUztJ1U5RcFYvjL4DF/vPU00Dc=; b=CTydUcrzm1RZAWrKxJPZwQmDbOP7PROjPWBJVIkUquNpx1QSXhOTTysJ1F25e9O7Yo hcAGr30Q8oeDDfYMlgC/p/3RdhXvoCJ0eEqJavcqcI/9LRu4ufdICJ1gm8u+947I12YQ 2uTHd2NVdSNL+sniOcPB1t1G8FlUDWTQeFDc8cgGx7jcWxKJuILdMQ6QjhcfQnFIyUQW saKHqI+gjSR6/xpYZRlsoPRN6LaT08R4zzDjpsDMcS2rn6ezW1B6FnZXUXkJhaclp41Q TWA5vZiyDgacqpz7doE0GYkpnTXuxktDIXoHY3QDUVGO/wvlgT84JJAzGFgqvG+9/gJ+ 0txQ== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=samsung.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id j3si11353016pld.701.2017.12.19.10.19.28; Tue, 19 Dec 2017 10:19:43 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=samsung.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751496AbdLSSTR (ORCPT + 99 others); Tue, 19 Dec 2017 13:19:17 -0500 Received: from osg.samsung.com ([64.30.133.232]:56569 "EHLO osg.samsung.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750799AbdLSSTP (ORCPT ); Tue, 19 Dec 2017 13:19:15 -0500 Received: from localhost (localhost [127.0.0.1]) by osg.samsung.com (Postfix) with ESMTP id CBF1210D5F; Tue, 19 Dec 2017 10:19:14 -0800 (PST) X-Virus-Scanned: Debian amavisd-new at dev.s-opensource.com Received: from osg.samsung.com ([127.0.0.1]) by localhost (localhost [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id SySj6GUj6VuK; Tue, 19 Dec 2017 10:19:13 -0800 (PST) Received: from localhost.localdomain (c-24-9-64-241.hsd1.co.comcast.net [24.9.64.241]) by osg.samsung.com (Postfix) with ESMTPSA id DA8AE10D56; Tue, 19 Dec 2017 10:19:12 -0800 (PST) From: Shuah Khan To: 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: Shuah Khan , linux-media@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org Subject: [RESEND PATCH v2 1/2] media: exynos-gsc: fix lockdep warning Date: Tue, 19 Dec 2017 11:18:51 -0700 Message-Id: X-Mailer: git-send-email 2.14.1 In-Reply-To: References: Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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: [] gsc_m2m_mmap+0x24/0x5c [exynos_gsc] [ 1991.009108] but task is already holding lock: [ 1991.014913] (&mm->mmap_sem){++++}, at: [] 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: [] 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] [] (unwind_backtrace) from [] (show_stack+0x10/0x14) [ 1991.203393] [] (show_stack) from [] (dump_stack+0x98/0xc4) [ 1991.210586] [] (dump_stack) from [] (print_circular_bug+0x254/0x410) [ 1991.218644] [] (print_circular_bug) from [] (check_prev_add+0x468/0x938) [ 1991.227049] [] (check_prev_add) from [] (__lock_acquire+0x1314/0x14fc) [ 1991.235281] [] (__lock_acquire) from [] (lock_acquire+0x6c/0x88) [ 1991.242993] [] (lock_acquire) from [] (__mutex_lock+0x68/0xa34) [ 1991.250620] [] (__mutex_lock) from [] (mutex_lock_interruptible_nested+0x1c/0x24) [ 1991.259812] [] (mutex_lock_interruptible_nested) from [] (gsc_m2m_mmap+0x24/0x5c [exynos_gsc]) [ 1991.270159] [] (gsc_m2m_mmap [exynos_gsc]) from [] (v4l2_mmap+0x54/0x88 [videodev]) [ 1991.279510] [] (v4l2_mmap [videodev]) from [] (mmap_region+0x3a8/0x638) [ 1991.287792] [] (mmap_region) from [] (do_mmap+0x330/0x3a4) [ 1991.294986] [] (do_mmap) from [] (vm_mmap_pgoff+0x90/0xb8) [ 1991.302178] [] (vm_mmap_pgoff) from [] (SyS_mmap_pgoff+0x90/0xc0) [ 1991.309977] [] (SyS_mmap_pgoff) from [] (ret_fast_syscall+0x0/0x28) Signed-off-by: Shuah Khan Suggested-by: Hans Verkuil Acked-by: Marek Szyprowski Acked-by: Hans Verkuil --- Somehow this patch never made it in. linux-tv patchwork doesn't show this patch. Resending it with Han's Ack. drivers/media/platform/exynos-gsc/gsc-m2m.c | 5 ----- 1 file changed, 5 deletions(-) diff --git a/drivers/media/platform/exynos-gsc/gsc-m2m.c b/drivers/media/platform/exynos-gsc/gsc-m2m.c index 2a2994e..722d7c4 100644 --- a/drivers/media/platform/exynos-gsc/gsc-m2m.c +++ b/drivers/media/platform/exynos-gsc/gsc-m2m.c @@ -726,14 +726,9 @@ static unsigned int gsc_m2m_poll(struct file *file, static int gsc_m2m_mmap(struct file *file, struct vm_area_struct *vma) { struct gsc_ctx *ctx = fh_to_ctx(file->private_data); - struct gsc_dev *gsc = ctx->gsc_dev; int ret; - if (mutex_lock_interruptible(&gsc->lock)) - return -ERESTARTSYS; - ret = v4l2_m2m_mmap(file, ctx->m2m_ctx, vma); - mutex_unlock(&gsc->lock); return ret; } -- 2.7.4 From 1586258515367903120@xxx Fri Dec 08 23:00:05 +0000 2017 X-GM-THRID: 1581185987804397137 X-Gmail-Labels: Inbox,Category Forums,HistoricalUnread