From mboxrd@z Thu Jan 1 00:00:00 1970 From: Maarten Lankhorst Subject: Re: [PATCH v2 1/8] drm/i915: Fix unsigned overflow when calculating total data rate Date: Fri, 19 Oct 2018 15:03:47 +0200 Message-ID: References: <20181018115134.9061-1-maarten.lankhorst@linux.intel.com> <20181018115134.9061-2-maarten.lankhorst@linux.intel.com> <20181018151124.GK9144@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 7FC066E371 for ; Fri, 19 Oct 2018 13:03:49 +0000 (UTC) In-Reply-To: <20181018151124.GK9144@intel.com> Content-Language: en-US List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: =?UTF-8?B?VmlsbGUgU3lyasOkbMOk?= Cc: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T3AgMTgtMTAtMTggb20gMTc6MTEgc2NocmVlZiBWaWxsZSBTeXJqw6Rsw6Q6Cj4gT24gVGh1LCBP Y3QgMTgsIDIwMTggYXQgMDE6NTE6MjdQTSArMDIwMCwgTWFhcnRlbiBMYW5raG9yc3Qgd3JvdGU6 Cj4+IE9uIGdlbjExLCB3ZSBjYW4gZGVmaW5pdGVseSBzbWFzaCB0aGUgMzItYml0cyBiYXJyaWVy IHdpdGgganVzdCBhCj4+IHdoZW4gd2UgZW5hYmxlIGFsbCBwbGFuZXMgaW4gdGhlIG5leHQgcGF0 Y2guCj4+Cj4+IFNpZ25lZC1vZmYtYnk6IE1hYXJ0ZW4gTGFua2hvcnN0IDxtYWFydGVuLmxhbmto b3JzdEBsaW51eC5pbnRlbC5jb20+Cj4+IC0tLQo+PiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfcG0uYyB8IDQ3ICsrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLQo+PiAgMSBmaWxl IGNoYW5nZWQsIDIyIGluc2VydGlvbnMoKyksIDI1IGRlbGV0aW9ucygtKQo+Pgo+PiBkaWZmIC0t Z2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcG0uYyBiL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX3BtLmMKPj4gaW5kZXggNjdhNGQwNzM1MjkxLi4zYjEzNmZkZmQyNGYgMTAwNjQ0 Cj4+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3BtLmMKPj4gKysrIGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfcG0uYwo+PiBAQCAtMzc4NCw3ICszNzg0LDcgQEAgYm9vbCBp bnRlbF9jYW5fZW5hYmxlX3NhZ3Yoc3RydWN0IGRybV9hdG9taWNfc3RhdGUgKnN0YXRlKQo+PiAg Cj4+ICBzdGF0aWMgdTE2IGludGVsX2dldF9kZGJfc2l6ZShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0 ZSAqZGV2X3ByaXYsCj4+ICAJCQkgICAgICBjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAq Y3N0YXRlLAo+PiAtCQkJICAgICAgY29uc3QgdW5zaWduZWQgaW50IHRvdGFsX2RhdGFfcmF0ZSwK Pj4gKwkJCSAgICAgIGNvbnN0IHU2NCB0b3RhbF9kYXRhX3JhdGUsCj4+ICAJCQkgICAgICBjb25z dCBpbnQgbnVtX2FjdGl2ZSwKPj4gIAkJCSAgICAgIHN0cnVjdCBza2xfZGRiX2FsbG9jYXRpb24g KmRkYikKPj4gIHsKPj4gQEAgLTM3OTgsMTIgKzM3OTgsMTIgQEAgc3RhdGljIHUxNiBpbnRlbF9n ZXRfZGRiX3NpemUoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAo+PiAgCQlyZXR1 cm4gZGRiX3NpemUgLSA0OyAvKiA0IGJsb2NrcyBmb3IgYnlwYXNzIHBhdGggYWxsb2NhdGlvbiAq Lwo+PiAgCj4+ICAJYWRqdXN0ZWRfbW9kZSA9ICZjc3RhdGUtPmJhc2UuYWRqdXN0ZWRfbW9kZTsK Pj4gLQl0b3RhbF9kYXRhX2J3ID0gKHU2NCl0b3RhbF9kYXRhX3JhdGUgKiBkcm1fbW9kZV92cmVm cmVzaChhZGp1c3RlZF9tb2RlKTsKPj4gKwl0b3RhbF9kYXRhX2J3ID0gdG90YWxfZGF0YV9yYXRl ICogZHJtX21vZGVfdnJlZnJlc2goYWRqdXN0ZWRfbW9kZSk7Cj4+ICAKPj4gIAkvKgo+PiAgCSAq IDEyR0IvcyBpcyBtYXhpbXVtIEJXIHN1cHBvcnRlZCBieSBzaW5nbGUgREJ1ZiBzbGljZS4KPj4g IAkgKi8KPj4gLQlpZiAodG90YWxfZGF0YV9idyA+PSBHQnBzKDEyKSB8fCBudW1fYWN0aXZlID4g MSkgewo+PiArCWlmIChudW1fYWN0aXZlID4gMSB8fCB0b3RhbF9kYXRhX2J3ID49IEdCcHMoMTIp KSB7Cj4+ICAJCWRkYi0+ZW5hYmxlZF9zbGljZXMgPSAyOwo+PiAgCX0gZWxzZSB7Cj4+ICAJCWRk Yi0+ZW5hYmxlZF9zbGljZXMgPSAxOwo+PiBAQCAtMzgxNiw3ICszODE2LDcgQEAgc3RhdGljIHUx NiBpbnRlbF9nZXRfZGRiX3NpemUoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAo+ PiAgc3RhdGljIHZvaWQKPj4gIHNrbF9kZGJfZ2V0X3BpcGVfYWxsb2NhdGlvbl9saW1pdHMoc3Ry dWN0IGRybV9kZXZpY2UgKmRldiwKPj4gIAkJCQkgICBjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19z dGF0ZSAqY3N0YXRlLAo+PiAtCQkJCSAgIGNvbnN0IHVuc2lnbmVkIGludCB0b3RhbF9kYXRhX3Jh dGUsCj4+ICsJCQkJICAgY29uc3QgdTY0IHRvdGFsX2RhdGFfcmF0ZSwKPj4gIAkJCQkgICBzdHJ1 Y3Qgc2tsX2RkYl9hbGxvY2F0aW9uICpkZGIsCj4+ICAJCQkJICAgc3RydWN0IHNrbF9kZGJfZW50 cnkgKmFsbG9jLCAvKiBvdXQgKi8KPj4gIAkJCQkgICBpbnQgKm51bV9hY3RpdmUgLyogb3V0ICov KQo+PiBAQCAtNDEzOSw3ICs0MTM5LDcgQEAgaW50IHNrbF9jaGVja19waXBlX21heF9waXhlbF9y YXRlKHN0cnVjdCBpbnRlbF9jcnRjICppbnRlbF9jcnRjLAo+PiAgCXJldHVybiAwOwo+PiAgfQo+ PiAgCj4+IC1zdGF0aWMgdW5zaWduZWQgaW50Cj4+ICtzdGF0aWMgdTY0Cj4+ICBza2xfcGxhbmVf cmVsYXRpdmVfZGF0YV9yYXRlKGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjc3RhdGUs Cj4+ICAJCQkgICAgIGNvbnN0IHN0cnVjdCBkcm1fcGxhbmVfc3RhdGUgKnBzdGF0ZSwKPj4gIAkJ CSAgICAgY29uc3QgaW50IHBsYW5lKQo+PiBAQCAtNDE1MSw2ICs0MTUxLDcgQEAgc2tsX3BsYW5l X3JlbGF0aXZlX2RhdGFfcmF0ZShjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3N0YXRl LAo+PiAgCXN0cnVjdCBkcm1fZnJhbWVidWZmZXIgKmZiOwo+PiAgCXUzMiBmb3JtYXQ7Cj4+ICAJ dWludF9maXhlZF8xNl8xNl90IGRvd25fc2NhbGVfYW1vdW50Owo+PiArCXU2NCByYXRlOwo+PiAg Cj4+ICAJaWYgKCFpbnRlbF9wc3RhdGUtPmJhc2UudmlzaWJsZSkKPj4gIAkJcmV0dXJuIDA7Cj4+ IEBAIC00MTc3LDI4ICs0MTc4LDI2IEBAIHNrbF9wbGFuZV9yZWxhdGl2ZV9kYXRhX3JhdGUoY29u c3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNzdGF0ZSwKPj4gIAkJaGVpZ2h0IC89IDI7Cj4+ ICAJfQo+PiAgCj4+IC0JZGF0YV9yYXRlID0gd2lkdGggKiBoZWlnaHQgKiBmYi0+Zm9ybWF0LT5j cHBbcGxhbmVdOwo+PiArCWRhdGFfcmF0ZSA9IHdpZHRoICogaGVpZ2h0Owo+PiAgCj4+ICAJZG93 bl9zY2FsZV9hbW91bnQgPSBza2xfcGxhbmVfZG93bnNjYWxlX2Ftb3VudChjc3RhdGUsIGludGVs X3BzdGF0ZSk7Cj4+ICAKPj4gLQlyZXR1cm4gbXVsX3JvdW5kX3VwX3UzMl9maXhlZDE2KGRhdGFf cmF0ZSwgZG93bl9zY2FsZV9hbW91bnQpOwo+PiArCXJhdGUgPSBtdWxfcm91bmRfdXBfdTMyX2Zp eGVkMTYoZGF0YV9yYXRlLCBkb3duX3NjYWxlX2Ftb3VudCk7Cj4+ICsKPj4gKwlyYXRlICo9IGZi LT5mb3JtYXQtPmNwcFtwbGFuZV07Cj4+ICsJcmV0dXJuIHJhdGU7Cj4+ICB9Cj4+ICAKPj4gLS8q Cj4+IC0gKiBXZSBkb24ndCBvdmVyZmxvdyAzMiBiaXRzLiBXb3JzdCBjYXNlIGlzIDMgcGxhbmVz IGVuYWJsZWQsIGVhY2ggZmV0Y2hpbmcKPj4gLSAqIGEgODE5Mng0MDk2QDMyYnBwIGZyYW1lYnVm ZmVyOgo+PiAtICogICAzICogNDA5NiAqIDgxOTIgICogNCA8IDJeMzIKPj4gLSAqLwo+PiAtc3Rh dGljIHVuc2lnbmVkIGludAo+PiArc3RhdGljIHU2NAo+PiAgc2tsX2dldF90b3RhbF9yZWxhdGl2 ZV9kYXRhX3JhdGUoc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmludGVsX2NzdGF0ZSwKPj4gLQkJ CQkgdW5zaWduZWQgaW50ICpwbGFuZV9kYXRhX3JhdGUsCj4+IC0JCQkJIHVuc2lnbmVkIGludCAq dXZfcGxhbmVfZGF0YV9yYXRlKQo+PiArCQkJCSB1NjQgKnBsYW5lX2RhdGFfcmF0ZSwKPj4gKwkJ CQkgdTY0ICp1dl9wbGFuZV9kYXRhX3JhdGUpCj4+ICB7Cj4+ICAJc3RydWN0IGRybV9jcnRjX3N0 YXRlICpjc3RhdGUgPSAmaW50ZWxfY3N0YXRlLT5iYXNlOwo+PiAgCXN0cnVjdCBkcm1fYXRvbWlj X3N0YXRlICpzdGF0ZSA9IGNzdGF0ZS0+c3RhdGU7Cj4+ICAJc3RydWN0IGRybV9wbGFuZSAqcGxh bmU7Cj4+ICAJY29uc3Qgc3RydWN0IGRybV9wbGFuZV9zdGF0ZSAqcHN0YXRlOwo+PiAtCXVuc2ln bmVkIGludCB0b3RhbF9kYXRhX3JhdGUgPSAwOwo+PiArCXU2NCB0b3RhbF9kYXRhX3JhdGUgPSAw Owo+PiAgCj4+ICAJaWYgKFdBUk5fT04oIXN0YXRlKSkKPj4gIAkJcmV0dXJuIDA7Cj4+IEBAIC00 MjA2LDcgKzQyMDUsNyBAQCBza2xfZ2V0X3RvdGFsX3JlbGF0aXZlX2RhdGFfcmF0ZShzdHJ1Y3Qg aW50ZWxfY3J0Y19zdGF0ZSAqaW50ZWxfY3N0YXRlLAo+PiAgCS8qIENhbGN1bGF0ZSBhbmQgY2Fj aGUgZGF0YSByYXRlIGZvciBlYWNoIHBsYW5lICovCj4+ICAJZHJtX2F0b21pY19jcnRjX3N0YXRl X2Zvcl9lYWNoX3BsYW5lX3N0YXRlKHBsYW5lLCBwc3RhdGUsIGNzdGF0ZSkgewo+PiAgCQllbnVt IHBsYW5lX2lkIHBsYW5lX2lkID0gdG9faW50ZWxfcGxhbmUocGxhbmUpLT5pZDsKPj4gLQkJdW5z aWduZWQgaW50IHJhdGU7Cj4+ICsJCXU2NCByYXRlOwo+PiAgCj4+ICAJCS8qIHBhY2tlZC95ICov Cj4+ICAJCXJhdGUgPSBza2xfcGxhbmVfcmVsYXRpdmVfZGF0YV9yYXRlKGludGVsX2NzdGF0ZSwK Pj4gQEAgLTQzMjUsMTEgKzQzMjQsMTEgQEAgc2tsX2FsbG9jYXRlX3BpcGVfZGRiKHN0cnVjdCBp bnRlbF9jcnRjX3N0YXRlICpjc3RhdGUsCj4+ICAJdWludDE2X3QgYWxsb2Nfc2l6ZSwgc3RhcnQ7 Cj4+ICAJdWludDE2X3QgbWluaW11bVtJOTE1X01BWF9QTEFORVNdID0ge307Cj4+ICAJdWludDE2 X3QgdXZfbWluaW11bVtJOTE1X01BWF9QTEFORVNdID0ge307Cj4+IC0JdW5zaWduZWQgaW50IHRv dGFsX2RhdGFfcmF0ZTsKPj4gKwl1NjQgdG90YWxfZGF0YV9yYXRlOwo+PiAgCWVudW0gcGxhbmVf aWQgcGxhbmVfaWQ7Cj4+ICAJaW50IG51bV9hY3RpdmU7Cj4+IC0JdW5zaWduZWQgaW50IHBsYW5l X2RhdGFfcmF0ZVtJOTE1X01BWF9QTEFORVNdID0ge307Cj4+IC0JdW5zaWduZWQgaW50IHV2X3Bs YW5lX2RhdGFfcmF0ZVtJOTE1X01BWF9QTEFORVNdID0ge307Cj4+ICsJdTY0IHBsYW5lX2RhdGFf cmF0ZVtJOTE1X01BWF9QTEFORVNdID0ge307Cj4+ICsJdTY0IHV2X3BsYW5lX2RhdGFfcmF0ZVtJ OTE1X01BWF9QTEFORVNdID0ge307Cj4+ICAJdWludDE2X3QgdG90YWxfbWluX2Jsb2NrcyA9IDA7 Cj4+ICAKPj4gIAkvKiBDbGVhciB0aGUgcGFydGl0aW9uaW5nIGZvciBkaXNhYmxlZCBwbGFuZXMu ICovCj4+IEBAIC00Mzg4LDcgKzQzODcsNyBAQCBza2xfYWxsb2NhdGVfcGlwZV9kZGIoc3RydWN0 IGludGVsX2NydGNfc3RhdGUgKmNzdGF0ZSwKPj4gIAo+PiAgCXN0YXJ0ID0gYWxsb2MtPnN0YXJ0 Owo+PiAgCWZvcl9lYWNoX3BsYW5lX2lkX29uX2NydGMoaW50ZWxfY3J0YywgcGxhbmVfaWQpIHsK Pj4gLQkJdW5zaWduZWQgaW50IGRhdGFfcmF0ZSwgdXZfZGF0YV9yYXRlOwo+PiArCQl1NjQgZGF0 YV9yYXRlLCB1dl9kYXRhX3JhdGU7Cj4+ICAJCXVpbnQxNl90IHBsYW5lX2Jsb2NrcywgdXZfcGxh bmVfYmxvY2tzOwo+PiAgCj4+ICAJCWlmIChwbGFuZV9pZCA9PSBQTEFORV9DVVJTT1IpCj4+IEBA IC00NDAyLDggKzQ0MDEsNyBAQCBza2xfYWxsb2NhdGVfcGlwZV9kZGIoc3RydWN0IGludGVsX2Ny dGNfc3RhdGUgKmNzdGF0ZSwKPj4gIAkJICogcmVzdWx0IGlzIDwgYXZhaWxhYmxlIGFzIGRhdGFf cmF0ZSAvIHRvdGFsX2RhdGFfcmF0ZSA8IDEKPj4gIAkJICovCj4+ICAJCXBsYW5lX2Jsb2NrcyA9 IG1pbmltdW1bcGxhbmVfaWRdOwo+PiAtCQlwbGFuZV9ibG9ja3MgKz0gZGl2X3U2NCgodWludDY0 X3QpYWxsb2Nfc2l6ZSAqIGRhdGFfcmF0ZSwKPj4gLQkJCQkJdG90YWxfZGF0YV9yYXRlKTsKPj4g KwkJcGxhbmVfYmxvY2tzICs9IGFsbG9jX3NpemUgKiBkYXRhX3JhdGUgLyB0b3RhbF9kYXRhX3Jh dGU7Cj4gSSBmYWlsZWQgdG8gc3BvdCB0aGUgcmF3IDY0Yml0IGRpdmlzaW9ucyBoZXJlLiBGb3J0 dW5hdGVseSBDSSBjYXVnaHQKPiB0aGVtICh5YXkpLiBOZWVkIHRvIGJlIGZpeGVkLgpObyB3ZSBj YW4ndCwgaWYgd2UgbWFrZSB0aGUgcGVyIHBsYW5lIGRhdGEgcmF0ZSA2NC1iaXRzLCB0aGUgZGl2 aXNvciB3aWxsIG92ZXJmbG93IGEgZGl2X3U2NC4uCgp+TWFhcnRlbgpfX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0Cklu dGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5v cmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK