From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Vetter Date: Mon, 07 Jan 2019 10:00:49 +0000 Subject: Re: [PATCH] drm/etnaviv: fix some off by one bugs Message-Id: <20190107100049.GX21184@phenom.ffwll.local> List-Id: References: <20180713145631.qxd3pzk72v4bshii@kili.mountain> <20181221202406.GF2240@kadam> <1546850520.3580.1.camel@pengutronix.de> In-Reply-To: <1546850520.3580.1.camel@pengutronix.de> MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable To: Lucas Stach Cc: David Airlie , kernel-janitors@vger.kernel.org, The etnaviv authors , dri-devel , Russell King , Dan Carpenter On Mon, Jan 07, 2019 at 09:42:00AM +0100, Lucas Stach wrote: > Hi Daniel, >=20 > Am Montag, den 24.12.2018, 10:32 +0100 schrieb Daniel Vetter: > > On Fri, Dec 21, 2018 at 9:24 PM Dan Carpenter > om> wrote: > > >=20 > > > I don't think anyone responded to this one? > >=20 > > Maybe time to move etnaviv into drm-misc so that there's a notch more > > redundancy in maintainers? Lucas, Christian, others? >=20 > Sorry, but no thanks. The current model guarantees that we have at > least some testing of the patches flowing through the etnaviv tree with > realworld use-cases. We certainly don't have the resources to track a > rapidly changing target like drm-misc with our testing. Not following here exactly, whether you do your own tree or reuse some existing infrastructure, upstream moves as fast as it does no matter how things work. And you can still do all the usual testing before pushing. And I just brought this up because the separate tree also doesn't seem to be entirely perfectly managed either. You wouldn't get me nagging if the etnaviv pull wouldn't have raised questions :-) -Daniel > Regards, > Lucas >=20 > > -Daniel > >=20 > > >=20 > > > regards, > > > dan carpenter > > >=20 > > > On Fri, Jul 13, 2018 at 06:00:18PM +0300, Dan Carpenter wrote: > > > > The ->nr_signal is the supposed to be the number of elements in > > > > the > > > > ->signal array.=A0=A0There was one place where it was 5 but it was > > > > supposed > > > > to be 4.=A0=A0That looks like a copy and paste bug.=A0=A0There were= also > > > > two > > > > checks that were off by one. > > > >=20 > > > > Fixes: 9e2c2e273012 ("drm/etnaviv: add infrastructure to query > > > > perf counter") > > > > Signed-off-by: Dan Carpenter > > > > --- > > > > Not tested. > > > >=20 > > > > diff --git a/drivers/gpu/drm/etnaviv/etnaviv_perfmon.c > > > > b/drivers/gpu/drm/etnaviv/etnaviv_perfmon.c > > > > index 9980d81a26e3..4227a4006c34 100644 > > > > --- a/drivers/gpu/drm/etnaviv/etnaviv_perfmon.c > > > > +++ b/drivers/gpu/drm/etnaviv/etnaviv_perfmon.c > > > > @@ -113,7 +113,7 @@ static const struct etnaviv_pm_domain > > > > doms_3d[] =3D { > > > > =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0.name =3D "PE", > > > > =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0.profile_read =3D VIVS_MC= _PROFILE_PE_READ, > > > > =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0.profile_config =3D VIVS_= MC_PROFILE_CONFIG0, > > > > -=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0.nr_signals =3D 5, > > > > +=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0.nr_signals =3D 4, > > > > =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0.signal =3D (const struct= etnaviv_pm_signal[]) { > > > > =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0{ > > > > =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0= =A0=A0=A0=A0=A0=A0=A0=A0"PIXEL_COUNT_KILLED_BY_COLOR_PIPE", > > > > @@ -435,7 +435,7 @@ int etnaviv_pm_query_sig(struct etnaviv_gpu > > > > *gpu, > > > >=20 > > > > =A0=A0=A0=A0=A0=A0dom =3D meta->domains + signal->domain; > > > >=20 > > > > -=A0=A0=A0=A0=A0if (signal->iter > dom->nr_signals) > > > > +=A0=A0=A0=A0=A0if (signal->iter >=3D dom->nr_signals) > > > > =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0return -EINVAL; > > > >=20 > > > > =A0=A0=A0=A0=A0=A0sig =3D &dom->signal[signal->iter]; > > > > @@ -461,7 +461,7 @@ int etnaviv_pm_req_validate(const struct > > > > drm_etnaviv_gem_submit_pmr *r, > > > >=20 > > > > =A0=A0=A0=A0=A0=A0dom =3D meta->domains + r->domain; > > > >=20 > > > > -=A0=A0=A0=A0=A0if (r->signal > dom->nr_signals) > > > > +=A0=A0=A0=A0=A0if (r->signal >=3D dom->nr_signals) > > > > =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0return -EINVAL; > > > >=20 > > > > =A0=A0=A0=A0=A0=A0return 0; > > >=20 > > > _______________________________________________ > > > dri-devel mailing list > > > dri-devel@lists.freedesktop.org > > > https://lists.freedesktop.org/mailman/listinfo/dri-devel > >=20 > >=20 > >=20 --=20 Daniel Vetter Software Engineer, Intel Corporation http://blog.ffwll.ch From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Vetter Subject: Re: [PATCH] drm/etnaviv: fix some off by one bugs Date: Mon, 7 Jan 2019 11:00:49 +0100 Message-ID: <20190107100049.GX21184@phenom.ffwll.local> References: <20180713145631.qxd3pzk72v4bshii@kili.mountain> <20181221202406.GF2240@kadam> <1546850520.3580.1.camel@pengutronix.de> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-ed1-x544.google.com (mail-ed1-x544.google.com [IPv6:2a00:1450:4864:20::544]) by gabe.freedesktop.org (Postfix) with ESMTPS id 06BC96E409 for ; Mon, 7 Jan 2019 10:00:54 +0000 (UTC) Received: by mail-ed1-x544.google.com with SMTP id d39so244351edb.12 for ; Mon, 07 Jan 2019 02:00:53 -0800 (PST) Content-Disposition: inline In-Reply-To: <1546850520.3580.1.camel@pengutronix.de> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Lucas Stach Cc: David Airlie , kernel-janitors@vger.kernel.org, The etnaviv authors , dri-devel , Russell King , Dan Carpenter List-Id: dri-devel@lists.freedesktop.org T24gTW9uLCBKYW4gMDcsIDIwMTkgYXQgMDk6NDI6MDBBTSArMDEwMCwgTHVjYXMgU3RhY2ggd3Jv dGU6Cj4gSGkgRGFuaWVsLAo+IAo+IEFtIE1vbnRhZywgZGVuIDI0LjEyLjIwMTgsIDEwOjMyICsw MTAwIHNjaHJpZWIgRGFuaWVsIFZldHRlcjoKPiA+IE9uIEZyaSwgRGVjIDIxLCAyMDE4IGF0IDk6 MjQgUE0gRGFuIENhcnBlbnRlciA8ZGFuLmNhcnBlbnRlckBvcmFjbGUuYwo+ID4gb20+IHdyb3Rl Ogo+ID4gPiAKPiA+ID4gSSBkb24ndCB0aGluayBhbnlvbmUgcmVzcG9uZGVkIHRvIHRoaXMgb25l Pwo+ID4gCj4gPiBNYXliZSB0aW1lIHRvIG1vdmUgZXRuYXZpdiBpbnRvIGRybS1taXNjIHNvIHRo YXQgdGhlcmUncyBhIG5vdGNoIG1vcmUKPiA+IHJlZHVuZGFuY3kgaW4gbWFpbnRhaW5lcnM/IEx1 Y2FzLCBDaHJpc3RpYW4sIG90aGVycz8KPiAKPiBTb3JyeSwgYnV0IG5vIHRoYW5rcy4gVGhlIGN1 cnJlbnQgbW9kZWwgZ3VhcmFudGVlcyB0aGF0IHdlIGhhdmUgYXQKPiBsZWFzdCBzb21lIHRlc3Rp bmcgb2YgdGhlIHBhdGNoZXMgZmxvd2luZyB0aHJvdWdoIHRoZSBldG5hdml2IHRyZWUgd2l0aAo+ IHJlYWx3b3JsZCB1c2UtY2FzZXMuIFdlIGNlcnRhaW5seSBkb24ndCBoYXZlIHRoZSByZXNvdXJj ZXMgdG8gdHJhY2sgYQo+IHJhcGlkbHkgY2hhbmdpbmcgdGFyZ2V0IGxpa2UgZHJtLW1pc2Mgd2l0 aCBvdXIgdGVzdGluZy4KCk5vdCBmb2xsb3dpbmcgaGVyZSBleGFjdGx5LCB3aGV0aGVyIHlvdSBk byB5b3VyIG93biB0cmVlIG9yIHJldXNlIHNvbWUKZXhpc3RpbmcgaW5mcmFzdHJ1Y3R1cmUsIHVw c3RyZWFtIG1vdmVzIGFzIGZhc3QgYXMgaXQgZG9lcyBubyBtYXR0ZXIgaG93CnRoaW5ncyB3b3Jr LiBBbmQgeW91IGNhbiBzdGlsbCBkbyBhbGwgdGhlIHVzdWFsIHRlc3RpbmcgYmVmb3JlIHB1c2hp bmcuCgpBbmQgSSBqdXN0IGJyb3VnaHQgdGhpcyB1cCBiZWNhdXNlIHRoZSBzZXBhcmF0ZSB0cmVl IGFsc28gZG9lc24ndCBzZWVtIHRvCmJlIGVudGlyZWx5IHBlcmZlY3RseSBtYW5hZ2VkIGVpdGhl ci4gWW91IHdvdWxkbid0IGdldCBtZSBuYWdnaW5nIGlmCnRoZSBldG5hdml2IHB1bGwgd291bGRu J3QgaGF2ZSByYWlzZWQgcXVlc3Rpb25zIDotKQotRGFuaWVsCgo+IFJlZ2FyZHMsCj4gTHVjYXMK PiAKPiA+IC1EYW5pZWwKPiA+IAo+ID4gPiAKPiA+ID4gcmVnYXJkcywKPiA+ID4gZGFuIGNhcnBl bnRlcgo+ID4gPiAKPiA+ID4gT24gRnJpLCBKdWwgMTMsIDIwMTggYXQgMDY6MDA6MThQTSArMDMw MCwgRGFuIENhcnBlbnRlciB3cm90ZToKPiA+ID4gPiBUaGUgLT5ucl9zaWduYWwgaXMgdGhlIHN1 cHBvc2VkIHRvIGJlIHRoZSBudW1iZXIgb2YgZWxlbWVudHMgaW4KPiA+ID4gPiB0aGUKPiA+ID4g PiAtPnNpZ25hbCBhcnJheS7CoMKgVGhlcmUgd2FzIG9uZSBwbGFjZSB3aGVyZSBpdCB3YXMgNSBi dXQgaXQgd2FzCj4gPiA+ID4gc3VwcG9zZWQKPiA+ID4gPiB0byBiZSA0LsKgwqBUaGF0IGxvb2tz IGxpa2UgYSBjb3B5IGFuZCBwYXN0ZSBidWcuwqDCoFRoZXJlIHdlcmUgYWxzbwo+ID4gPiA+IHR3 bwo+ID4gPiA+IGNoZWNrcyB0aGF0IHdlcmUgb2ZmIGJ5IG9uZS4KPiA+ID4gPiAKPiA+ID4gPiBG aXhlczogOWUyYzJlMjczMDEyICgiZHJtL2V0bmF2aXY6IGFkZCBpbmZyYXN0cnVjdHVyZSB0byBx dWVyeQo+ID4gPiA+IHBlcmYgY291bnRlciIpCj4gPiA+ID4gU2lnbmVkLW9mZi1ieTogRGFuIENh cnBlbnRlciA8ZGFuLmNhcnBlbnRlckBvcmFjbGUuY29tPgo+ID4gPiA+IC0tLQo+ID4gPiA+IE5v dCB0ZXN0ZWQuCj4gPiA+ID4gCj4gPiA+ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9l dG5hdml2L2V0bmF2aXZfcGVyZm1vbi5jCj4gPiA+ID4gYi9kcml2ZXJzL2dwdS9kcm0vZXRuYXZp di9ldG5hdml2X3BlcmZtb24uYwo+ID4gPiA+IGluZGV4IDk5ODBkODFhMjZlMy4uNDIyN2E0MDA2 YzM0IDEwMDY0NAo+ID4gPiA+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9ldG5hdml2L2V0bmF2aXZf cGVyZm1vbi5jCj4gPiA+ID4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2V0bmF2aXYvZXRuYXZpdl9w ZXJmbW9uLmMKPiA+ID4gPiBAQCAtMTEzLDcgKzExMyw3IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3Qg ZXRuYXZpdl9wbV9kb21haW4KPiA+ID4gPiBkb21zXzNkW10gPSB7Cj4gPiA+ID4gwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoC5uYW1lID0gIlBFIiwKPiA+ID4gPiDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgLnByb2ZpbGVfcmVhZCA9IFZJVlNfTUNfUFJPRklMRV9QRV9SRUFELAo+ID4g PiA+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAucHJvZmlsZV9jb25maWcgPSBWSVZTX01D X1BST0ZJTEVfQ09ORklHMCwKPiA+ID4gPiAtwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAubnJf c2lnbmFscyA9IDUsCj4gPiA+ID4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgLm5yX3NpZ25h bHMgPSA0LAo+ID4gPiA+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAuc2lnbmFsID0gKGNv bnN0IHN0cnVjdCBldG5hdml2X3BtX3NpZ25hbFtdKSB7Cj4gPiA+ID4gwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqB7Cj4gPiA+ID4gwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIlBJWEVMX0NPVU5UX0tJ TExFRF9CWV9DT0xPUl9QSVBFIiwKPiA+ID4gPiBAQCAtNDM1LDcgKzQzNSw3IEBAIGludCBldG5h dml2X3BtX3F1ZXJ5X3NpZyhzdHJ1Y3QgZXRuYXZpdl9ncHUKPiA+ID4gPiAqZ3B1LAo+ID4gPiA+ IAo+ID4gPiA+IMKgwqDCoMKgwqDCoGRvbSA9IG1ldGEtPmRvbWFpbnMgKyBzaWduYWwtPmRvbWFp bjsKPiA+ID4gPiAKPiA+ID4gPiAtwqDCoMKgwqDCoGlmIChzaWduYWwtPml0ZXIgPiBkb20tPm5y X3NpZ25hbHMpCj4gPiA+ID4gK8KgwqDCoMKgwqBpZiAoc2lnbmFsLT5pdGVyID49IGRvbS0+bnJf c2lnbmFscykKPiA+ID4gPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgcmV0dXJuIC1FSU5W QUw7Cj4gPiA+ID4gCj4gPiA+ID4gwqDCoMKgwqDCoMKgc2lnID0gJmRvbS0+c2lnbmFsW3NpZ25h bC0+aXRlcl07Cj4gPiA+ID4gQEAgLTQ2MSw3ICs0NjEsNyBAQCBpbnQgZXRuYXZpdl9wbV9yZXFf dmFsaWRhdGUoY29uc3Qgc3RydWN0Cj4gPiA+ID4gZHJtX2V0bmF2aXZfZ2VtX3N1Ym1pdF9wbXIg KnIsCj4gPiA+ID4gCj4gPiA+ID4gwqDCoMKgwqDCoMKgZG9tID0gbWV0YS0+ZG9tYWlucyArIHIt PmRvbWFpbjsKPiA+ID4gPiAKPiA+ID4gPiAtwqDCoMKgwqDCoGlmIChyLT5zaWduYWwgPiBkb20t Pm5yX3NpZ25hbHMpCj4gPiA+ID4gK8KgwqDCoMKgwqBpZiAoci0+c2lnbmFsID49IGRvbS0+bnJf c2lnbmFscykKPiA+ID4gPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgcmV0dXJuIC1FSU5W QUw7Cj4gPiA+ID4gCj4gPiA+ID4gwqDCoMKgwqDCoMKgcmV0dXJuIDA7Cj4gPiA+IAo+ID4gPiBf X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwo+ID4gPiBkcmkt ZGV2ZWwgbWFpbGluZyBsaXN0Cj4gPiA+IGRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcK PiA+ID4gaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmkt ZGV2ZWwKPiA+IAo+ID4gCj4gPiAKCi0tIApEYW5pZWwgVmV0dGVyClNvZnR3YXJlIEVuZ2luZWVy LCBJbnRlbCBDb3Jwb3JhdGlvbgpodHRwOi8vYmxvZy5mZndsbC5jaApfX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpkcmktZGV2ZWwgbWFpbGluZyBsaXN0CmRy aS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5v cmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWwK