From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tvrtko Ursulin Subject: [PATCH] drm/i915/pmu: Fix enable count array size and bounds checking Date: Tue, 5 Feb 2019 10:29:05 +0000 Message-ID: <20190205102905.22716-1-tvrtko.ursulin@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 CAB9189E9B for ; Tue, 5 Feb 2019 10:29:04 +0000 (UTC) List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org RnJvbTogVHZydGtvIFVyc3VsaW4gPHR2cnRrby51cnN1bGluQGludGVsLmNvbT4KCkVuYWJsZSBj b3VudCBhcnJheSBpcyBzdXBwb3NlZCB0byBoYXZlIG9uZSBjb3VudGVyIGZvciBlYWNoIHBvc3Np YmxlCmVuZ2luZSBzYW1wbGVyLiBBcyBzdWNoLCBhcnJheSBzaXppbmcgYW5kIGJvdW5kcyBjaGVj a2luZyBpcyBub3QgY29ycmVjdAphbmQgd291bGQgYmxvdyB1cCB0aGUgYXNzZXJ0cyBpZiBtb3Jl IHNhbXBsZXJzIHdlcmUgYWRkZWQuCgpObyBpbGwtZWZmZWN0IGluIHRoZSBjdXJyZW50IGNvZGUg YmFzZSBidXQgbGV0cyBmaXggaXQgZm9yIGNvcnJlY3RuZXNzLgoKQXQgdGhlIHNhbWUgdGltZSB0 aWR5IHRoZSBhc3NlcnQgZm9yIHJlYWRhYmlsaXR5IGFuZCByb2J1c3RuZXNzLgoKU2lnbmVkLW9m Zi1ieTogVHZydGtvIFVyc3VsaW4gPHR2cnRrby51cnN1bGluQGludGVsLmNvbT4KRml4ZXM6IGI0 NmEzM2UyNzFlZCAoImRybS9pOTE1L3BtdTogRXhwb3NlIGEgUE1VIGludGVyZmFjZSBmb3IgcGVy ZiBxdWVyaWVzIikKLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3BtdS5jICAgICAgICAg fCAyMiArKysrKysrKysrKysrKystLS0tLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3Bt dS5oICAgICAgICAgfCAgMiArKwogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcmluZ2J1ZmZl ci5oIHwgIDkgKysrKystLS0tCiAzIGZpbGVzIGNoYW5nZWQsIDIyIGluc2VydGlvbnMoKyksIDEx IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcG11 LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3BtdS5jCmluZGV4IGIxY2IyZDNjYWUxNi4u NDRhMTRlZjEwMzVjIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3BtdS5j CisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcG11LmMKQEAgLTU5OSw3ICs1OTksOCBA QCBzdGF0aWMgdm9pZCBpOTE1X3BtdV9lbmFibGUoc3RydWN0IHBlcmZfZXZlbnQgKmV2ZW50KQog CSAqIFVwZGF0ZSB0aGUgYml0bWFzayBvZiBlbmFibGVkIGV2ZW50cyBhbmQgaW5jcmVtZW50CiAJ ICogdGhlIGV2ZW50IHJlZmVyZW5jZSBjb3VudGVyLgogCSAqLwotCUdFTV9CVUdfT04oYml0ID49 IEk5MTVfUE1VX01BU0tfQklUUyk7CisJQlVJTERfQlVHX09OKEFSUkFZX1NJWkUoaTkxNS0+cG11 LmVuYWJsZV9jb3VudCkgIT0gSTkxNV9QTVVfTUFTS19CSVRTKTsKKwlHRU1fQlVHX09OKGJpdCA+ PSBBUlJBWV9TSVpFKGk5MTUtPnBtdS5lbmFibGVfY291bnQpKTsKIAlHRU1fQlVHX09OKGk5MTUt PnBtdS5lbmFibGVfY291bnRbYml0XSA9PSB+MCk7CiAJaTkxNS0+cG11LmVuYWJsZSB8PSBCSVRf VUxMKGJpdCk7CiAJaTkxNS0+cG11LmVuYWJsZV9jb3VudFtiaXRdKys7CkBAIC02MjAsMTEgKzYy MSwxNiBAQCBzdGF0aWMgdm9pZCBpOTE1X3BtdV9lbmFibGUoc3RydWN0IHBlcmZfZXZlbnQgKmV2 ZW50KQogCQllbmdpbmUgPSBpbnRlbF9lbmdpbmVfbG9va3VwX3VzZXIoaTkxNSwKIAkJCQkJCSAg ZW5naW5lX2V2ZW50X2NsYXNzKGV2ZW50KSwKIAkJCQkJCSAgZW5naW5lX2V2ZW50X2luc3RhbmNl KGV2ZW50KSk7Ci0JCUdFTV9CVUdfT04oIWVuZ2luZSk7Ci0JCWVuZ2luZS0+cG11LmVuYWJsZSB8 PSBCSVQoc2FtcGxlKTsKIAotCQlHRU1fQlVHX09OKHNhbXBsZSA+PSBJOTE1X1BNVV9TQU1QTEVf QklUUyk7CisJCUJVSUxEX0JVR19PTihBUlJBWV9TSVpFKGVuZ2luZS0+cG11LmVuYWJsZV9jb3Vu dCkgIT0KKwkJCSAgICAgSTkxNV9FTkdJTkVfU0FNUExFX0NPVU5UIHx8CisJCQkgICAgIEFSUkFZ X1NJWkUoZW5naW5lLT5wbXUuc2FtcGxlKSAhPQorCQkJICAgICBJOTE1X0VOR0lORV9TQU1QTEVf Q09VTlQpOworCQlHRU1fQlVHX09OKHNhbXBsZSA+PSBBUlJBWV9TSVpFKGVuZ2luZS0+cG11LmVu YWJsZV9jb3VudCkgfHwKKwkJCSAgIHNhbXBsZSA+PSBBUlJBWV9TSVpFKGVuZ2luZS0+cG11LnNh bXBsZSkpOwogCQlHRU1fQlVHX09OKGVuZ2luZS0+cG11LmVuYWJsZV9jb3VudFtzYW1wbGVdID09 IH4wKTsKKworCQllbmdpbmUtPnBtdS5lbmFibGUgfD0gQklUKHNhbXBsZSk7CiAJCWVuZ2luZS0+ cG11LmVuYWJsZV9jb3VudFtzYW1wbGVdKys7CiAJfQogCkBAIC02NTQsOSArNjYwLDExIEBAIHN0 YXRpYyB2b2lkIGk5MTVfcG11X2Rpc2FibGUoc3RydWN0IHBlcmZfZXZlbnQgKmV2ZW50KQogCQll bmdpbmUgPSBpbnRlbF9lbmdpbmVfbG9va3VwX3VzZXIoaTkxNSwKIAkJCQkJCSAgZW5naW5lX2V2 ZW50X2NsYXNzKGV2ZW50KSwKIAkJCQkJCSAgZW5naW5lX2V2ZW50X2luc3RhbmNlKGV2ZW50KSk7 Ci0JCUdFTV9CVUdfT04oIWVuZ2luZSk7Ci0JCUdFTV9CVUdfT04oc2FtcGxlID49IEk5MTVfUE1V X1NBTVBMRV9CSVRTKTsKKworCQlHRU1fQlVHX09OKHNhbXBsZSA+PSBBUlJBWV9TSVpFKGVuZ2lu ZS0+cG11LmVuYWJsZV9jb3VudCkgfHwKKwkJCSAgIHNhbXBsZSA+PSBBUlJBWV9TSVpFKGVuZ2lu ZS0+cG11LnNhbXBsZSkpOwogCQlHRU1fQlVHX09OKGVuZ2luZS0+cG11LmVuYWJsZV9jb3VudFtz YW1wbGVdID09IDApOworCiAJCS8qCiAJCSAqIERlY3JlbWVudCB0aGUgcmVmZXJlbmNlIGNvdW50 IGFuZCBjbGVhciB0aGUgZW5hYmxlZAogCQkgKiBiaXRtYXNrIHdoZW4gdGhlIGxhc3QgbGlzdGVu ZXIgb24gYW4gZXZlbnQgZ29lcyBhd2F5LgpAQCAtNjY1LDcgKzY3Myw3IEBAIHN0YXRpYyB2b2lk IGk5MTVfcG11X2Rpc2FibGUoc3RydWN0IHBlcmZfZXZlbnQgKmV2ZW50KQogCQkJZW5naW5lLT5w bXUuZW5hYmxlICY9IH5CSVQoc2FtcGxlKTsKIAl9CiAKLQlHRU1fQlVHX09OKGJpdCA+PSBJOTE1 X1BNVV9NQVNLX0JJVFMpOworCUdFTV9CVUdfT04oYml0ID49IEFSUkFZX1NJWkUoaTkxNS0+cG11 LmVuYWJsZV9jb3VudCkpOwogCUdFTV9CVUdfT04oaTkxNS0+cG11LmVuYWJsZV9jb3VudFtiaXRd ID09IDApOwogCS8qCiAJICogRGVjcmVtZW50IHRoZSByZWZlcmVuY2UgY291bnQgYW5kIGNsZWFy IHRoZSBlbmFibGVkCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3BtdS5o IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9wbXUuaAppbmRleCA3ZjE2NGNhM2RiMTIuLmIz NzI4YzVmMTNlNyAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9wbXUuaAor KysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3BtdS5oCkBAIC0zMSw2ICszMSw4IEBAIGVu dW0gewogCSgoMSA8PCBJOTE1X1BNVV9TQU1QTEVfQklUUykgKyBcCiAJIChJOTE1X1BNVV9MQVNU ICsgMSAtIF9fSTkxNV9QTVVfT1RIRVIoMCkpKQogCisjZGVmaW5lIEk5MTVfRU5HSU5FX1NBTVBM RV9DT1VOVCAoSTkxNV9TQU1QTEVfU0VNQSArIDEpCisKIHN0cnVjdCBpOTE1X3BtdV9zYW1wbGUg ewogCXU2NCBjdXI7CiB9OwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf cmluZ2J1ZmZlci5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcmluZ2J1ZmZlci5oCmlu ZGV4IDEzOThlYjgxZGVlNi4uNGQ0ZWE2OTYzYTcyIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF9yaW5nYnVmZmVyLmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfcmluZ2J1ZmZlci5oCkBAIC00MDMsMTYgKzQwMywxNyBAQCBzdHJ1Y3QgaW50ZWxfZW5naW5l X2NzIHsKIAkJLyoqCiAJCSAqIEBlbmFibGVfY291bnQ6IFJlZmVyZW5jZSBjb3VudCBmb3IgdGhl IGVuYWJsZWQgc2FtcGxlcnMuCiAJCSAqCi0JCSAqIEluZGV4IG51bWJlciBjb3JyZXNwb25kcyB0 byB0aGUgYml0IG51bWJlciBmcm9tIEBlbmFibGUuCisJCSAqIEluZGV4IG51bWJlciBjb3JyZXNw b25kcyB0byBAZW51bSBkcm1faTkxNV9wbXVfZW5naW5lX3NhbXBsZS4KIAkJICovCi0JCXVuc2ln bmVkIGludCBlbmFibGVfY291bnRbSTkxNV9QTVVfU0FNUExFX0JJVFNdOworCQl1bnNpZ25lZCBp bnQgZW5hYmxlX2NvdW50W0k5MTVfRU5HSU5FX1NBTVBMRV9DT1VOVF07CiAJCS8qKgogCQkgKiBA c2FtcGxlOiBDb3VudGVyIHZhbHVlcyBmb3Igc2FtcGxpbmcgZXZlbnRzLgogCQkgKgogCQkgKiBP dXIgaW50ZXJuYWwgdGltZXIgc3RvcmVzIHRoZSBjdXJyZW50IGNvdW50ZXJzIGluIHRoaXMgZmll bGQuCisJCSAqCisJCSAqIEluZGV4IG51bWJlciBjb3JyZXNwb25kcyB0byBAZW51bSBkcm1faTkx NV9wbXVfZW5naW5lX3NhbXBsZS4KIAkJICovCi0jZGVmaW5lIEk5MTVfRU5HSU5FX1NBTVBMRV9N QVggKEk5MTVfU0FNUExFX1NFTUEgKyAxKQotCQlzdHJ1Y3QgaTkxNV9wbXVfc2FtcGxlIHNhbXBs ZVtJOTE1X0VOR0lORV9TQU1QTEVfTUFYXTsKKwkJc3RydWN0IGk5MTVfcG11X3NhbXBsZSBzYW1w bGVbSTkxNV9FTkdJTkVfU0FNUExFX0NPVU5UXTsKIAl9IHBtdTsKIAogCS8qCi0tIAoyLjE5LjEK Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdm eCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xp c3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=