From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tvrtko Ursulin Subject: [PATCH v2] drm/i915/pmu: Fix enable count array size and bounds checking Date: Tue, 5 Feb 2019 13:03:53 +0000 Message-ID: <20190205130353.21105-1-tvrtko.ursulin@linux.intel.com> References: <154936305874.31771.1538448643399145177@skylake-alporthouse-com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by gabe.freedesktop.org (Postfix) with ESMTPS id 2E19D6E6E9 for ; Tue, 5 Feb 2019 13:03:48 +0000 (UTC) In-Reply-To: <154936305874.31771.1538448643399145177@skylake-alporthouse-com> 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 aWR5IHRoZSBhc3NlcnQgZm9yIHJlYWRhYmlsaXR5IGFuZCByb2J1c3RuZXNzLgoKdjI6CiAqIE9u ZSBjaGVjayBwZXIgYXNzZXJ0LiAoQ2hyaXMgV2lsc29uKQoKU2lnbmVkLW9mZi1ieTogVHZydGtv IFVyc3VsaW4gPHR2cnRrby51cnN1bGluQGludGVsLmNvbT4KRml4ZXM6IGI0NmEzM2UyNzFlZCAo ImRybS9pOTE1L3BtdTogRXhwb3NlIGEgUE1VIGludGVyZmFjZSBmb3IgcGVyZiBxdWVyaWVzIikK UmV2aWV3ZWQtYnk6IENocmlzIFdpbHNvbiA8Y2hyaXNAY2hyaXMtd2lsc29uLmNvLnVrPgotLS0K IGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcG11LmMgICAgICAgICB8IDIyICsrKysrKysrKysr KysrKy0tLS0tLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcG11LmggICAgICAgICB8ICAy ICsrCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9yaW5nYnVmZmVyLmggfCAgOSArKysrKy0t LS0KIDMgZmlsZXMgY2hhbmdlZCwgMjIgaW5zZXJ0aW9ucygrKSwgMTEgZGVsZXRpb25zKC0pCgpk aWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9wbXUuYyBiL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2k5MTVfcG11LmMKaW5kZXggYjFjYjJkM2NhZTE2Li4xM2Q3MGI5MGRkMGYgMTAw NjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcG11LmMKKysrIGIvZHJpdmVycy9n cHUvZHJtL2k5MTUvaTkxNV9wbXUuYwpAQCAtNTk5LDcgKzU5OSw4IEBAIHN0YXRpYyB2b2lkIGk5 MTVfcG11X2VuYWJsZShzdHJ1Y3QgcGVyZl9ldmVudCAqZXZlbnQpCiAJICogVXBkYXRlIHRoZSBi aXRtYXNrIG9mIGVuYWJsZWQgZXZlbnRzIGFuZCBpbmNyZW1lbnQKIAkgKiB0aGUgZXZlbnQgcmVm ZXJlbmNlIGNvdW50ZXIuCiAJICovCi0JR0VNX0JVR19PTihiaXQgPj0gSTkxNV9QTVVfTUFTS19C SVRTKTsKKwlCVUlMRF9CVUdfT04oQVJSQVlfU0laRShpOTE1LT5wbXUuZW5hYmxlX2NvdW50KSAh PSBJOTE1X1BNVV9NQVNLX0JJVFMpOworCUdFTV9CVUdfT04oYml0ID49IEFSUkFZX1NJWkUoaTkx NS0+cG11LmVuYWJsZV9jb3VudCkpOwogCUdFTV9CVUdfT04oaTkxNS0+cG11LmVuYWJsZV9jb3Vu dFtiaXRdID09IH4wKTsKIAlpOTE1LT5wbXUuZW5hYmxlIHw9IEJJVF9VTEwoYml0KTsKIAlpOTE1 LT5wbXUuZW5hYmxlX2NvdW50W2JpdF0rKzsKQEAgLTYyMCwxMSArNjIxLDE2IEBAIHN0YXRpYyB2 b2lkIGk5MTVfcG11X2VuYWJsZShzdHJ1Y3QgcGVyZl9ldmVudCAqZXZlbnQpCiAJCWVuZ2luZSA9 IGludGVsX2VuZ2luZV9sb29rdXBfdXNlcihpOTE1LAogCQkJCQkJICBlbmdpbmVfZXZlbnRfY2xh c3MoZXZlbnQpLAogCQkJCQkJICBlbmdpbmVfZXZlbnRfaW5zdGFuY2UoZXZlbnQpKTsKLQkJR0VN X0JVR19PTighZW5naW5lKTsKLQkJZW5naW5lLT5wbXUuZW5hYmxlIHw9IEJJVChzYW1wbGUpOwog Ci0JCUdFTV9CVUdfT04oc2FtcGxlID49IEk5MTVfUE1VX1NBTVBMRV9CSVRTKTsKKwkJQlVJTERf QlVHX09OKEFSUkFZX1NJWkUoZW5naW5lLT5wbXUuZW5hYmxlX2NvdW50KSAhPQorCQkJICAgICBJ OTE1X0VOR0lORV9TQU1QTEVfQ09VTlQpOworCQlCVUlMRF9CVUdfT04oQVJSQVlfU0laRShlbmdp bmUtPnBtdS5zYW1wbGUpICE9CisJCQkgICAgIEk5MTVfRU5HSU5FX1NBTVBMRV9DT1VOVCk7CisJ CUdFTV9CVUdfT04oc2FtcGxlID49IEFSUkFZX1NJWkUoZW5naW5lLT5wbXUuZW5hYmxlX2NvdW50 KSk7CisJCUdFTV9CVUdfT04oc2FtcGxlID49IEFSUkFZX1NJWkUoZW5naW5lLT5wbXUuc2FtcGxl KSk7CiAJCUdFTV9CVUdfT04oZW5naW5lLT5wbXUuZW5hYmxlX2NvdW50W3NhbXBsZV0gPT0gfjAp OworCisJCWVuZ2luZS0+cG11LmVuYWJsZSB8PSBCSVQoc2FtcGxlKTsKIAkJZW5naW5lLT5wbXUu ZW5hYmxlX2NvdW50W3NhbXBsZV0rKzsKIAl9CiAKQEAgLTY1NCw5ICs2NjAsMTEgQEAgc3RhdGlj IHZvaWQgaTkxNV9wbXVfZGlzYWJsZShzdHJ1Y3QgcGVyZl9ldmVudCAqZXZlbnQpCiAJCWVuZ2lu ZSA9IGludGVsX2VuZ2luZV9sb29rdXBfdXNlcihpOTE1LAogCQkJCQkJICBlbmdpbmVfZXZlbnRf Y2xhc3MoZXZlbnQpLAogCQkJCQkJICBlbmdpbmVfZXZlbnRfaW5zdGFuY2UoZXZlbnQpKTsKLQkJ R0VNX0JVR19PTighZW5naW5lKTsKLQkJR0VNX0JVR19PTihzYW1wbGUgPj0gSTkxNV9QTVVfU0FN UExFX0JJVFMpOworCisJCUdFTV9CVUdfT04oc2FtcGxlID49IEFSUkFZX1NJWkUoZW5naW5lLT5w bXUuZW5hYmxlX2NvdW50KSk7CisJCUdFTV9CVUdfT04oc2FtcGxlID49IEFSUkFZX1NJWkUoZW5n aW5lLT5wbXUuc2FtcGxlKSk7CiAJCUdFTV9CVUdfT04oZW5naW5lLT5wbXUuZW5hYmxlX2NvdW50 W3NhbXBsZV0gPT0gMCk7CisKIAkJLyoKIAkJICogRGVjcmVtZW50IHRoZSByZWZlcmVuY2UgY291 bnQgYW5kIGNsZWFyIHRoZSBlbmFibGVkCiAJCSAqIGJpdG1hc2sgd2hlbiB0aGUgbGFzdCBsaXN0 ZW5lciBvbiBhbiBldmVudCBnb2VzIGF3YXkuCkBAIC02NjUsNyArNjczLDcgQEAgc3RhdGljIHZv aWQgaTkxNV9wbXVfZGlzYWJsZShzdHJ1Y3QgcGVyZl9ldmVudCAqZXZlbnQpCiAJCQllbmdpbmUt PnBtdS5lbmFibGUgJj0gfkJJVChzYW1wbGUpOwogCX0KIAotCUdFTV9CVUdfT04oYml0ID49IEk5 MTVfUE1VX01BU0tfQklUUyk7CisJR0VNX0JVR19PTihiaXQgPj0gQVJSQVlfU0laRShpOTE1LT5w bXUuZW5hYmxlX2NvdW50KSk7CiAJR0VNX0JVR19PTihpOTE1LT5wbXUuZW5hYmxlX2NvdW50W2Jp dF0gPT0gMCk7CiAJLyoKIAkgKiBEZWNyZW1lbnQgdGhlIHJlZmVyZW5jZSBjb3VudCBhbmQgY2xl YXIgdGhlIGVuYWJsZWQKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcG11 LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3BtdS5oCmluZGV4IDdmMTY0Y2EzZGIxMi4u YjM3MjhjNWYxM2U3IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3BtdS5o CisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcG11LmgKQEAgLTMxLDYgKzMxLDggQEAg ZW51bSB7CiAJKCgxIDw8IEk5MTVfUE1VX1NBTVBMRV9CSVRTKSArIFwKIAkgKEk5MTVfUE1VX0xB U1QgKyAxIC0gX19JOTE1X1BNVV9PVEhFUigwKSkpCiAKKyNkZWZpbmUgSTkxNV9FTkdJTkVfU0FN UExFX0NPVU5UIChJOTE1X1NBTVBMRV9TRU1BICsgMSkKKwogc3RydWN0IGk5MTVfcG11X3NhbXBs ZSB7CiAJdTY0IGN1cjsKIH07CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9yaW5nYnVmZmVyLmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9yaW5nYnVmZmVyLmgK aW5kZXggMTM5OGViODFkZWU2Li40ZDRlYTY5NjNhNzIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX3JpbmdidWZmZXIuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9yaW5nYnVmZmVyLmgKQEAgLTQwMywxNiArNDAzLDE3IEBAIHN0cnVjdCBpbnRlbF9lbmdp bmVfY3MgewogCQkvKioKIAkJICogQGVuYWJsZV9jb3VudDogUmVmZXJlbmNlIGNvdW50IGZvciB0 aGUgZW5hYmxlZCBzYW1wbGVycy4KIAkJICoKLQkJICogSW5kZXggbnVtYmVyIGNvcnJlc3BvbmRz IHRvIHRoZSBiaXQgbnVtYmVyIGZyb20gQGVuYWJsZS4KKwkJICogSW5kZXggbnVtYmVyIGNvcnJl c3BvbmRzIHRvIEBlbnVtIGRybV9pOTE1X3BtdV9lbmdpbmVfc2FtcGxlLgogCQkgKi8KLQkJdW5z aWduZWQgaW50IGVuYWJsZV9jb3VudFtJOTE1X1BNVV9TQU1QTEVfQklUU107CisJCXVuc2lnbmVk IGludCBlbmFibGVfY291bnRbSTkxNV9FTkdJTkVfU0FNUExFX0NPVU5UXTsKIAkJLyoqCiAJCSAq IEBzYW1wbGU6IENvdW50ZXIgdmFsdWVzIGZvciBzYW1wbGluZyBldmVudHMuCiAJCSAqCiAJCSAq IE91ciBpbnRlcm5hbCB0aW1lciBzdG9yZXMgdGhlIGN1cnJlbnQgY291bnRlcnMgaW4gdGhpcyBm aWVsZC4KKwkJICoKKwkJICogSW5kZXggbnVtYmVyIGNvcnJlc3BvbmRzIHRvIEBlbnVtIGRybV9p OTE1X3BtdV9lbmdpbmVfc2FtcGxlLgogCQkgKi8KLSNkZWZpbmUgSTkxNV9FTkdJTkVfU0FNUExF X01BWCAoSTkxNV9TQU1QTEVfU0VNQSArIDEpCi0JCXN0cnVjdCBpOTE1X3BtdV9zYW1wbGUgc2Ft cGxlW0k5MTVfRU5HSU5FX1NBTVBMRV9NQVhdOworCQlzdHJ1Y3QgaTkxNV9wbXVfc2FtcGxlIHNh bXBsZVtJOTE1X0VOR0lORV9TQU1QTEVfQ09VTlRdOwogCX0gcG11OwogCiAJLyoKLS0gCjIuMTku MQoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwt Z2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8v bGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==