Received: by 2002:a05:7412:3784:b0:e2:908c:2ebd with SMTP id jk4csp51496rdb; Fri, 29 Sep 2023 16:25:46 -0700 (PDT) X-Google-Smtp-Source: AGHT+IHRSpvqS6adL9fStTRsK63CCziEkgjo70zM00aC7g7LTnWnh13FG8zjyek/XyMKpRUVnnFY X-Received: by 2002:a17:90a:6c04:b0:274:9121:382 with SMTP id x4-20020a17090a6c0400b0027491210382mr8475210pjj.22.1696029945639; Fri, 29 Sep 2023 16:25:45 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1696029945; cv=none; d=google.com; s=arc-20160816; b=0Sk8K0veMYHuld0d8AQtZtr2m9GefCQR8f3aYa/U5ktDYQ2BaGwpz7bspZZOyGjK3v 0FWqvuD/2XIRGpj8dI7ZgAZVlVveZ0dGcFNgWj405xKxsYuD8rjz8Zj6bK+39RONJ4rJ nMC5B8JuoN7QHIg/SBPmV3lfFjBpJ3yjOEbp/ceg1dEfOdW7ONsk1pcxuKbhDdP8nA/B 9ofIkHNPZsuetK7oqAZXS84z7X2BaYq7rqxZqjBmYDpBJCOpT4idxKExi2HC/q/oDUA7 Yps8zSiq/q69wkczZcILMt0tJ7WcFSCJrXaRBE2wdwYpxX9sQxQpCSdfsDPOuCvkuBsE JDXg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:references:cms-type:content-transfer-encoding :in-reply-to:from:cc:to:content-language:subject:user-agent :mime-version:date:message-id:dkim-signature:dkim-filter; bh=CQTRN2vo9WK0OShy1SLmkbvDHRVLHte2+59M6kPbZg8=; fh=z6dc14LCIfjyls5/EHrws8gigTUxMkSrPBnDLNwzj1o=; b=QvJH19P/nKQgKDHogNJiyS+ZQ9wFvW6ViXNRDrqGinV6J5O70jAU+9r6xtyC23uQ4X xSdIyovOvTq6eUwk+uDTmMsjpGZqrxL1T0a5G6seR47VyoDUTW00jTbkplkGzBAtGy2H 7uK9LLGUGTPzPFNr4Ai0gJoC97hTL5pRzn9u0rC52cAdMR8vY09+3nxRoNSUGVUDwBqc A4VMTgCDdDhxoCbhxLl130e6zjDPIKHW+cWDPDF4God9K6rMn7gaRhgvbIUCoMphZl+3 CLKXVIJdnoY5WBn1iklyey/ARuNfPEEk4X8oqUdYxNTzcZzFUYwlsCMut6glb3rzNuMJ Ec0w== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@samsung.com header.s=mail20170921 header.b=PA3uuCGb; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.35 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=samsung.com Return-Path: Received: from groat.vger.email (groat.vger.email. [23.128.96.35]) by mx.google.com with ESMTPS id mz13-20020a17090b378d00b0026829a94587si2332821pjb.176.2023.09.29.16.25.45 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 29 Sep 2023 16:25:45 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.35 as permitted sender) client-ip=23.128.96.35; Authentication-Results: mx.google.com; dkim=pass header.i=@samsung.com header.s=mail20170921 header.b=PA3uuCGb; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.35 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=samsung.com Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by groat.vger.email (Postfix) with ESMTP id 80BD9831442B; Fri, 29 Sep 2023 08:44:06 -0700 (PDT) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.10 at groat.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233733AbjI2PnC (ORCPT + 99 others); Fri, 29 Sep 2023 11:43:02 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:40402 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233139AbjI2Pmx (ORCPT ); Fri, 29 Sep 2023 11:42:53 -0400 Received: from mailout2.w1.samsung.com (mailout2.w1.samsung.com [210.118.77.12]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 710B21A8 for ; Fri, 29 Sep 2023 08:42:50 -0700 (PDT) Received: from eucas1p1.samsung.com (unknown [182.198.249.206]) by mailout2.w1.samsung.com (KnoxPortal) with ESMTP id 20230929154246euoutp02475e5b0c8c6180a787e899944e6f18a4~JaPwXHSVn1218112181euoutp02p for ; Fri, 29 Sep 2023 15:42:46 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 mailout2.w1.samsung.com 20230929154246euoutp02475e5b0c8c6180a787e899944e6f18a4~JaPwXHSVn1218112181euoutp02p DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=samsung.com; s=mail20170921; t=1696002166; bh=CQTRN2vo9WK0OShy1SLmkbvDHRVLHte2+59M6kPbZg8=; h=Date:Subject:To:Cc:From:In-Reply-To:References:From; b=PA3uuCGbkheZJ4Kl3Jr2qqkvLhPL5D4JkhRBGX76rVCEBejZ3Spu8FcTi1ph2e/Us PqHPeiSahDx2/5PhjuX1dUQRssH74Ph1/1px7NlMhoQqA1l8wGtT2e2wHsEOsbiraq sAkoc1UKQ02plCBUvsVDNVFNjhbfgFwUX3C2mZVA= Received: from eusmges1new.samsung.com (unknown [203.254.199.242]) by eucas1p1.samsung.com (KnoxPortal) with ESMTP id 20230929154246eucas1p1bdfd26c3f7ecd0f0fb5810012e0d00ea~JaPwPIGdP2198521985eucas1p1E; Fri, 29 Sep 2023 15:42:46 +0000 (GMT) Received: from eucas1p2.samsung.com ( [182.198.249.207]) by eusmges1new.samsung.com (EUCPMTA) with SMTP id CB.80.42423.670F6156; Fri, 29 Sep 2023 16:42:46 +0100 (BST) Received: from eusmtrp2.samsung.com (unknown [182.198.249.139]) by eucas1p2.samsung.com (KnoxPortal) with ESMTPA id 20230929154246eucas1p2ccbc8fc3f916d7edcfe89ce3d50331a6~JaPv0Vp240913609136eucas1p2O; Fri, 29 Sep 2023 15:42:46 +0000 (GMT) Received: from eusmgms1.samsung.com (unknown [182.198.249.179]) by eusmtrp2.samsung.com (KnoxPortal) with ESMTP id 20230929154246eusmtrp2e2dc508523525d475ba0e8ef0d94d7d7~JaPvzyUOd0408104081eusmtrp2T; Fri, 29 Sep 2023 15:42:46 +0000 (GMT) X-AuditID: cbfec7f2-a3bff7000002a5b7-f4-6516f0767169 Received: from eusmtip1.samsung.com ( [203.254.199.221]) by eusmgms1.samsung.com (EUCPMTA) with SMTP id 9C.02.10549.570F6156; Fri, 29 Sep 2023 16:42:45 +0100 (BST) Received: from [106.210.134.192] (unknown [106.210.134.192]) by eusmtip1.samsung.com (KnoxPortal) with ESMTPA id 20230929154245eusmtip16e01c544e29d470035523d841b766e6e~JaPvWsuVU0372603726eusmtip10; Fri, 29 Sep 2023 15:42:45 +0000 (GMT) Message-ID: <07cfbe4d-35e9-b7d2-ca0f-7c38eac2e4e6@samsung.com> Date: Fri, 29 Sep 2023 17:42:45 +0200 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Thunderbird/102.15.1 Subject: Re: [PATCH] media: s5p-mfc: Fix potential deadlock on condlock Content-Language: en-US To: Chengfeng Ye , andrzej.hajda@intel.com, mchehab@kernel.org Cc: linux-arm-kernel@lists.infradead.org, linux-media@vger.kernel.org, linux-kernel@vger.kernel.org From: Marek Szyprowski In-Reply-To: <20230926105330.10281-1-dg573847474@gmail.com> Content-Transfer-Encoding: 7bit X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFprBKsWRmVeSWpSXmKPExsWy7djP87plH8RSDZY8FbO4v/gzi8WSu1vY LTY9vsZqcXnXHDaLng1bWS2WbfrD5MDmsXPWXXaPxXteMnlsWtXJ5rF5Sb3H501yAaxRXDYp qTmZZalF+nYJXBnH/s5gKmjmq1j/eipLA+Ml7i5GTg4JAROJ/qVrWLoYuTiEBFYwSpzcMQPK +cIosXPlTkYI5zOjxIKH+5hgWjafXMYMkVjOKHHx7i0mCOcjo8TymXuYQap4BewkTn86yA5i swioShz5soYRIi4ocXLmExYQW1QgVaL5zXmwGmEBd4mm/h6wXmYBcYlbT+YDDeXgEBEIlziw 3R8inCrx5O0iNhCbTcBQouttF5jNKWAtsenlOahWeYntb+eAHSchcIFD4t2LL4wQV7tIHH/T wAphC0u8Or6FHcKWkfi/cz4TREM70Ju/70M5ExglGp7fguq2lrhz7hcbyEXMApoS63fpQ4Qd Ja4dussOEpYQ4JO48VYQ4gg+iUnbpjNDhHklOtqEIKrVJGYdXwe39uCFS8wTGJVmIYXKLCTf z0LyziyEvQsYWVYxiqeWFuempxYb5qWW6xUn5haX5qXrJefnbmIEJp7T/45/2sE499VHvUOM TByMhxglOJiVRHjbLoilCvGmJFZWpRblxxeV5qQWH2KU5mBREufVtj2ZLCSQnliSmp2aWpBa BJNl4uCUamByZLuV6Xib3/nQu25p1fWqauWm8jdMOdSn74qYpHFG3Oz63i1uTF52fxzFn8jL 9/MwNrA/Wp+oarwi23LSW7b6z43hld/37OFk9lecIi349NIH5cUmSwNSzBqZVMyCd65km5Hb Vv5ogpDl8j9bprEFicypfLk4QdYlYOqWP6/KHsqoRigen17K0PxvyTROm3eS5upGSoYRqsds qvb9kgjmmMnNmLxARKrxyIqm8D9yhdWRclf64njtt/f+2DIjLCb2cw1vdUak68IjE2LmL/+3 Y/2SbxLX0wLyl+9yzk0vWMKlfetKxTqP5ZNennoaerDxjfTdKp4Eu4ZTlyvX17uf6PhV98Jq j2bMLmYeHiWW4oxEQy3mouJEAHNKK+CrAwAA X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFlrNIsWRmVeSWpSXmKPExsVy+t/xu7qlH8RSDbrmW1vcX/yZxWLJ3S3s FpseX2O1uLxrDptFz4atrBbLNv1hcmDz2DnrLrvH4j0vmTw2repk89i8pN7j8ya5ANYoPZui /NKSVIWM/OISW6VoQwsjPUNLCz0jE0s9Q2PzWCsjUyV9O5uU1JzMstQifbsEvYxjf2cwFTTz Vax/PZWlgfESdxcjJ4eEgInE5pPLmLsYuTiEBJYySqzc+4oNIiEjcXJaAyuELSzx51oXG0TR e0aJydeamUASvAJ2Eqc/HWQHsVkEVCWOfFnDCBEXlDg58wkLiC0qkCpxetomsLiwgLtEU38P M4jNLCAucevJfLA5IgLhEm/alrBBxFMlZnx8zA6xrI9R4sPUI2CD2AQMJbredoEVcQpYS2x6 eQ5qkJlE19YuRghbXmL72znMExiFZiG5YxaSfbOQtMxC0rKAkWUVo0hqaXFuem6xoV5xYm5x aV66XnJ+7iZGYKxtO/Zz8w7Gea8+6h1iZOJgPMQowcGsJMLbdkEsVYg3JbGyKrUoP76oNCe1 +BCjKTAwJjJLiSbnA6M9ryTe0MzA1NDEzNLA1NLMWEmc17OgI1FIID2xJDU7NbUgtQimj4mD U6qBaUrrZLuf63/zsE57m8vsu93x+7J7t5lWW8wRdy12Yyj47PVkytaw24aSko7xWzmCS6J6 GEIFQn7I7wr+3sYaen1jw+rcgDeyPHZf+P/uf7pca33+NV3fg/ZhcmeqxHtqtHNc1yhyL9Mu O/r0UHlwGOeW2m7h1Z+OaMjdqdM4O6vnOp+//v+9HY9du1QXZ5gbbNn0II/B/s1ylQynNt3a BHvz+QbSF3l/Pbm74faFqAsJpmFRmQ+yVBIt7VnEg0yE68+0TGT3Wan/b4Xv5eMT9W/+mKlr W15y8sS9wA9mPM03RcW7zjJ7+fYbaq5RnO+k8WzLlbvb/xQ/5JkQeO146vpGV3aWXSZ9bgc1 mlcqsRRnJBpqMRcVJwIAoM0kVj4DAAA= X-CMS-MailID: 20230929154246eucas1p2ccbc8fc3f916d7edcfe89ce3d50331a6 X-Msg-Generator: CA Content-Type: text/plain; charset="utf-8" X-RootMTR: 20230926105338eucas1p286ab56d3177817fbb32713228af9f9ba X-EPHeader: CA CMS-TYPE: 201P X-CMS-RootMailID: 20230926105338eucas1p286ab56d3177817fbb32713228af9f9ba References: <20230926105330.10281-1-dg573847474@gmail.com> X-Spam-Status: No, score=-4.1 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,NICE_REPLY_A,SPF_HELO_NONE,SPF_PASS autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on groat.vger.email Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (groat.vger.email [0.0.0.0]); Fri, 29 Sep 2023 08:44:08 -0700 (PDT) On 26.09.2023 12:53, Chengfeng Ye wrote: > As &dev->condlock is acquired under irq context along the following > call chain from s5p_mfc_irq(), other acquisition of the same lock > inside process context or softirq context should disable irq avoid double > lock. enc_post_frame_start() seems to be one such function that execute > under process context or softirq context. > > > > enc_post_frame_start() > --> clear_work_bit() > --> spin_loc(&dev->condlock) > > --> s5p_mfc_irq() > --> s5p_mfc_handle_frame() > --> clear_work_bit() > --> spin_lock(&dev->condlock) > > This flaw was found by an experimental static analysis tool I am > developing for irq-related deadlock. > > To prevent the potential deadlock, the patch change clear_work_bit() > inside enc_post_frame_start() to clear_work_bit_irqsave(). > > Signed-off-by: Chengfeng Ye Acked-by: Marek Szyprowski > --- > drivers/media/platform/samsung/s5p-mfc/s5p_mfc_enc.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/media/platform/samsung/s5p-mfc/s5p_mfc_enc.c b/drivers/media/platform/samsung/s5p-mfc/s5p_mfc_enc.c > index f62703cebb77..4b4c129c09e7 100644 > --- a/drivers/media/platform/samsung/s5p-mfc/s5p_mfc_enc.c > +++ b/drivers/media/platform/samsung/s5p-mfc/s5p_mfc_enc.c > @@ -1297,7 +1297,7 @@ static int enc_post_frame_start(struct s5p_mfc_ctx *ctx) > if (ctx->state == MFCINST_FINISHING && ctx->ref_queue_cnt == 0) > src_ready = false; > if (!src_ready || ctx->dst_queue_cnt == 0) > - clear_work_bit(ctx); > + clear_work_bit_irqsave(ctx); > > return 0; > } Best regards -- Marek Szyprowski, PhD Samsung R&D Institute Poland