From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ville =?iso-8859-1?Q?Syrj=E4l=E4?= Subject: Re: [PATCH v2 1/8] drm/i915: Fix unsigned overflow when calculating total data rate Date: Thu, 18 Oct 2018 18:11:24 +0300 Message-ID: <20181018151124.GK9144@intel.com> References: <20181018115134.9061-1-maarten.lankhorst@linux.intel.com> <20181018115134.9061-2-maarten.lankhorst@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga06.intel.com (mga06.intel.com [134.134.136.31]) by gabe.freedesktop.org (Postfix) with ESMTPS id 7AB4188710 for ; Thu, 18 Oct 2018 15:11:31 +0000 (UTC) Content-Disposition: inline In-Reply-To: <20181018115134.9061-2-maarten.lankhorst@linux.intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Maarten Lankhorst Cc: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24gVGh1LCBPY3QgMTgsIDIwMTggYXQgMDE6NTE6MjdQTSArMDIwMCwgTWFhcnRlbiBMYW5raG9y c3Qgd3JvdGU6Cj4gT24gZ2VuMTEsIHdlIGNhbiBkZWZpbml0ZWx5IHNtYXNoIHRoZSAzMi1iaXRz IGJhcnJpZXIgd2l0aCBqdXN0IGEKPiB3aGVuIHdlIGVuYWJsZSBhbGwgcGxhbmVzIGluIHRoZSBu ZXh0IHBhdGNoLgo+IAo+IFNpZ25lZC1vZmYtYnk6IE1hYXJ0ZW4gTGFua2hvcnN0IDxtYWFydGVu Lmxhbmtob3JzdEBsaW51eC5pbnRlbC5jb20+Cj4gLS0tCj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX3BtLmMgfCA0NyArKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tLS0KPiAgMSBm aWxlIGNoYW5nZWQsIDIyIGluc2VydGlvbnMoKyksIDI1IGRlbGV0aW9ucygtKQo+IAo+IGRpZmYg LS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9wbS5jIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfcG0uYwo+IGluZGV4IDY3YTRkMDczNTI5MS4uM2IxMzZmZGZkMjRmIDEwMDY0 NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3BtLmMKPiArKysgYi9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9wbS5jCj4gQEAgLTM3ODQsNyArMzc4NCw3IEBAIGJvb2wgaW50 ZWxfY2FuX2VuYWJsZV9zYWd2KHN0cnVjdCBkcm1fYXRvbWljX3N0YXRlICpzdGF0ZSkKPiAgCj4g IHN0YXRpYyB1MTYgaW50ZWxfZ2V0X2RkYl9zaXplKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpk ZXZfcHJpdiwKPiAgCQkJICAgICAgY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNzdGF0 ZSwKPiAtCQkJICAgICAgY29uc3QgdW5zaWduZWQgaW50IHRvdGFsX2RhdGFfcmF0ZSwKPiArCQkJ ICAgICAgY29uc3QgdTY0IHRvdGFsX2RhdGFfcmF0ZSwKPiAgCQkJICAgICAgY29uc3QgaW50IG51 bV9hY3RpdmUsCj4gIAkJCSAgICAgIHN0cnVjdCBza2xfZGRiX2FsbG9jYXRpb24gKmRkYikKPiAg ewo+IEBAIC0zNzk4LDEyICszNzk4LDEyIEBAIHN0YXRpYyB1MTYgaW50ZWxfZ2V0X2RkYl9zaXpl KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKPiAgCQlyZXR1cm4gZGRiX3NpemUg LSA0OyAvKiA0IGJsb2NrcyBmb3IgYnlwYXNzIHBhdGggYWxsb2NhdGlvbiAqLwo+ICAKPiAgCWFk anVzdGVkX21vZGUgPSAmY3N0YXRlLT5iYXNlLmFkanVzdGVkX21vZGU7Cj4gLQl0b3RhbF9kYXRh X2J3ID0gKHU2NCl0b3RhbF9kYXRhX3JhdGUgKiBkcm1fbW9kZV92cmVmcmVzaChhZGp1c3RlZF9t b2RlKTsKPiArCXRvdGFsX2RhdGFfYncgPSB0b3RhbF9kYXRhX3JhdGUgKiBkcm1fbW9kZV92cmVm cmVzaChhZGp1c3RlZF9tb2RlKTsKPiAgCj4gIAkvKgo+ICAJICogMTJHQi9zIGlzIG1heGltdW0g Qlcgc3VwcG9ydGVkIGJ5IHNpbmdsZSBEQnVmIHNsaWNlLgo+ICAJICovCj4gLQlpZiAodG90YWxf ZGF0YV9idyA+PSBHQnBzKDEyKSB8fCBudW1fYWN0aXZlID4gMSkgewo+ICsJaWYgKG51bV9hY3Rp dmUgPiAxIHx8IHRvdGFsX2RhdGFfYncgPj0gR0JwcygxMikpIHsKPiAgCQlkZGItPmVuYWJsZWRf c2xpY2VzID0gMjsKPiAgCX0gZWxzZSB7Cj4gIAkJZGRiLT5lbmFibGVkX3NsaWNlcyA9IDE7Cj4g QEAgLTM4MTYsNyArMzgxNiw3IEBAIHN0YXRpYyB1MTYgaW50ZWxfZ2V0X2RkYl9zaXplKHN0cnVj dCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKPiAgc3RhdGljIHZvaWQKPiAgc2tsX2RkYl9n ZXRfcGlwZV9hbGxvY2F0aW9uX2xpbWl0cyhzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAo+ICAJCQkJ ICAgY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNzdGF0ZSwKPiAtCQkJCSAgIGNvbnN0 IHVuc2lnbmVkIGludCB0b3RhbF9kYXRhX3JhdGUsCj4gKwkJCQkgICBjb25zdCB1NjQgdG90YWxf ZGF0YV9yYXRlLAo+ICAJCQkJICAgc3RydWN0IHNrbF9kZGJfYWxsb2NhdGlvbiAqZGRiLAo+ICAJ CQkJICAgc3RydWN0IHNrbF9kZGJfZW50cnkgKmFsbG9jLCAvKiBvdXQgKi8KPiAgCQkJCSAgIGlu dCAqbnVtX2FjdGl2ZSAvKiBvdXQgKi8pCj4gQEAgLTQxMzksNyArNDEzOSw3IEBAIGludCBza2xf Y2hlY2tfcGlwZV9tYXhfcGl4ZWxfcmF0ZShzdHJ1Y3QgaW50ZWxfY3J0YyAqaW50ZWxfY3J0YywK PiAgCXJldHVybiAwOwo+ICB9Cj4gIAo+IC1zdGF0aWMgdW5zaWduZWQgaW50Cj4gK3N0YXRpYyB1 NjQKPiAgc2tsX3BsYW5lX3JlbGF0aXZlX2RhdGFfcmF0ZShjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0 Y19zdGF0ZSAqY3N0YXRlLAo+ICAJCQkgICAgIGNvbnN0IHN0cnVjdCBkcm1fcGxhbmVfc3RhdGUg KnBzdGF0ZSwKPiAgCQkJICAgICBjb25zdCBpbnQgcGxhbmUpCj4gQEAgLTQxNTEsNiArNDE1MSw3 IEBAIHNrbF9wbGFuZV9yZWxhdGl2ZV9kYXRhX3JhdGUoY29uc3Qgc3RydWN0IGludGVsX2NydGNf c3RhdGUgKmNzdGF0ZSwKPiAgCXN0cnVjdCBkcm1fZnJhbWVidWZmZXIgKmZiOwo+ICAJdTMyIGZv cm1hdDsKPiAgCXVpbnRfZml4ZWRfMTZfMTZfdCBkb3duX3NjYWxlX2Ftb3VudDsKPiArCXU2NCBy YXRlOwo+ICAKPiAgCWlmICghaW50ZWxfcHN0YXRlLT5iYXNlLnZpc2libGUpCj4gIAkJcmV0dXJu IDA7Cj4gQEAgLTQxNzcsMjggKzQxNzgsMjYgQEAgc2tsX3BsYW5lX3JlbGF0aXZlX2RhdGFfcmF0 ZShjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3N0YXRlLAo+ICAJCWhlaWdodCAvPSAy Owo+ICAJfQo+ICAKPiAtCWRhdGFfcmF0ZSA9IHdpZHRoICogaGVpZ2h0ICogZmItPmZvcm1hdC0+ Y3BwW3BsYW5lXTsKPiArCWRhdGFfcmF0ZSA9IHdpZHRoICogaGVpZ2h0Owo+ICAKPiAgCWRvd25f c2NhbGVfYW1vdW50ID0gc2tsX3BsYW5lX2Rvd25zY2FsZV9hbW91bnQoY3N0YXRlLCBpbnRlbF9w c3RhdGUpOwo+ICAKPiAtCXJldHVybiBtdWxfcm91bmRfdXBfdTMyX2ZpeGVkMTYoZGF0YV9yYXRl LCBkb3duX3NjYWxlX2Ftb3VudCk7Cj4gKwlyYXRlID0gbXVsX3JvdW5kX3VwX3UzMl9maXhlZDE2 KGRhdGFfcmF0ZSwgZG93bl9zY2FsZV9hbW91bnQpOwo+ICsKPiArCXJhdGUgKj0gZmItPmZvcm1h dC0+Y3BwW3BsYW5lXTsKPiArCXJldHVybiByYXRlOwo+ICB9Cj4gIAo+IC0vKgo+IC0gKiBXZSBk b24ndCBvdmVyZmxvdyAzMiBiaXRzLiBXb3JzdCBjYXNlIGlzIDMgcGxhbmVzIGVuYWJsZWQsIGVh Y2ggZmV0Y2hpbmcKPiAtICogYSA4MTkyeDQwOTZAMzJicHAgZnJhbWVidWZmZXI6Cj4gLSAqICAg MyAqIDQwOTYgKiA4MTkyICAqIDQgPCAyXjMyCj4gLSAqLwo+IC1zdGF0aWMgdW5zaWduZWQgaW50 Cj4gK3N0YXRpYyB1NjQKPiAgc2tsX2dldF90b3RhbF9yZWxhdGl2ZV9kYXRhX3JhdGUoc3RydWN0 IGludGVsX2NydGNfc3RhdGUgKmludGVsX2NzdGF0ZSwKPiAtCQkJCSB1bnNpZ25lZCBpbnQgKnBs YW5lX2RhdGFfcmF0ZSwKPiAtCQkJCSB1bnNpZ25lZCBpbnQgKnV2X3BsYW5lX2RhdGFfcmF0ZSkK PiArCQkJCSB1NjQgKnBsYW5lX2RhdGFfcmF0ZSwKPiArCQkJCSB1NjQgKnV2X3BsYW5lX2RhdGFf cmF0ZSkKPiAgewo+ICAJc3RydWN0IGRybV9jcnRjX3N0YXRlICpjc3RhdGUgPSAmaW50ZWxfY3N0 YXRlLT5iYXNlOwo+ICAJc3RydWN0IGRybV9hdG9taWNfc3RhdGUgKnN0YXRlID0gY3N0YXRlLT5z dGF0ZTsKPiAgCXN0cnVjdCBkcm1fcGxhbmUgKnBsYW5lOwo+ICAJY29uc3Qgc3RydWN0IGRybV9w bGFuZV9zdGF0ZSAqcHN0YXRlOwo+IC0JdW5zaWduZWQgaW50IHRvdGFsX2RhdGFfcmF0ZSA9IDA7 Cj4gKwl1NjQgdG90YWxfZGF0YV9yYXRlID0gMDsKPiAgCj4gIAlpZiAoV0FSTl9PTighc3RhdGUp KQo+ICAJCXJldHVybiAwOwo+IEBAIC00MjA2LDcgKzQyMDUsNyBAQCBza2xfZ2V0X3RvdGFsX3Jl bGF0aXZlX2RhdGFfcmF0ZShzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqaW50ZWxfY3N0YXRlLAo+ ICAJLyogQ2FsY3VsYXRlIGFuZCBjYWNoZSBkYXRhIHJhdGUgZm9yIGVhY2ggcGxhbmUgKi8KPiAg CWRybV9hdG9taWNfY3J0Y19zdGF0ZV9mb3JfZWFjaF9wbGFuZV9zdGF0ZShwbGFuZSwgcHN0YXRl LCBjc3RhdGUpIHsKPiAgCQllbnVtIHBsYW5lX2lkIHBsYW5lX2lkID0gdG9faW50ZWxfcGxhbmUo cGxhbmUpLT5pZDsKPiAtCQl1bnNpZ25lZCBpbnQgcmF0ZTsKPiArCQl1NjQgcmF0ZTsKPiAgCj4g IAkJLyogcGFja2VkL3kgKi8KPiAgCQlyYXRlID0gc2tsX3BsYW5lX3JlbGF0aXZlX2RhdGFfcmF0 ZShpbnRlbF9jc3RhdGUsCj4gQEAgLTQzMjUsMTEgKzQzMjQsMTEgQEAgc2tsX2FsbG9jYXRlX3Bp cGVfZGRiKHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjc3RhdGUsCj4gIAl1aW50MTZfdCBhbGxv Y19zaXplLCBzdGFydDsKPiAgCXVpbnQxNl90IG1pbmltdW1bSTkxNV9NQVhfUExBTkVTXSA9IHt9 Owo+ICAJdWludDE2X3QgdXZfbWluaW11bVtJOTE1X01BWF9QTEFORVNdID0ge307Cj4gLQl1bnNp Z25lZCBpbnQgdG90YWxfZGF0YV9yYXRlOwo+ICsJdTY0IHRvdGFsX2RhdGFfcmF0ZTsKPiAgCWVu dW0gcGxhbmVfaWQgcGxhbmVfaWQ7Cj4gIAlpbnQgbnVtX2FjdGl2ZTsKPiAtCXVuc2lnbmVkIGlu dCBwbGFuZV9kYXRhX3JhdGVbSTkxNV9NQVhfUExBTkVTXSA9IHt9Owo+IC0JdW5zaWduZWQgaW50 IHV2X3BsYW5lX2RhdGFfcmF0ZVtJOTE1X01BWF9QTEFORVNdID0ge307Cj4gKwl1NjQgcGxhbmVf ZGF0YV9yYXRlW0k5MTVfTUFYX1BMQU5FU10gPSB7fTsKPiArCXU2NCB1dl9wbGFuZV9kYXRhX3Jh dGVbSTkxNV9NQVhfUExBTkVTXSA9IHt9Owo+ICAJdWludDE2X3QgdG90YWxfbWluX2Jsb2NrcyA9 IDA7Cj4gIAo+ICAJLyogQ2xlYXIgdGhlIHBhcnRpdGlvbmluZyBmb3IgZGlzYWJsZWQgcGxhbmVz LiAqLwo+IEBAIC00Mzg4LDcgKzQzODcsNyBAQCBza2xfYWxsb2NhdGVfcGlwZV9kZGIoc3RydWN0 IGludGVsX2NydGNfc3RhdGUgKmNzdGF0ZSwKPiAgCj4gIAlzdGFydCA9IGFsbG9jLT5zdGFydDsK PiAgCWZvcl9lYWNoX3BsYW5lX2lkX29uX2NydGMoaW50ZWxfY3J0YywgcGxhbmVfaWQpIHsKPiAt CQl1bnNpZ25lZCBpbnQgZGF0YV9yYXRlLCB1dl9kYXRhX3JhdGU7Cj4gKwkJdTY0IGRhdGFfcmF0 ZSwgdXZfZGF0YV9yYXRlOwo+ICAJCXVpbnQxNl90IHBsYW5lX2Jsb2NrcywgdXZfcGxhbmVfYmxv Y2tzOwo+ICAKPiAgCQlpZiAocGxhbmVfaWQgPT0gUExBTkVfQ1VSU09SKQo+IEBAIC00NDAyLDgg KzQ0MDEsNyBAQCBza2xfYWxsb2NhdGVfcGlwZV9kZGIoc3RydWN0IGludGVsX2NydGNfc3RhdGUg KmNzdGF0ZSwKPiAgCQkgKiByZXN1bHQgaXMgPCBhdmFpbGFibGUgYXMgZGF0YV9yYXRlIC8gdG90 YWxfZGF0YV9yYXRlIDwgMQo+ICAJCSAqLwo+ICAJCXBsYW5lX2Jsb2NrcyA9IG1pbmltdW1bcGxh bmVfaWRdOwo+IC0JCXBsYW5lX2Jsb2NrcyArPSBkaXZfdTY0KCh1aW50NjRfdClhbGxvY19zaXpl ICogZGF0YV9yYXRlLAo+IC0JCQkJCXRvdGFsX2RhdGFfcmF0ZSk7Cj4gKwkJcGxhbmVfYmxvY2tz ICs9IGFsbG9jX3NpemUgKiBkYXRhX3JhdGUgLyB0b3RhbF9kYXRhX3JhdGU7CgpJIGZhaWxlZCB0 byBzcG90IHRoZSByYXcgNjRiaXQgZGl2aXNpb25zIGhlcmUuIEZvcnR1bmF0ZWx5IENJIGNhdWdo dAp0aGVtICh5YXkpLiBOZWVkIHRvIGJlIGZpeGVkLgoKPiAgCj4gIAkJLyogTGVhdmUgZGlzYWJs ZWQgcGxhbmVzIGF0ICgwLDApICovCj4gIAkJaWYgKGRhdGFfcmF0ZSkgewo+IEBAIC00NDE3LDgg KzQ0MTUsNyBAQCBza2xfYWxsb2NhdGVfcGlwZV9kZGIoc3RydWN0IGludGVsX2NydGNfc3RhdGUg KmNzdGF0ZSwKPiAgCQl1dl9kYXRhX3JhdGUgPSB1dl9wbGFuZV9kYXRhX3JhdGVbcGxhbmVfaWRd Owo+ICAKPiAgCQl1dl9wbGFuZV9ibG9ja3MgPSB1dl9taW5pbXVtW3BsYW5lX2lkXTsKPiAtCQl1 dl9wbGFuZV9ibG9ja3MgKz0gZGl2X3U2NCgodWludDY0X3QpYWxsb2Nfc2l6ZSAqIHV2X2RhdGFf cmF0ZSwKPiAtCQkJCQkgICB0b3RhbF9kYXRhX3JhdGUpOwo+ICsJCXV2X3BsYW5lX2Jsb2NrcyAr PSBhbGxvY19zaXplICogdXZfZGF0YV9yYXRlIC8gdG90YWxfZGF0YV9yYXRlOwo+ICAKPiAgCQlp ZiAodXZfZGF0YV9yYXRlKSB7Cj4gIAkJCWRkYi0+dXZfcGxhbmVbcGlwZV1bcGxhbmVfaWRdLnN0 YXJ0ID0gc3RhcnQ7Cj4gLS0gCj4gMi4xOS4xCj4gCj4gX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX18KPiBJbnRlbC1nZnggbWFpbGluZyBsaXN0Cj4gSW50ZWwt Z2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwo+IGh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3Jn L21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4CgotLSAKVmlsbGUgU3lyasOkbMOkCkludGVsCl9f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBt YWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3Rz LmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=