Received: by 2002:a05:6a10:af89:0:0:0:0 with SMTP id iu9csp5617570pxb; Wed, 26 Jan 2022 16:39:07 -0800 (PST) X-Google-Smtp-Source: ABdhPJzKJ6BSDlEtMiHLicvuimu8l+jwZP9OLyVUls5d2TUzPH22QadwEZKVhIx5Gbo5lcae8C7s X-Received: by 2002:a17:90b:38c6:: with SMTP id nn6mr1523674pjb.111.1643243947464; Wed, 26 Jan 2022 16:39:07 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1643243947; cv=none; d=google.com; s=arc-20160816; b=q73eUbTMKuGm7ATdpcc5BNFbzxUIqnhdnw76YHdBROEvXFh7MmtaXJpUTtHxhCQYmf E+1mEZXe+i0NSt4uMF1Yib0LZSJCLdZmxcAfxBGIfJGN4rszj2UM6+TnPxQp9Ye+O2Qy otp9z5716TJHGB1I0suOfHyMQgoTue0kVYnRCzXjBF7ETK5Vmd+y/lczBLQn0D3q6nc9 fV+FcE4E4E902kBH5rihgWa2U7gE3fD5uMJXPpmPHYZXRqJJPvqxZQBSvWoIWhcNvgxa PAh9dLNkKb4r1BeyxXnWPdl6jZ/zlQaFW3CT7UxhKQt7PfQWU4Ajyz3ayv4royohQ8nF Iwuw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:in-reply-to:content-disposition:mime-version :references:message-id:subject:cc:to:from:date:dkim-signature; bh=0R+6+w1NT8PmkQCoUkTSCylJ5Er3/ZSDMCsR3sthdDw=; b=oJXNj7MJRS3E8jkiWv+CbmYGDvFcGs4TGH1Qvi1MQNZi2QgDnJVaJV6J6f2ujdhKf+ nfFhdEw1AMnl/XM9Jzo6a+Fc3ljtp00nRV7Ai3SL4OFf0ZF+j0aaZEjcCM7v916h4lSB Jyk58oFnFbX510PGaYEquj1PZEHIOYLmfMD2rmqqs20l7EHWUkubt4GXMQGRqwsoIBWD LaECpOmoScAFG+rbj7drKlIycoywl6es8W/FcO+fpl5jT4nMvDkbGNBy2SIACcZzZ25j XBImgQ9A7HXdgS39b9j0FnADzFf5mID3CK76llhwEtwwq7jD/Dy8LdhItNp04iZ94h0n odAQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=fail header.i=@igalia.com header.s=20170329 header.b=HNObPwBW; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id t1si787336pfg.249.2022.01.26.16.38.55; Wed, 26 Jan 2022 16:39:07 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=fail header.i=@igalia.com header.s=20170329 header.b=HNObPwBW; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231560AbiAZU5t (ORCPT + 99 others); Wed, 26 Jan 2022 15:57:49 -0500 Received: from fanzine2.igalia.com ([213.97.179.56]:47192 "EHLO fanzine2.igalia.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231445AbiAZU5r (ORCPT ); Wed, 26 Jan 2022 15:57:47 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=igalia.com; s=20170329; h=In-Reply-To:Content-Type:MIME-Version:References:Message-ID: Subject:Cc:To:From:Date:Sender:Reply-To:Content-Transfer-Encoding:Content-ID: Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc :Resent-Message-ID:List-Id:List-Help:List-Unsubscribe:List-Subscribe: List-Post:List-Owner:List-Archive; bh=0R+6+w1NT8PmkQCoUkTSCylJ5Er3/ZSDMCsR3sthdDw=; b=HNObPwBWW+5TWd+ZeSkeU2UFip ovHIiUWIWKBrBvTCe7xJmRB3KFN607+UP6kavrMEYreWDlIxnlaTJU16vjFY6X9kVeXIWQo5fI60Z qMhgs1DU3iiQXlCoaPF0NaJ/ii0DxGbJb6+meVreAv1kwCf/iptuctcv3KRTiR3cN0s3V1QuREeKu oHFkeCleZs010nBRSYkFhGmz+PuNI4VRejq1FGv98ayXHdMP738s1mDZl51yFEz74jj4dadvo32LY 9a/pwisPC529Dn2D1R2j7F2n9eWZy7NgqpAopYupjklRe9jkFzMqrIylri7VxCiO3RhM2KfD7bSSN L0RvRE9w==; Received: from [165.90.113.117] (helo=mail.igalia.com) by fanzine2.igalia.com with esmtpsa (Cipher TLS1.3:ECDHE_SECP256R1__RSA_PSS_RSAE_SHA256__AES_256_GCM:256) (Exim) id 1nCpML-0003Mr-TD; Wed, 26 Jan 2022 21:57:42 +0100 Date: Wed, 26 Jan 2022 19:57:26 -0100 From: Melissa Wen To: Yongzhi Liu Cc: emma@anholt.net, airlied@linux.ie, daniel@ffwll.ch, linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org Subject: Re: [PATCH] drm/v3d: Add missing unlock Message-ID: <20220126205726.phfikh7kn3lks5ib@mail.igalia.com> References: <1642868787-61384-1-git-send-email-lyz_cs@pku.edu.cn> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha512; protocol="application/pgp-signature"; boundary="qjusil2tsea5ma46" Content-Disposition: inline In-Reply-To: <1642868787-61384-1-git-send-email-lyz_cs@pku.edu.cn> Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org --qjusil2tsea5ma46 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On 01/22, Yongzhi Liu wrote: > [why] > Unlock is needed on the error handling path to prevent dead lock. >=20 > [how] > Fix this by adding drm_gem_unlock_reservations on the error handling path. >=20 > Signed-off-by: Yongzhi Liu > --- > drivers/gpu/drm/v3d/v3d_gem.c | 4 ++++ > 1 file changed, 4 insertions(+) >=20 > diff --git a/drivers/gpu/drm/v3d/v3d_gem.c b/drivers/gpu/drm/v3d/v3d_gem.c > index c7ed2e1..0c989dc 100644 > --- a/drivers/gpu/drm/v3d/v3d_gem.c > +++ b/drivers/gpu/drm/v3d/v3d_gem.c > @@ -798,6 +798,8 @@ v3d_submit_cl_ioctl(struct drm_device *dev, void *dat= a, > =20 > if (!render->base.perfmon) { > ret =3D -ENOENT; > + drm_gem_unlock_reservations(last_job->bo, > + last_job->bo_count, &acquire_ctx); > goto fail; Hi, Nice catch! As unlock is handle in fail_unreserve, I would suggest you to keep the failures handling around there. In that case, the goto will target a place between `fail_unreserve:` and `fail:`, i.e. calls drm_gem_unlock_reservations (and the following cleanings) but don't call mutex_unlock. Thanks, Melissa > } > } > @@ -1027,6 +1029,8 @@ v3d_submit_csd_ioctl(struct drm_device *dev, void *= data, > args->perfmon_id); > if (!job->base.perfmon) { > ret =3D -ENOENT; > + drm_gem_unlock_reservations(clean_job->bo, clean_job->bo_count, > + &acquire_ctx); > goto fail; > } > } > --=20 > 2.7.4 >=20 --qjusil2tsea5ma46 Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQIzBAABCgAdFiEEd8WOo/JViG+Tu+XIwqF3j0dLehwFAmHxtbIACgkQwqF3j0dL ehxmmhAAls6eo7gT76XvCoDqs3iMlPsv655BIOg65UFxTFirde5AiItWnvNwT3e5 Iyf3a1LnRPjvCB+YM793XU14YbVxgGgwQcRjlo00j93bBPAtTGK9ko+nyZnNn4ns OMr+GZpXL9DNFaY9evlgKXlplbOotkDlQbf0TwHjuxyfuyKdLxtwaSs3/EXGsgjP WKAtOBoP5Cdk112rvQg3u4IunKETNcm7a9tzbJU5u7SnwGKBsqPBqB0P+jtkD5ww MZDtxCpoGJAHG8w9sgWainPn7qDtLpPnNUbQVhYtnTeJpyGrCzj/V+mt9lj5WCt+ +f4JkdUhDZrxmTwbwDifM3boUN4tHE89ab5QiQ8xzB+kG1Ui64RvokZT2S6Xk+Yw J+hrYTsd9Ta+kieSVVKuka65qGxsuPcZ2hWFA8sEb4WbCjn6yuke5MVhsouH0SlF +9LjIHLSuAvY5Z/mGY9WnMCYJn71hQoSyKJS8aAkyeE2uGi/hTYyyTMdtUtBSnuQ lWKP8r/TuJFoUudVpzEVJZfStg4vDOO5M1lFnXqvaOUKzqTESfIWhbm2urHqwZnI rPS+Fq8d1w7gcDI28l1EA5cR+P7bf7A536bXb4aP10JL8ZLWEW87hyYAUA/hbcI4 5DPNmTwDzGLhV2gnxGoUI8tMPCLwCcVsPl7nULC5IVY0D3/f7Zc= =1pGY -----END PGP SIGNATURE----- --qjusil2tsea5ma46--