From mboxrd@z Thu Jan 1 00:00:00 1970 From: Thierry Reding Subject: Re: [PATCH 1/2] drm/tegra: don't take dev->struct_mutex in mmap offset ioctl Date: Mon, 10 Aug 2015 12:30:21 +0200 Message-ID: <20150810103019.GA1262@ulmo.nvidia.com> References: <1436477570-4936-1-git-send-email-daniel.vetter@ffwll.ch> <1436967532-13251-1-git-send-email-daniel.vetter@ffwll.ch> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="===============1309273054==" Return-path: In-Reply-To: <1436967532-13251-1-git-send-email-daniel.vetter@ffwll.ch> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Daniel Vetter Cc: Daniel Vetter , Intel Graphics Development , DRI Development List-Id: dri-devel@lists.freedesktop.org --===============1309273054== Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="uAKRQypu60I7Lcqm" Content-Disposition: inline --uAKRQypu60I7Lcqm Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Wed, Jul 15, 2015 at 03:38:51PM +0200, Daniel Vetter wrote: > Since David Herrmann's mmap vma manager rework we don't need to grab > dev->struct_mutex any more to prevent races when looking up the mmap > offset. Drop it and instead don't forget to use the unref_unlocked > variant (since the drm core still cares). >=20 > While at it also fix a leak when this ioctl is called on an imported > buffer. I don't see where the leak's fixed, but other than that this looks good to me. Shall I pick this up into the drm/tegra tree? Thierry > Cc: Thierry Reding > Signed-off-by: Daniel Vetter > --- > drivers/gpu/drm/tegra/gem.c | 5 ----- > 1 file changed, 5 deletions(-) >=20 > diff --git a/drivers/gpu/drm/tegra/gem.c b/drivers/gpu/drm/tegra/gem.c > index 01e16e146bfe..827838e64d6e 100644 > --- a/drivers/gpu/drm/tegra/gem.c > +++ b/drivers/gpu/drm/tegra/gem.c > @@ -408,12 +408,9 @@ int tegra_bo_dumb_map_offset(struct drm_file *file, = struct drm_device *drm, > struct drm_gem_object *gem; > struct tegra_bo *bo; > =20 > - mutex_lock(&drm->struct_mutex); > - > gem =3D drm_gem_object_lookup(drm, file, handle); > if (!gem) { > dev_err(drm->dev, "failed to lookup GEM object\n"); > - mutex_unlock(&drm->struct_mutex); > return -EINVAL; > } > =20 > @@ -423,8 +420,6 @@ int tegra_bo_dumb_map_offset(struct drm_file *file, s= truct drm_device *drm, > =20 > drm_gem_object_unreference(gem); > =20 > - mutex_unlock(&drm->struct_mutex); > - > return 0; > } > =20 > --=20 > 2.1.4 >=20 --uAKRQypu60I7Lcqm Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 iQIcBAABCAAGBQJVyH05AAoJEN0jrNd/PrOhVHYP/0oX9AidlCFIh+IWaMHis+Vd XucdZnwdaB+3w5hq/BV4tPWvTMNbh+1SIT2SY40KjZeqdKh8cD926A5EHJJsdDJJ Icak7Ga+huDBS6M4VvqcmjY+cu5e5bcyNnECY7XnwVwOvnG2ihV9J73MPAEUfi5c Kk2IZy49bJudLCXboCgLRxl3b9YCJK4RAgqIaBCI2KGEbBMqmY9WkmbOVbwiSpR1 KuePQ8pJPEWf7DRL6kmHXQGkifEQ9uykTPRQA7+gNUR+6J+gnK2Olu72YVGBtpu2 XiN637uXMXEwK0n1pNanRtWI26VDdpT8dyagpfJ/p556DC8/iliUPz5Q7bqrUaBH Wsyz5YF/53JPVXxN7zmKkqgSJ+7+iC1SnwYzzqgsaOnz7Yi7yVUNngA73A9ePMqL RSez6qllwD59jqQ8TRwyLROsnPC1+4pDNURXClTV1g7XjoqN9qg4tZikgHTCBur1 jcTF/pWxUV/HceEpeLxV+sjiT4Ccl/yLpFntPaRDDv2dGcs2dGcrBn/2iBJk1pys YkISh418GN7L2A58l/JpBpMUt+IWtY8MTAfwqFY2/r2mHPqoV3Z/ifcvgiPmLA6y v3K6zyIRiz3HgoD7p4egNpaKpc5O1IRTCnrMRF+Mkw/4yZjUfM3wLlBxDZ4kFQqk X4v6Rvh/w9nEtclSSY3P =ddxz -----END PGP SIGNATURE----- --uAKRQypu60I7Lcqm-- --===============1309273054== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: inline X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4 IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHA6Ly9saXN0 cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK --===============1309273054==--