From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753974AbdLIACT (ORCPT ); Fri, 8 Dec 2017 19:02:19 -0500 Received: from tartarus.angband.pl ([89.206.35.136]:33328 "EHLO tartarus.angband.pl" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753453AbdLIACM (ORCPT ); Fri, 8 Dec 2017 19:02:12 -0500 Date: Sat, 9 Dec 2017 01:01:57 +0100 From: Adam Borowski To: Ard Biesheuvel Cc: bskeggs@redhat.com, airlied@linux.ie, dri-devel@lists.freedesktop.org, nouveau@lists.freedesktop.org, linux-kernel@vger.kernel.org, daniel.thompson@linaro.org, masami.hiramatsu@linaro.org Subject: Re: [PATCH] drm/nouveau/imem/nv50: fix incorrect use of refcount API Message-ID: <20171209000157.vxqxzcx6gzy7cv2q@angband.pl> References: <20171208183034.9027-1-ard.biesheuvel@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20171208183034.9027-1-ard.biesheuvel@linaro.org> X-Junkbait: aaron@angband.pl, zzyx@angband.pl User-Agent: NeoMutt/20170113 (1.7.2) X-SA-Exim-Connect-IP: X-SA-Exim-Mail-From: kilobyte@angband.pl X-SA-Exim-Scanned: No (on tartarus.angband.pl); SAEximRunCond expanded to false Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Fri, Dec 08, 2017 at 06:30:34PM +0000, Ard Biesheuvel wrote: > Commit be55287aa5b ("drm/nouveau/imem/nv50: embed nvkm_instobj directly > into nv04_instobj") introduced some new calls to the refcount api to > the nv50 mapping code. In one particular instance, it does the > following: > > if (!refcount_inc_not_zero(&iobj->maps)) { > ... > refcount_inc(&iobj->maps); > } > > i.e., it calls refcount_inc() to increment the refcount when it is known > to be zero, which is explicitly forbidden by the API. Instead, use > refcount_set() to set it to 1. > > Signed-off-by: Ard Biesheuvel > --- Awesome! Works for me. > Apologies if this was already found and fixed. I don't usually follow > the DRM or nouveau mailing lists. I see nothing relevant in dri-devel and nouveau archives, except my complaint (GTX 560 Ti (GF114)): https://lists.freedesktop.org/archives/nouveau/2017-December/029264.html and Richard Narron seconding it (MSI GeForce 210): https://lists.freedesktop.org/archives/nouveau/2017-December/029276.html > drivers/gpu/drm/nouveau/nvkm/subdev/instmem/nv50.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/gpu/drm/nouveau/nvkm/subdev/instmem/nv50.c b/drivers/gpu/drm/nouveau/nvkm/subdev/instmem/nv50.c > index 1ba7289684aa..db48a1daca0c 100644 > --- a/drivers/gpu/drm/nouveau/nvkm/subdev/instmem/nv50.c > +++ b/drivers/gpu/drm/nouveau/nvkm/subdev/instmem/nv50.c > @@ -249,7 +249,7 @@ nv50_instobj_acquire(struct nvkm_memory *memory) > iobj->base.memory.ptrs = &nv50_instobj_fast; > else > iobj->base.memory.ptrs = &nv50_instobj_slow; > - refcount_inc(&iobj->maps); > + refcount_set(&iobj->maps, 1); > } > > mutex_unlock(&imem->subdev.mutex); > -- I'm just a dumb user here, my tags don't carry a weight, but Tested-by:. Meow! -- // If you believe in so-called "intellectual property", please immediately // cease using counterfeit alphabets. Instead, contact the nearest temple // of Amon, whose priests will provide you with scribal services for all // your writing needs, for Reasonable And Non-Discriminatory prices. From mboxrd@z Thu Jan 1 00:00:00 1970 From: Adam Borowski Subject: Re: [PATCH] drm/nouveau/imem/nv50: fix incorrect use of refcount API Date: Sat, 9 Dec 2017 01:01:57 +0100 Message-ID: <20171209000157.vxqxzcx6gzy7cv2q@angband.pl> References: <20171208183034.9027-1-ard.biesheuvel@linaro.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Content-Disposition: inline In-Reply-To: <20171208183034.9027-1-ard.biesheuvel-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: nouveau-bounces-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Sender: "Nouveau" To: Ard Biesheuvel Cc: daniel.thompson-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org, masami.hiramatsu-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org, airlied-cv59FeDIM0c@public.gmane.org, nouveau-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org, linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org, bskeggs-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org List-Id: nouveau.vger.kernel.org T24gRnJpLCBEZWMgMDgsIDIwMTcgYXQgMDY6MzA6MzRQTSArMDAwMCwgQXJkIEJpZXNoZXV2ZWwg d3JvdGU6Cj4gQ29tbWl0IGJlNTUyODdhYTViICgiZHJtL25vdXZlYXUvaW1lbS9udjUwOiBlbWJl ZCBudmttX2luc3RvYmogZGlyZWN0bHkKPiBpbnRvIG52MDRfaW5zdG9iaiIpIGludHJvZHVjZWQg c29tZSBuZXcgY2FsbHMgdG8gdGhlIHJlZmNvdW50IGFwaSB0bwo+IHRoZSBudjUwIG1hcHBpbmcg Y29kZS4gSW4gb25lIHBhcnRpY3VsYXIgaW5zdGFuY2UsIGl0IGRvZXMgdGhlCj4gZm9sbG93aW5n Ogo+IAo+ICAgICBpZiAoIXJlZmNvdW50X2luY19ub3RfemVybygmaW9iai0+bWFwcykpIHsKPiAg ICAgICAgICAgICAuLi4KPiAgICAgICAgICAgICByZWZjb3VudF9pbmMoJmlvYmotPm1hcHMpOwo+ ICAgICB9Cj4gCj4gaS5lLiwgaXQgY2FsbHMgcmVmY291bnRfaW5jKCkgdG8gaW5jcmVtZW50IHRo ZSByZWZjb3VudCB3aGVuIGl0IGlzIGtub3duCj4gdG8gYmUgemVybywgd2hpY2ggaXMgZXhwbGlj aXRseSBmb3JiaWRkZW4gYnkgdGhlIEFQSS4gSW5zdGVhZCwgdXNlCj4gcmVmY291bnRfc2V0KCkg dG8gc2V0IGl0IHRvIDEuCj4gCj4gU2lnbmVkLW9mZi1ieTogQXJkIEJpZXNoZXV2ZWwgPGFyZC5i aWVzaGV1dmVsQGxpbmFyby5vcmc+Cj4gLS0tCgpBd2Vzb21lISAgV29ya3MgZm9yIG1lLgoKPiBB cG9sb2dpZXMgaWYgdGhpcyB3YXMgYWxyZWFkeSBmb3VuZCBhbmQgZml4ZWQuIEkgZG9uJ3QgdXN1 YWxseSBmb2xsb3cKPiB0aGUgRFJNIG9yIG5vdXZlYXUgbWFpbGluZyBsaXN0cy4KCkkgc2VlIG5v dGhpbmcgcmVsZXZhbnQgaW4gZHJpLWRldmVsIGFuZCBub3V2ZWF1IGFyY2hpdmVzLCBleGNlcHQg bXkKY29tcGxhaW50IChHVFggNTYwIFRpIChHRjExNCkpOgpodHRwczovL2xpc3RzLmZyZWVkZXNr dG9wLm9yZy9hcmNoaXZlcy9ub3V2ZWF1LzIwMTctRGVjZW1iZXIvMDI5MjY0Lmh0bWwKYW5kIFJp Y2hhcmQgTmFycm9uIHNlY29uZGluZyBpdCAoTVNJIEdlRm9yY2UgMjEwKToKaHR0cHM6Ly9saXN0 cy5mcmVlZGVza3RvcC5vcmcvYXJjaGl2ZXMvbm91dmVhdS8yMDE3LURlY2VtYmVyLzAyOTI3Ni5o dG1sCgo+ICBkcml2ZXJzL2dwdS9kcm0vbm91dmVhdS9udmttL3N1YmRldi9pbnN0bWVtL252NTAu YyB8IDIgKy0KPiAgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0p Cj4gCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9ub3V2ZWF1L252a20vc3ViZGV2L2lu c3RtZW0vbnY1MC5jIGIvZHJpdmVycy9ncHUvZHJtL25vdXZlYXUvbnZrbS9zdWJkZXYvaW5zdG1l bS9udjUwLmMKPiBpbmRleCAxYmE3Mjg5Njg0YWEuLmRiNDhhMWRhY2EwYyAxMDA2NDQKPiAtLS0g YS9kcml2ZXJzL2dwdS9kcm0vbm91dmVhdS9udmttL3N1YmRldi9pbnN0bWVtL252NTAuYwo+ICsr KyBiL2RyaXZlcnMvZ3B1L2RybS9ub3V2ZWF1L252a20vc3ViZGV2L2luc3RtZW0vbnY1MC5jCj4g QEAgLTI0OSw3ICsyNDksNyBAQCBudjUwX2luc3RvYmpfYWNxdWlyZShzdHJ1Y3QgbnZrbV9tZW1v cnkgKm1lbW9yeSkKPiAgCQkJaW9iai0+YmFzZS5tZW1vcnkucHRycyA9ICZudjUwX2luc3RvYmpf ZmFzdDsKPiAgCQllbHNlCj4gIAkJCWlvYmotPmJhc2UubWVtb3J5LnB0cnMgPSAmbnY1MF9pbnN0 b2JqX3Nsb3c7Cj4gLQkJcmVmY291bnRfaW5jKCZpb2JqLT5tYXBzKTsKPiArCQlyZWZjb3VudF9z ZXQoJmlvYmotPm1hcHMsIDEpOwo+ICAJfQo+ICAKPiAgCW11dGV4X3VubG9jaygmaW1lbS0+c3Vi ZGV2Lm11dGV4KTsKPiAtLSAKCkknbSBqdXN0IGEgZHVtYiB1c2VyIGhlcmUsIG15IHRhZ3MgZG9u J3QgY2FycnkgYSB3ZWlnaHQsIGJ1dCBUZXN0ZWQtYnk6LgoKCk1lb3chCi0tIAovLyBJZiB5b3Ug YmVsaWV2ZSBpbiBzby1jYWxsZWQgImludGVsbGVjdHVhbCBwcm9wZXJ0eSIsIHBsZWFzZSBpbW1l ZGlhdGVseQovLyBjZWFzZSB1c2luZyBjb3VudGVyZmVpdCBhbHBoYWJldHMuICBJbnN0ZWFkLCBj b250YWN0IHRoZSBuZWFyZXN0IHRlbXBsZQovLyBvZiBBbW9uLCB3aG9zZSBwcmllc3RzIHdpbGwg cHJvdmlkZSB5b3Ugd2l0aCBzY3JpYmFsIHNlcnZpY2VzIGZvciBhbGwKLy8geW91ciB3cml0aW5n IG5lZWRzLCBmb3IgUmVhc29uYWJsZSBBbmQgTm9uLURpc2NyaW1pbmF0b3J5IHByaWNlcy4KX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KTm91dmVhdSBtYWls aW5nIGxpc3QKTm91dmVhdUBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVl ZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9ub3V2ZWF1Cg==