From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by gabe.freedesktop.org (Postfix) with ESMTPS id AC4416E2BE for ; Thu, 7 Mar 2019 13:01:48 +0000 (UTC) From: Petri Latvala Date: Thu, 7 Mar 2019 15:01:30 +0200 Message-Id: <20190307130130.6473-1-petri.latvala@intel.com> In-Reply-To: <20190307112427.29146-5-petri.latvala@intel.com> References: <20190307112427.29146-5-petri.latvala@intel.com> MIME-Version: 1.0 Subject: [igt-dev] [PATCH i-g-t v2 5/5] lib/igt_pm: Avoid out-of-bounds reads and writes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: igt-dev-bounces@lists.freedesktop.org Sender: "igt-dev" To: igt-dev@lists.freedesktop.org Cc: Petri Latvala List-ID: UmVhZCBzaXplb2YgLSAxIHRvIGJ1ZmZlcnMgc28gbnVsbC10ZXJtaW5hdGlvbiBzdGF5cyBpbiBi b3VuZHMuCgp2MjogQWxzbyBjbGVhciB0aGUgYnVmZmVycyBiZWZvcmUgcmV1c2luZyAoQ2hyaXMp LgoKU2lnbmVkLW9mZi1ieTogUGV0cmkgTGF0dmFsYSA8cGV0cmkubGF0dmFsYUBpbnRlbC5jb20+ CkNjOiBDaHJpcyBXaWxzb24gPGNocmlzQGNocmlzLXdpbHNvbi5jby51az4KLS0tCiBsaWIvaWd0 X3BtLmMgfCAyMiArKysrKysrKysrKysrKystLS0tLS0tCiAxIGZpbGUgY2hhbmdlZCwgMTUgaW5z ZXJ0aW9ucygrKSwgNyBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9saWIvaWd0X3BtLmMgYi9s aWIvaWd0X3BtLmMKaW5kZXggNDkwMjcyMzguLmZkMjIyNzNhIDEwMDY0NAotLS0gYS9saWIvaWd0 X3BtLmMKKysrIGIvbGliL2lndF9wbS5jCkBAIC0xMDEsNyArMTAxLDEyIEBAIHN0YXRpYyBpbnQg X19pZ3RfcG1fYXVkaW9fcmVzdG9yZV9ydW50aW1lX3BtKHZvaWQpCiAKIAljbG9zZShmZCk7CiAK LQlfX2lndF9wbV9hdWRpb19ydW50aW1lX3Bvd2VyX3NhdmVbMF0gPSAwOworCW1lbXNldChfX2ln dF9wbV9hdWRpb19ydW50aW1lX3Bvd2VyX3NhdmUsIDAsCisJICAgICAgIHNpemVvZihfX2lndF9w bV9hdWRpb19ydW50aW1lX3Bvd2VyX3NhdmUpKTsKKworCW1lbXNldChfX2lndF9wbV9hdWRpb19y dW50aW1lX2NvbnRyb2wsIDAsCisJICAgICAgIHNpemVvZihfX2lndF9wbV9hdWRpb19ydW50aW1l X2NvbnRyb2wpKTsKKwogCWZyZWUoX19pZ3RfcG1fYXVkaW9fcnVudGltZV9jb250cm9sX3BhdGgp OwogCV9faWd0X3BtX2F1ZGlvX3J1bnRpbWVfY29udHJvbF9wYXRoID0gTlVMTDsKIApAQCAtMTc2 LDkgKzE4MSwxMCBAQCBzdGF0aWMgaW50IF9faWd0X3BtX2VuYWJsZV9hdWRpb19ydW50aW1lX3Bt KHZvaWQpCiAJCWlmIChmZCA8IDApCiAJCQljb250aW51ZTsKIAotCQlyZXQgPSByZWFkKGZkLCBi dWYsIHNpemVvZihidWYpKTsKKwkJcmV0ID0gcmVhZChmZCwgYnVmLCBzaXplb2YoYnVmKSAtIDEp OwogCQljbG9zZShmZCk7CiAJCWlndF9hc3NlcnQocmV0ID4gMCk7CisJCWJ1ZltyZXRdID0gJ1ww JzsKIAkJc3RyY2hvbXAoYnVmKTsKIAogCQkvKiBSZWFsdGVrIGFuZCBzaW1pbGFyIGRldmljZXMg YXJlIG5vdCB3aGF0IHdlIGFyZSBhZnRlci4gKi8KQEAgLTIwNiw3ICsyMTIsNyBAQCBzdGF0aWMg aW50IF9faWd0X3BtX2VuYWJsZV9hdWRpb19ydW50aW1lX3BtKHZvaWQpCiAJfQogCiAJaWd0X2Fz c2VydChyZWFkKGZkLCBfX2lndF9wbV9hdWRpb19ydW50aW1lX3Bvd2VyX3NhdmUsCi0JCQlzaXpl b2YoX19pZ3RfcG1fYXVkaW9fcnVudGltZV9wb3dlcl9zYXZlKSkgPiAwKTsKKwkJCXNpemVvZihf X2lndF9wbV9hdWRpb19ydW50aW1lX3Bvd2VyX3NhdmUpIC0gMSkgPiAwKTsKIAlzdHJjaG9tcChf X2lndF9wbV9hdWRpb19ydW50aW1lX3Bvd2VyX3NhdmUpOwogCWlndF9pbnN0YWxsX2V4aXRfaGFu ZGxlcihfX2lndF9wbV9hdWRpb19ydW50aW1lX2V4aXRfaGFuZGxlcik7CiAJaWd0X2Fzc2VydF9l cSh3cml0ZShmZCwgIjFcbiIsIDIpLCAyKTsKQEAgLTIxOSw3ICsyMjUsNyBAQCBzdGF0aWMgaW50 IF9faWd0X3BtX2VuYWJsZV9hdWRpb19ydW50aW1lX3BtKHZvaWQpCiAJfQogCiAJaWd0X2Fzc2Vy dChyZWFkKGZkLCBfX2lndF9wbV9hdWRpb19ydW50aW1lX2NvbnRyb2wsCi0JCQlzaXplb2YoX19p Z3RfcG1fYXVkaW9fcnVudGltZV9jb250cm9sKSkgPiAwKTsKKwkJCXNpemVvZihfX2lndF9wbV9h dWRpb19ydW50aW1lX2NvbnRyb2wpIC0gMSkgPiAwKTsKIAlzdHJjaG9tcChfX2lndF9wbV9hdWRp b19ydW50aW1lX2NvbnRyb2wpOwogCWlndF9hc3NlcnRfZXEod3JpdGUoZmQsICJhdXRvXG4iLCA1 KSwgNSk7CiAJY2xvc2UoZmQpOwpAQCAtNTI3LDcgKzUzMyw3IEBAIGJvb2wgaWd0X3NldHVwX3J1 bnRpbWVfcG0odm9pZCkKIAkgKiB0aGVtIG9uIHRlc3QgZXhpdC4KIAkgKi8KIAlzaXplID0gcmVh ZChmZCwgX19pZ3RfcG1fcnVudGltZV9hdXRvc3VzcGVuZCwKLQkJICAgIHNpemVvZihfX2lndF9w bV9ydW50aW1lX2F1dG9zdXNwZW5kKSk7CisJCSAgICBzaXplb2YoX19pZ3RfcG1fcnVudGltZV9h dXRvc3VzcGVuZCkgLSAxKTsKIAogCS8qCiAJICogSWYgd2UgZmFpbCB0byByZWFkIGZyb20gdGhl IGZpbGUsIGl0IG1lYW5zIHRoaXMgc3lzdGVtIGRvZXNuJ3QKQEAgLTUzOSw2ICs1NDUsOCBAQCBi b29sIGlndF9zZXR1cF9ydW50aW1lX3BtKHZvaWQpCiAJCXJldHVybiBmYWxzZTsKIAl9CiAKKwlf X2lndF9wbV9ydW50aW1lX2F1dG9zdXNwZW5kW3NpemVdID0gJ1wwJzsKKwogCXN0cmNob21wKF9f aWd0X3BtX3J1bnRpbWVfYXV0b3N1c3BlbmQpOwogCWlndF9pbnN0YWxsX2V4aXRfaGFuZGxlcihf X2lndF9wbV9ydW50aW1lX2V4aXRfaGFuZGxlcik7CiAKQEAgLTU1NCw3ICs1NjIsNyBAQCBib29s IGlndF9zZXR1cF9ydW50aW1lX3BtKHZvaWQpCiAJaWd0X2Fzc2VydF9mKGZkID49IDAsICJDYW4n dCBvcGVuICIgUE9XRVJfRElSICIvY29udHJvbFxuIik7CiAKIAlpZ3RfYXNzZXJ0KHJlYWQoZmQs IF9faWd0X3BtX3J1bnRpbWVfY29udHJvbCwKLQkJCXNpemVvZihfX2lndF9wbV9ydW50aW1lX2Nv bnRyb2wpKSA+IDApOworCQkJc2l6ZW9mKF9faWd0X3BtX3J1bnRpbWVfY29udHJvbCkgLSAxKSA+ IDApOwogCXN0cmNob21wKF9faWd0X3BtX3J1bnRpbWVfY29udHJvbCk7CiAKIAlpZ3RfZGVidWco IlNhdmVkIHJ1bnRpbWUgcG93ZXIgbWFuYWdlbWVudCBhcyAnJXMnIGFuZCAnJXMnXG4iLApAQCAt NTg4LDcgKzU5Niw3IEBAIGVudW0gaWd0X3J1bnRpbWVfcG1fc3RhdHVzIGlndF9nZXRfcnVudGlt ZV9wbV9zdGF0dXModm9pZCkKIAljaGFyIGJ1ZlszMl07CiAKIAlsc2VlayhwbV9zdGF0dXNfZmQs IDAsIFNFRUtfU0VUKTsKLQluX3JlYWQgPSByZWFkKHBtX3N0YXR1c19mZCwgYnVmLCBBUlJBWV9T SVpFKGJ1ZikpOworCW5fcmVhZCA9IHJlYWQocG1fc3RhdHVzX2ZkLCBidWYsIEFSUkFZX1NJWkUo YnVmKSAtIDEpOwogCWlndF9hc3NlcnQobl9yZWFkID49IDApOwogCWJ1ZltuX3JlYWRdID0gJ1ww JzsKIAotLSAKMi4xOS4xCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fXwppZ3QtZGV2IG1haWxpbmcgbGlzdAppZ3QtZGV2QGxpc3RzLmZyZWVkZXNrdG9wLm9y ZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2lndC1kZXY=