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 17:53:13 +0300 Message-ID: <20181018145313.GJ9144@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 mga09.intel.com (mga09.intel.com [134.134.136.24]) by gabe.freedesktop.org (Postfix) with ESMTPS id 589A3892B9 for ; Thu, 18 Oct 2018 14:53:17 +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+CgpJIGd1ZXNzIHRoZSBwZXItcGxhbmUgZGF0YSBy YXRlIGlzIHN0aWxsIDwzMmJpdCAoYmVjYXVzZSBpdCBkb2Vzbid0CmFjY291bnQgZm9yIHRoZSBy ZWZyZXNoIHJhdGUpLiBCdXQgbWFraW5nIGV2ZXJ5dGhpbmcgNjRiaXQgc2VlbXMgc2FmZXN0LgoK UmV2aWV3ZWQtYnk6IFZpbGxlIFN5cmrDpGzDpCA8dmlsbGUuc3lyamFsYUBsaW51eC5pbnRlbC5j b20+CgpOb3cgd2UgY291bGQgYWxzbyBpbXByb3ZlIHRoZSBwZXItcGxhbmUgZGF0YSByYXRlIHRv IGluY2x1ZGUgdGhlCnJlZnJlc2ggcmF0ZSBhbmQgZ2V0IHJpZCBvZiBpbmFjY3VyYXRlIGRybV9t b2RlX3ZyZWZyZXNoKCkgaW4gdGhlcmUuCgo+IC0tLQo+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9wbS5jIHwgNDcgKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tCj4gIDEgZmls ZSBjaGFuZ2VkLCAyMiBpbnNlcnRpb25zKCspLCAyNSBkZWxldGlvbnMoLSkKPiAKPiBkaWZmIC0t Z2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcG0uYyBiL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX3BtLmMKPiBpbmRleCA2N2E0ZDA3MzUyOTEuLjNiMTM2ZmRmZDI0ZiAxMDA2NDQK PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9wbS5jCj4gKysrIGIvZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfcG0uYwo+IEBAIC0zNzg0LDcgKzM3ODQsNyBAQCBib29sIGludGVs X2Nhbl9lbmFibGVfc2FndihzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqc3RhdGUpCj4gIAo+ICBz dGF0aWMgdTE2IGludGVsX2dldF9kZGJfc2l6ZShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2 X3ByaXYsCj4gIAkJCSAgICAgIGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjc3RhdGUs Cj4gLQkJCSAgICAgIGNvbnN0IHVuc2lnbmVkIGludCB0b3RhbF9kYXRhX3JhdGUsCj4gKwkJCSAg ICAgIGNvbnN0IHU2NCB0b3RhbF9kYXRhX3JhdGUsCj4gIAkJCSAgICAgIGNvbnN0IGludCBudW1f YWN0aXZlLAo+ICAJCQkgICAgICBzdHJ1Y3Qgc2tsX2RkYl9hbGxvY2F0aW9uICpkZGIpCj4gIHsK PiBAQCAtMzc5OCwxMiArMzc5OCwxMiBAQCBzdGF0aWMgdTE2IGludGVsX2dldF9kZGJfc2l6ZShz dHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCj4gIAkJcmV0dXJuIGRkYl9zaXplIC0g NDsgLyogNCBibG9ja3MgZm9yIGJ5cGFzcyBwYXRoIGFsbG9jYXRpb24gKi8KPiAgCj4gIAlhZGp1 c3RlZF9tb2RlID0gJmNzdGF0ZS0+YmFzZS5hZGp1c3RlZF9tb2RlOwo+IC0JdG90YWxfZGF0YV9i dyA9ICh1NjQpdG90YWxfZGF0YV9yYXRlICogZHJtX21vZGVfdnJlZnJlc2goYWRqdXN0ZWRfbW9k ZSk7Cj4gKwl0b3RhbF9kYXRhX2J3ID0gdG90YWxfZGF0YV9yYXRlICogZHJtX21vZGVfdnJlZnJl c2goYWRqdXN0ZWRfbW9kZSk7Cj4gIAo+ICAJLyoKPiAgCSAqIDEyR0IvcyBpcyBtYXhpbXVtIEJX IHN1cHBvcnRlZCBieSBzaW5nbGUgREJ1ZiBzbGljZS4KPiAgCSAqLwo+IC0JaWYgKHRvdGFsX2Rh dGFfYncgPj0gR0JwcygxMikgfHwgbnVtX2FjdGl2ZSA+IDEpIHsKPiArCWlmIChudW1fYWN0aXZl ID4gMSB8fCB0b3RhbF9kYXRhX2J3ID49IEdCcHMoMTIpKSB7Cj4gIAkJZGRiLT5lbmFibGVkX3Ns aWNlcyA9IDI7Cj4gIAl9IGVsc2Ugewo+ICAJCWRkYi0+ZW5hYmxlZF9zbGljZXMgPSAxOwo+IEBA IC0zODE2LDcgKzM4MTYsNyBAQCBzdGF0aWMgdTE2IGludGVsX2dldF9kZGJfc2l6ZShzdHJ1Y3Qg ZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCj4gIHN0YXRpYyB2b2lkCj4gIHNrbF9kZGJfZ2V0 X3BpcGVfYWxsb2NhdGlvbl9saW1pdHMoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKPiAgCQkJCSAg IGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjc3RhdGUsCj4gLQkJCQkgICBjb25zdCB1 bnNpZ25lZCBpbnQgdG90YWxfZGF0YV9yYXRlLAo+ICsJCQkJICAgY29uc3QgdTY0IHRvdGFsX2Rh dGFfcmF0ZSwKPiAgCQkJCSAgIHN0cnVjdCBza2xfZGRiX2FsbG9jYXRpb24gKmRkYiwKPiAgCQkJ CSAgIHN0cnVjdCBza2xfZGRiX2VudHJ5ICphbGxvYywgLyogb3V0ICovCj4gIAkJCQkgICBpbnQg Km51bV9hY3RpdmUgLyogb3V0ICovKQo+IEBAIC00MTM5LDcgKzQxMzksNyBAQCBpbnQgc2tsX2No ZWNrX3BpcGVfbWF4X3BpeGVsX3JhdGUoc3RydWN0IGludGVsX2NydGMgKmludGVsX2NydGMsCj4g IAlyZXR1cm4gMDsKPiAgfQo+ICAKPiAtc3RhdGljIHVuc2lnbmVkIGludAo+ICtzdGF0aWMgdTY0 Cj4gIHNrbF9wbGFuZV9yZWxhdGl2ZV9kYXRhX3JhdGUoY29uc3Qgc3RydWN0IGludGVsX2NydGNf c3RhdGUgKmNzdGF0ZSwKPiAgCQkJICAgICBjb25zdCBzdHJ1Y3QgZHJtX3BsYW5lX3N0YXRlICpw c3RhdGUsCj4gIAkJCSAgICAgY29uc3QgaW50IHBsYW5lKQo+IEBAIC00MTUxLDYgKzQxNTEsNyBA QCBza2xfcGxhbmVfcmVsYXRpdmVfZGF0YV9yYXRlKGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0 YXRlICpjc3RhdGUsCj4gIAlzdHJ1Y3QgZHJtX2ZyYW1lYnVmZmVyICpmYjsKPiAgCXUzMiBmb3Jt YXQ7Cj4gIAl1aW50X2ZpeGVkXzE2XzE2X3QgZG93bl9zY2FsZV9hbW91bnQ7Cj4gKwl1NjQgcmF0 ZTsKPiAgCj4gIAlpZiAoIWludGVsX3BzdGF0ZS0+YmFzZS52aXNpYmxlKQo+ICAJCXJldHVybiAw Owo+IEBAIC00MTc3LDI4ICs0MTc4LDI2IEBAIHNrbF9wbGFuZV9yZWxhdGl2ZV9kYXRhX3JhdGUo Y29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNzdGF0ZSwKPiAgCQloZWlnaHQgLz0gMjsK PiAgCX0KPiAgCj4gLQlkYXRhX3JhdGUgPSB3aWR0aCAqIGhlaWdodCAqIGZiLT5mb3JtYXQtPmNw cFtwbGFuZV07Cj4gKwlkYXRhX3JhdGUgPSB3aWR0aCAqIGhlaWdodDsKPiAgCj4gIAlkb3duX3Nj YWxlX2Ftb3VudCA9IHNrbF9wbGFuZV9kb3duc2NhbGVfYW1vdW50KGNzdGF0ZSwgaW50ZWxfcHN0 YXRlKTsKPiAgCj4gLQlyZXR1cm4gbXVsX3JvdW5kX3VwX3UzMl9maXhlZDE2KGRhdGFfcmF0ZSwg ZG93bl9zY2FsZV9hbW91bnQpOwo+ICsJcmF0ZSA9IG11bF9yb3VuZF91cF91MzJfZml4ZWQxNihk YXRhX3JhdGUsIGRvd25fc2NhbGVfYW1vdW50KTsKPiArCj4gKwlyYXRlICo9IGZiLT5mb3JtYXQt PmNwcFtwbGFuZV07Cj4gKwlyZXR1cm4gcmF0ZTsKPiAgfQo+ICAKPiAtLyoKPiAtICogV2UgZG9u J3Qgb3ZlcmZsb3cgMzIgYml0cy4gV29yc3QgY2FzZSBpcyAzIHBsYW5lcyBlbmFibGVkLCBlYWNo IGZldGNoaW5nCj4gLSAqIGEgODE5Mng0MDk2QDMyYnBwIGZyYW1lYnVmZmVyOgo+IC0gKiAgIDMg KiA0MDk2ICogODE5MiAgKiA0IDwgMl4zMgo+IC0gKi8KPiAtc3RhdGljIHVuc2lnbmVkIGludAo+ ICtzdGF0aWMgdTY0Cj4gIHNrbF9nZXRfdG90YWxfcmVsYXRpdmVfZGF0YV9yYXRlKHN0cnVjdCBp bnRlbF9jcnRjX3N0YXRlICppbnRlbF9jc3RhdGUsCj4gLQkJCQkgdW5zaWduZWQgaW50ICpwbGFu ZV9kYXRhX3JhdGUsCj4gLQkJCQkgdW5zaWduZWQgaW50ICp1dl9wbGFuZV9kYXRhX3JhdGUpCj4g KwkJCQkgdTY0ICpwbGFuZV9kYXRhX3JhdGUsCj4gKwkJCQkgdTY0ICp1dl9wbGFuZV9kYXRhX3Jh dGUpCj4gIHsKPiAgCXN0cnVjdCBkcm1fY3J0Y19zdGF0ZSAqY3N0YXRlID0gJmludGVsX2NzdGF0 ZS0+YmFzZTsKPiAgCXN0cnVjdCBkcm1fYXRvbWljX3N0YXRlICpzdGF0ZSA9IGNzdGF0ZS0+c3Rh dGU7Cj4gIAlzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZTsKPiAgCWNvbnN0IHN0cnVjdCBkcm1fcGxh bmVfc3RhdGUgKnBzdGF0ZTsKPiAtCXVuc2lnbmVkIGludCB0b3RhbF9kYXRhX3JhdGUgPSAwOwo+ ICsJdTY0IHRvdGFsX2RhdGFfcmF0ZSA9IDA7Cj4gIAo+ICAJaWYgKFdBUk5fT04oIXN0YXRlKSkK PiAgCQlyZXR1cm4gMDsKPiBAQCAtNDIwNiw3ICs0MjA1LDcgQEAgc2tsX2dldF90b3RhbF9yZWxh dGl2ZV9kYXRhX3JhdGUoc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmludGVsX2NzdGF0ZSwKPiAg CS8qIENhbGN1bGF0ZSBhbmQgY2FjaGUgZGF0YSByYXRlIGZvciBlYWNoIHBsYW5lICovCj4gIAlk cm1fYXRvbWljX2NydGNfc3RhdGVfZm9yX2VhY2hfcGxhbmVfc3RhdGUocGxhbmUsIHBzdGF0ZSwg Y3N0YXRlKSB7Cj4gIAkJZW51bSBwbGFuZV9pZCBwbGFuZV9pZCA9IHRvX2ludGVsX3BsYW5lKHBs YW5lKS0+aWQ7Cj4gLQkJdW5zaWduZWQgaW50IHJhdGU7Cj4gKwkJdTY0IHJhdGU7Cj4gIAo+ICAJ CS8qIHBhY2tlZC95ICovCj4gIAkJcmF0ZSA9IHNrbF9wbGFuZV9yZWxhdGl2ZV9kYXRhX3JhdGUo aW50ZWxfY3N0YXRlLAo+IEBAIC00MzI1LDExICs0MzI0LDExIEBAIHNrbF9hbGxvY2F0ZV9waXBl X2RkYihzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3N0YXRlLAo+ICAJdWludDE2X3QgYWxsb2Nf c2l6ZSwgc3RhcnQ7Cj4gIAl1aW50MTZfdCBtaW5pbXVtW0k5MTVfTUFYX1BMQU5FU10gPSB7fTsK PiAgCXVpbnQxNl90IHV2X21pbmltdW1bSTkxNV9NQVhfUExBTkVTXSA9IHt9Owo+IC0JdW5zaWdu ZWQgaW50IHRvdGFsX2RhdGFfcmF0ZTsKPiArCXU2NCB0b3RhbF9kYXRhX3JhdGU7Cj4gIAllbnVt IHBsYW5lX2lkIHBsYW5lX2lkOwo+ICAJaW50IG51bV9hY3RpdmU7Cj4gLQl1bnNpZ25lZCBpbnQg cGxhbmVfZGF0YV9yYXRlW0k5MTVfTUFYX1BMQU5FU10gPSB7fTsKPiAtCXVuc2lnbmVkIGludCB1 dl9wbGFuZV9kYXRhX3JhdGVbSTkxNV9NQVhfUExBTkVTXSA9IHt9Owo+ICsJdTY0IHBsYW5lX2Rh dGFfcmF0ZVtJOTE1X01BWF9QTEFORVNdID0ge307Cj4gKwl1NjQgdXZfcGxhbmVfZGF0YV9yYXRl W0k5MTVfTUFYX1BMQU5FU10gPSB7fTsKPiAgCXVpbnQxNl90IHRvdGFsX21pbl9ibG9ja3MgPSAw Owo+ICAKPiAgCS8qIENsZWFyIHRoZSBwYXJ0aXRpb25pbmcgZm9yIGRpc2FibGVkIHBsYW5lcy4g Ki8KPiBAQCAtNDM4OCw3ICs0Mzg3LDcgQEAgc2tsX2FsbG9jYXRlX3BpcGVfZGRiKHN0cnVjdCBp bnRlbF9jcnRjX3N0YXRlICpjc3RhdGUsCj4gIAo+ICAJc3RhcnQgPSBhbGxvYy0+c3RhcnQ7Cj4g IAlmb3JfZWFjaF9wbGFuZV9pZF9vbl9jcnRjKGludGVsX2NydGMsIHBsYW5lX2lkKSB7Cj4gLQkJ dW5zaWduZWQgaW50IGRhdGFfcmF0ZSwgdXZfZGF0YV9yYXRlOwo+ICsJCXU2NCBkYXRhX3JhdGUs IHV2X2RhdGFfcmF0ZTsKPiAgCQl1aW50MTZfdCBwbGFuZV9ibG9ja3MsIHV2X3BsYW5lX2Jsb2Nr czsKPiAgCj4gIAkJaWYgKHBsYW5lX2lkID09IFBMQU5FX0NVUlNPUikKPiBAQCAtNDQwMiw4ICs0 NDAxLDcgQEAgc2tsX2FsbG9jYXRlX3BpcGVfZGRiKHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpj c3RhdGUsCj4gIAkJICogcmVzdWx0IGlzIDwgYXZhaWxhYmxlIGFzIGRhdGFfcmF0ZSAvIHRvdGFs X2RhdGFfcmF0ZSA8IDEKPiAgCQkgKi8KPiAgCQlwbGFuZV9ibG9ja3MgPSBtaW5pbXVtW3BsYW5l X2lkXTsKPiAtCQlwbGFuZV9ibG9ja3MgKz0gZGl2X3U2NCgodWludDY0X3QpYWxsb2Nfc2l6ZSAq IGRhdGFfcmF0ZSwKPiAtCQkJCQl0b3RhbF9kYXRhX3JhdGUpOwo+ICsJCXBsYW5lX2Jsb2NrcyAr PSBhbGxvY19zaXplICogZGF0YV9yYXRlIC8gdG90YWxfZGF0YV9yYXRlOwo+ICAKPiAgCQkvKiBM ZWF2ZSBkaXNhYmxlZCBwbGFuZXMgYXQgKDAsMCkgKi8KPiAgCQlpZiAoZGF0YV9yYXRlKSB7Cj4g QEAgLTQ0MTcsOCArNDQxNSw3IEBAIHNrbF9hbGxvY2F0ZV9waXBlX2RkYihzdHJ1Y3QgaW50ZWxf Y3J0Y19zdGF0ZSAqY3N0YXRlLAo+ICAJCXV2X2RhdGFfcmF0ZSA9IHV2X3BsYW5lX2RhdGFfcmF0 ZVtwbGFuZV9pZF07Cj4gIAo+ICAJCXV2X3BsYW5lX2Jsb2NrcyA9IHV2X21pbmltdW1bcGxhbmVf aWRdOwo+IC0JCXV2X3BsYW5lX2Jsb2NrcyArPSBkaXZfdTY0KCh1aW50NjRfdClhbGxvY19zaXpl ICogdXZfZGF0YV9yYXRlLAo+IC0JCQkJCSAgIHRvdGFsX2RhdGFfcmF0ZSk7Cj4gKwkJdXZfcGxh bmVfYmxvY2tzICs9IGFsbG9jX3NpemUgKiB1dl9kYXRhX3JhdGUgLyB0b3RhbF9kYXRhX3JhdGU7 Cj4gIAo+ICAJCWlmICh1dl9kYXRhX3JhdGUpIHsKPiAgCQkJZGRiLT51dl9wbGFuZVtwaXBlXVtw bGFuZV9pZF0uc3RhcnQgPSBzdGFydDsKPiAtLSAKPiAyLjE5LjEKPiAKPiBfX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwo+IEludGVsLWdmeCBtYWlsaW5nIGxp c3QKPiBJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCj4gaHR0cHM6Ly9saXN0cy5mcmVl ZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngKCi0tIApWaWxsZSBTeXJqw6Rs w6QKSW50ZWwKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18K SW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0 dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==