From mboxrd@z Thu Jan 1 00:00:00 1970 From: Matthew Auld Subject: [PATCH 09/10] drm/i915: prefer resource_size_t for everything stolen Date: Wed, 6 Dec 2017 18:17:29 +0000 Message-ID: <20171206181730.30551-10-matthew.auld@intel.com> References: <20171206181730.30551-1-matthew.auld@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga07.intel.com (mga07.intel.com [134.134.136.100]) by gabe.freedesktop.org (Postfix) with ESMTPS id 1C8096E702 for ; Wed, 6 Dec 2017 18:17:52 +0000 (UTC) In-Reply-To: <20171206181730.30551-1-matthew.auld@intel.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 Cc: Paulo Zanoni List-Id: intel-gfx@lists.freedesktop.org S2VlcHMgdGhpbmdzIGNvbnNpc3RlbnQgbm93IHRoYXQgd2UgbWFrZSB1c2Ugb2Ygc3RydWN0IHJl c291cmNlLiBUaGlzCnNob3VsZCBrZWVwIHVzIGNvdmVyZWQgaW4gY2FzZSB3ZSBldmVyIGdldCBo dWdlIGFtb3VudHMgb2Ygc3RvbGVuCm1lbW9yeS4KCnYyOiBidW5jaCBvZiBtaXNzaW5nIGNvbnZl cnNpb25zIChDaHJpcykKClNpZ25lZC1vZmYtYnk6IE1hdHRoZXcgQXVsZCA8bWF0dGhldy5hdWxk QGludGVsLmNvbT4KQ2M6IEpvb25hcyBMYWh0aW5lbiA8am9vbmFzLmxhaHRpbmVuQGxpbnV4Lmlu dGVsLmNvbT4KQ2M6IENocmlzIFdpbHNvbiA8Y2hyaXNAY2hyaXMtd2lsc29uLmNvLnVrPgpDYzog UGF1bG8gWmFub25pIDxwYXVsby5yLnphbm9uaUBpbnRlbC5jb20+Ci0tLQogZHJpdmVycy9jaGFy L2FncC9pbnRlbC1ndHQuYyAgICAgICAgICAgfCAxMiArKysrKy0tLS0tCiBkcml2ZXJzL2dwdS9k cm0vaTkxNS9pOTE1X2RlYnVnZnMuYyAgICB8ICA0ICsrLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1 L2k5MTVfZHJ2LmggICAgICAgIHwgMTEgKysrKystLS0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUv aTkxNV9nZW1fZ3R0LmMgICAgfCAxMCArKysrLS0tLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5 MTVfZ2VtX2d0dC5oICAgIHwgIDIgKy0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX3N0 b2xlbi5jIHwgNDAgKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tLQogZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfcG0uYyAgICAgICAgfCAxMCArKysrLS0tLS0KIGluY2x1ZGUvZHJt L2ludGVsLWd0dC5oICAgICAgICAgICAgICAgIHwgIDIgKy0KIDggZmlsZXMgY2hhbmdlZCwgNDYg aW5zZXJ0aW9ucygrKSwgNDUgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9jaGFy L2FncC9pbnRlbC1ndHQuYyBiL2RyaXZlcnMvY2hhci9hZ3AvaW50ZWwtZ3R0LmMKaW5kZXggMDUw NzA4ZTQ1NjJlLi5iMWMwODU5ZWQ2OGIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvY2hhci9hZ3AvaW50 ZWwtZ3R0LmMKKysrIGIvZHJpdmVycy9jaGFyL2FncC9pbnRlbC1ndHQuYwpAQCAtODAsNyArODAs NyBAQCBzdGF0aWMgc3RydWN0IF9pbnRlbF9wcml2YXRlIHsKIAl1bnNpZ25lZCBpbnQgbmVlZHNf ZG1hciA6IDE7CiAJcGh5c19hZGRyX3QgZ21hX2J1c19hZGRyOwogCS8qICBTaXplIG9mIG1lbW9y eSByZXNlcnZlZCBmb3IgZ3JhcGhpY3MgYnkgdGhlIEJJT1MgKi8KLQl1bnNpZ25lZCBpbnQgc3Rv bGVuX3NpemU7CisJcmVzb3VyY2Vfc2l6ZV90IHN0b2xlbl9zaXplOwogCS8qIFRvdGFsIG51bWJl ciBvZiBndHQgZW50cmllcy4gKi8KIAl1bnNpZ25lZCBpbnQgZ3R0X3RvdGFsX2VudHJpZXM7CiAJ LyogUGFydCBvZiB0aGUgZ3R0IHRoYXQgaXMgbWFwcGFibGUgYnkgdGhlIGNwdSwgZm9yIHRob3Nl IGNoaXBzIHdoZXJlCkBAIC0zMzMsMTMgKzMzMywxMyBAQCBzdGF0aWMgdm9pZCBpODEwX3dyaXRl X2VudHJ5KGRtYV9hZGRyX3QgYWRkciwgdW5zaWduZWQgaW50IGVudHJ5LAogCXdyaXRlbF9yZWxh eGVkKGFkZHIgfCBwdGVfZmxhZ3MsIGludGVsX3ByaXZhdGUuZ3R0ICsgZW50cnkpOwogfQogCi1z dGF0aWMgdW5zaWduZWQgaW50IGludGVsX2d0dF9zdG9sZW5fc2l6ZSh2b2lkKQorc3RhdGljIHJl c291cmNlX3NpemVfdCBpbnRlbF9ndHRfc3RvbGVuX3NpemUodm9pZCkKIHsKIAl1MTYgZ21jaF9j dHJsOwogCXU4IHJkY3Q7CiAJaW50IGxvY2FsID0gMDsKIAlzdGF0aWMgY29uc3QgaW50IGRkdFs0 XSA9IHsgMCwgMTYsIDMyLCA2NCB9OwotCXVuc2lnbmVkIGludCBzdG9sZW5fc2l6ZSA9IDA7CisJ cmVzb3VyY2Vfc2l6ZV90IHN0b2xlbl9zaXplID0gMDsKIAogCWlmIChJTlRFTF9HVFRfR0VOID09 IDEpCiAJCXJldHVybiAwOyAvKiBubyBzdG9sZW4gbWVtIG9uIGk4MXggKi8KQEAgLTQxNyw4ICs0 MTcsOCBAQCBzdGF0aWMgdW5zaWduZWQgaW50IGludGVsX2d0dF9zdG9sZW5fc2l6ZSh2b2lkKQog CX0KIAogCWlmIChzdG9sZW5fc2l6ZSA+IDApIHsKLQkJZGV2X2luZm8oJmludGVsX3ByaXZhdGUu YnJpZGdlX2Rldi0+ZGV2LCAiZGV0ZWN0ZWQgJWRLICVzIG1lbW9yeVxuIiwKLQkJICAgICAgIHN0 b2xlbl9zaXplIC8gS0IoMSksIGxvY2FsID8gImxvY2FsIiA6ICJzdG9sZW4iKTsKKwkJZGV2X2lu Zm8oJmludGVsX3ByaXZhdGUuYnJpZGdlX2Rldi0+ZGV2LCAiZGV0ZWN0ZWQgJWxsdUsgJXMgbWVt b3J5XG4iLAorCQkgICAgICAgKHU2NClzdG9sZW5fc2l6ZSAvIEtCKDEpLCBsb2NhbCA/ICJsb2Nh bCIgOiAic3RvbGVuIik7CiAJfSBlbHNlIHsKIAkJZGV2X2luZm8oJmludGVsX3ByaXZhdGUuYnJp ZGdlX2Rldi0+ZGV2LAogCQkgICAgICAgIm5vIHByZS1hbGxvY2F0ZWQgdmlkZW8gbWVtb3J5IGRl dGVjdGVkXG4iKTsKQEAgLTE0MjMsNyArMTQyMyw3IEBAIEVYUE9SVF9TWU1CT0woaW50ZWxfZ21j aF9wcm9iZSk7CiAKIHZvaWQgaW50ZWxfZ3R0X2dldCh1NjQgKmd0dF90b3RhbCwKIAkJICAgcGh5 c19hZGRyX3QgKm1hcHBhYmxlX2Jhc2UsCi0JCSAgIHU2NCAqbWFwcGFibGVfZW5kKQorCQkgICBy ZXNvdXJjZV9zaXplX3QgKm1hcHBhYmxlX2VuZCkKIHsKIAkqZ3R0X3RvdGFsID0gaW50ZWxfcHJp dmF0ZS5ndHRfdG90YWxfZW50cmllcyA8PCBQQUdFX1NISUZUOwogCSptYXBwYWJsZV9iYXNlID0g aW50ZWxfcHJpdmF0ZS5nbWFfYnVzX2FkZHI7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pOTE1X2RlYnVnZnMuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZGVidWdmcy5j CmluZGV4IDI4Mjk0NDcwYWUzMS4uZmFkNDExNmY2MWM1IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pOTE1X2RlYnVnZnMuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1 X2RlYnVnZnMuYwpAQCAtNTIyLDggKzUyMiw4IEBAIHN0YXRpYyBpbnQgaTkxNV9nZW1fb2JqZWN0 X2luZm8oc3RydWN0IHNlcV9maWxlICptLCB2b2lkICpkYXRhKQogCXNlcV9wcmludGYobSwgIiV1 IGRpc3BsYXkgb2JqZWN0cyAoZ2xvYmFsbHkgcGlubmVkKSwgJWxsdSBieXRlc1xuIiwKIAkJICAg ZHB5X2NvdW50LCBkcHlfc2l6ZSk7CiAKLQlzZXFfcHJpbnRmKG0sICIlbGx1IFslbGx1XSBndHQg dG90YWxcbiIsCi0JCSAgIGdndHQtPmJhc2UudG90YWwsIGdndHQtPm1hcHBhYmxlX2VuZCk7CisJ c2VxX3ByaW50ZihtLCAiJWxsdSBbJXBhXSBndHQgdG90YWxcbiIsCisJCSAgIGdndHQtPmJhc2Uu dG90YWwsICZnZ3R0LT5tYXBwYWJsZV9lbmQpOwogCXNlcV9wcmludGYobSwgIlN1cHBvcnRlZCBw YWdlIHNpemVzOiAlc1xuIiwKIAkJICAgc3RyaW5naWZ5X3BhZ2Vfc2l6ZXMoSU5URUxfSU5GTyhk ZXZfcHJpdiktPnBhZ2Vfc2l6ZXMsCiAJCQkJCWJ1Ziwgc2l6ZW9mKGJ1ZikpKTsKZGlmZiAtLWdp dCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pOTE1X2Rydi5oCmluZGV4IDJjM2UxZDcxNWMxMS4uNjZiZGUwMjEwYjgwIDEwMDY0NAotLS0g YS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2k5MTVfZHJ2LmgKQEAgLTIyNzEsNyArMjI3MSw3IEBAIHN0cnVjdCBkcm1faTkxNV9wcml2 YXRlIHsKIAkgKiBhdm9pZCB0aGUgZmlyc3QgcGFnZSEgVGhlIHVwcGVyIGVuZCBvZiBzdG9sZW4g bWVtb3J5IGlzIHJlc2VydmVkIGZvcgogCSAqIGhhcmR3YXJlIGZ1bmN0aW9ucyBhbmQgc2ltaWxh cmx5IHJlbW92ZWQgZnJvbSB0aGUgYWNjZXNzaWJsZSByYW5nZS4KIAkgKi8KLQl1MzIgc3RvbGVu X3VzYWJsZV9zaXplOwkvKiBUb3RhbCBzaXplIG1pbnVzIHJlc2VydmVkIHJhbmdlcyAqLworCXJl c291cmNlX3NpemVfdCBzdG9sZW5fdXNhYmxlX3NpemU7CS8qIFRvdGFsIHNpemUgbWludXMgcmVz ZXJ2ZWQgcmFuZ2VzICovCiAKIAl2b2lkIF9faW9tZW0gKnJlZ3M7CiAKQEAgLTM5MjgsMTIgKzM5 MjgsMTMgQEAgdm9pZCBpOTE1X2dlbV9zdG9sZW5fcmVtb3ZlX25vZGUoc3RydWN0IGRybV9pOTE1 X3ByaXZhdGUgKmRldl9wcml2LAogaW50IGk5MTVfZ2VtX2luaXRfc3RvbGVuKHN0cnVjdCBkcm1f aTkxNV9wcml2YXRlICpkZXZfcHJpdik7CiB2b2lkIGk5MTVfZ2VtX2NsZWFudXBfc3RvbGVuKHN0 cnVjdCBkcm1fZGV2aWNlICpkZXYpOwogc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKgotaTkx NV9nZW1fb2JqZWN0X2NyZWF0ZV9zdG9sZW4oc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9w cml2LCB1MzIgc2l6ZSk7CitpOTE1X2dlbV9vYmplY3RfY3JlYXRlX3N0b2xlbihzdHJ1Y3QgZHJt X2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCisJCQkgICAgICByZXNvdXJjZV9zaXplX3Qgc2l6ZSk7 CiBzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqCiBpOTE1X2dlbV9vYmplY3RfY3JlYXRlX3N0 b2xlbl9mb3JfcHJlYWxsb2NhdGVkKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwK LQkJCQkJICAgICAgIHUzMiBzdG9sZW5fb2Zmc2V0LAotCQkJCQkgICAgICAgdTMyIGd0dF9vZmZz ZXQsCi0JCQkJCSAgICAgICB1MzIgc2l6ZSk7CisJCQkJCSAgICAgICByZXNvdXJjZV9zaXplX3Qg c3RvbGVuX29mZnNldCwKKwkJCQkJICAgICAgIHJlc291cmNlX3NpemVfdCBndHRfb2Zmc2V0LAor CQkJCQkgICAgICAgcmVzb3VyY2Vfc2l6ZV90IHNpemUpOwogCiAvKiBpOTE1X2dlbV9pbnRlcm5h bC5jICovCiBzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqCmRpZmYgLS1naXQgYS9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9ndHQuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVf Z2VtX2d0dC5jCmluZGV4IDA5YzQyNWUzNWI1Ni4uNWE3YmM3OTE3ZDliIDEwMDY0NAotLS0gYS9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9ndHQuYworKysgYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pOTE1X2dlbV9ndHQuYwpAQCAtMzM1NCw3ICszMzU0LDcgQEAgc3RhdGljIGludCBnZW42 X2dtY2hfcHJvYmUoc3RydWN0IGk5MTVfZ2d0dCAqZ2d0dCkKIAkgKiBhIGNvYXJzZSBzYW5pdHkg Y2hlY2suCiAJICovCiAJaWYgKGdndHQtPm1hcHBhYmxlX2VuZCA8ICg2NDw8MjApIHx8IGdndHQt Pm1hcHBhYmxlX2VuZCA+ICg1MTI8PDIwKSkgewotCQlEUk1fRVJST1IoIlVua25vd24gR01BRFIg c2l6ZSAoJWxseClcbiIsIGdndHQtPm1hcHBhYmxlX2VuZCk7CisJCURSTV9FUlJPUigiVW5rbm93 biBHTUFEUiBzaXplICglcGEpXG4iLCAmZ2d0dC0+bWFwcGFibGVfZW5kKTsKIAkJcmV0dXJuIC1F TlhJTzsKIAl9CiAKQEAgLTM0NjQsNyArMzQ2NCw3IEBAIGludCBpOTE1X2dndHRfcHJvYmVfaHco c3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQogCSAqLwogCWlmIChVU0VTX0dVQyhk ZXZfcHJpdikpIHsKIAkJZ2d0dC0+YmFzZS50b3RhbCA9IG1pbl90KHU2NCwgZ2d0dC0+YmFzZS50 b3RhbCwgR1VDX0dHVFRfVE9QKTsKLQkJZ2d0dC0+bWFwcGFibGVfZW5kID0gbWluKGdndHQtPm1h cHBhYmxlX2VuZCwgZ2d0dC0+YmFzZS50b3RhbCk7CisJCWdndHQtPm1hcHBhYmxlX2VuZCA9IG1p bl90KHU2NCwgZ2d0dC0+bWFwcGFibGVfZW5kLCBnZ3R0LT5iYXNlLnRvdGFsKTsKIAl9CiAKIAlp ZiAoKGdndHQtPmJhc2UudG90YWwgLSAxKSA+PiAzMikgewpAQCAtMzQ3MiwxMyArMzQ3MiwxMyBA QCBpbnQgaTkxNV9nZ3R0X3Byb2JlX2h3KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJp dikKIAkJCSAgIiBvZiBhZGRyZXNzIHNwYWNlISBGb3VuZCAlbGxkTSFcbiIsCiAJCQkgIGdndHQt PmJhc2UudG90YWwgPj4gMjApOwogCQlnZ3R0LT5iYXNlLnRvdGFsID0gMVVMTCA8PCAzMjsKLQkJ Z2d0dC0+bWFwcGFibGVfZW5kID0gbWluKGdndHQtPm1hcHBhYmxlX2VuZCwgZ2d0dC0+YmFzZS50 b3RhbCk7CisJCWdndHQtPm1hcHBhYmxlX2VuZCA9IG1pbl90KHU2NCwgZ2d0dC0+bWFwcGFibGVf ZW5kLCBnZ3R0LT5iYXNlLnRvdGFsKTsKIAl9CiAKIAlpZiAoZ2d0dC0+bWFwcGFibGVfZW5kID4g Z2d0dC0+YmFzZS50b3RhbCkgewogCQlEUk1fRVJST1IoIm1hcHBhYmxlIGFwZXJ0dXJlIGV4dGVu ZHMgcGFzdCBlbmQgb2YgR0dUVCwiCi0JCQkgICIgYXBlcnR1cmU9JWxseCwgdG90YWw9JWxseFxu IiwKLQkJCSAgZ2d0dC0+bWFwcGFibGVfZW5kLCBnZ3R0LT5iYXNlLnRvdGFsKTsKKwkJCSAgIiBh cGVydHVyZT0lcGEsIHRvdGFsPSVsbHhcbiIsCisJCQkgICZnZ3R0LT5tYXBwYWJsZV9lbmQsIGdn dHQtPmJhc2UudG90YWwpOwogCQlnZ3R0LT5tYXBwYWJsZV9lbmQgPSBnZ3R0LT5iYXNlLnRvdGFs OwogCX0KIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZ3R0Lmgg Yi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9ndHQuaAppbmRleCBlNWFhMDdjZWI2Mjcu LmE0Mjg5MGQ5YWYzOCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1f Z3R0LmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZ3R0LmgKQEAgLTM3MSw3 ICszNzEsNyBAQCBzdHJ1Y3QgaTkxNV9nZ3R0IHsKIAogCXN0cnVjdCBpb19tYXBwaW5nIGlvbWFw OwkvKiBNYXBwaW5nIHRvIG91ciBDUFUgbWFwcGFibGUgcmVnaW9uICovCiAJc3RydWN0IHJlc291 cmNlIGdtYWRyOyAgICAgICAgICAvKiBHTUFEUiByZXNvdXJjZSAqLwotCXU2NCBtYXBwYWJsZV9l bmQ7CQkvKiBFbmQgb2Zmc2V0IHRoYXQgd2UgY2FuIENQVSBtYXAgKi8KKwlyZXNvdXJjZV9zaXpl X3QgbWFwcGFibGVfZW5kOwkvKiBFbmQgb2Zmc2V0IHRoYXQgd2UgY2FuIENQVSBtYXAgKi8KIAog CS8qKiAiR3JhcGhpY3MgU3RvbGVuIE1lbW9yeSIgaG9sZHMgdGhlIGdsb2JhbCBQVEVzICovCiAJ dm9pZCBfX2lvbWVtICpnc207CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1 X2dlbV9zdG9sZW4uYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX3N0b2xlbi5jCmlu ZGV4IGMzYTA5ZDY2NTA0Ny4uMjI2N2FmNjhjM2UxIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pOTE1X2dlbV9zdG9sZW4uYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1 X2dlbV9zdG9sZW4uYwpAQCAtOTMsNyArOTMsNyBAQCBzdGF0aWMgaW50IGk5MTVfYWRqdXN0X3N0 b2xlbihzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCiAJCQlERUZJTkVfUkVTX01F TShkc20tPnN0YXJ0LCByZXNvdXJjZV9zaXplKGRzbSkpLAogCQl9OwogCQlzdHJ1Y3QgcmVzb3Vy Y2UgZ2d0dF9yZXM7Ci0JCXU2NCBnZ3R0X3N0YXJ0OworCQlyZXNvdXJjZV9zaXplX3QgZ2d0dF9z dGFydDsKIAogCQlnZ3R0X3N0YXJ0ID0gSTkxNV9SRUFEKFBHVEJMX0NUTCk7CiAJCWlmIChJU19H RU40KGRldl9wcml2KSkKQEAgLTE3MSwxMiArMTcxLDEyIEBAIHZvaWQgaTkxNV9nZW1fY2xlYW51 cF9zdG9sZW4oc3RydWN0IGRybV9kZXZpY2UgKmRldikKIH0KIAogc3RhdGljIHZvaWQgZzR4X2dl dF9zdG9sZW5fcmVzZXJ2ZWQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAotCQkJ CSAgICBkbWFfYWRkcl90ICpiYXNlLCB1MzIgKnNpemUpCisJCQkJICAgIHJlc291cmNlX3NpemVf dCAqYmFzZSwgcmVzb3VyY2Vfc2l6ZV90ICpzaXplKQogewogCXVpbnQzMl90IHJlZ192YWwgPSBJ OTE1X1JFQUQoSVNfR000NShkZXZfcHJpdikgPwogCQkJCSAgICAgQ1RHX1NUT0xFTl9SRVNFUlZF RCA6CiAJCQkJICAgICBFTEtfU1RPTEVOX1JFU0VSVkVEKTsKLQlkbWFfYWRkcl90IHN0b2xlbl90 b3AgPSBkZXZfcHJpdi0+ZHNtLmVuZCArIDE7CisJcmVzb3VyY2Vfc2l6ZV90IHN0b2xlbl90b3Ag PSBkZXZfcHJpdi0+ZHNtLmVuZCArIDE7CiAKIAlpZiAoKHJlZ192YWwgJiBHNFhfU1RPTEVOX1JF U0VSVkVEX0VOQUJMRSkgPT0gMCkgewogCQkqYmFzZSA9IDA7CkBAIC0yMDUsNyArMjA1LDcgQEAg c3RhdGljIHZvaWQgZzR4X2dldF9zdG9sZW5fcmVzZXJ2ZWQoc3RydWN0IGRybV9pOTE1X3ByaXZh dGUgKmRldl9wcml2LAogfQogCiBzdGF0aWMgdm9pZCBnZW42X2dldF9zdG9sZW5fcmVzZXJ2ZWQo c3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAotCQkJCSAgICAgZG1hX2FkZHJfdCAq YmFzZSwgdTMyICpzaXplKQorCQkJCSAgICAgcmVzb3VyY2Vfc2l6ZV90ICpiYXNlLCByZXNvdXJj ZV9zaXplX3QgKnNpemUpCiB7CiAJdWludDMyX3QgcmVnX3ZhbCA9IEk5MTVfUkVBRChHRU42X1NU T0xFTl9SRVNFUlZFRCk7CiAKQEAgLTIzNyw3ICsyMzcsNyBAQCBzdGF0aWMgdm9pZCBnZW42X2dl dF9zdG9sZW5fcmVzZXJ2ZWQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAogfQog CiBzdGF0aWMgdm9pZCBnZW43X2dldF9zdG9sZW5fcmVzZXJ2ZWQoc3RydWN0IGRybV9pOTE1X3By aXZhdGUgKmRldl9wcml2LAotCQkJCSAgICAgZG1hX2FkZHJfdCAqYmFzZSwgdTMyICpzaXplKQor CQkJCSAgICAgcmVzb3VyY2Vfc2l6ZV90ICpiYXNlLCByZXNvdXJjZV9zaXplX3QgKnNpemUpCiB7 CiAJdWludDMyX3QgcmVnX3ZhbCA9IEk5MTVfUkVBRChHRU42X1NUT0xFTl9SRVNFUlZFRCk7CiAK QEAgLTI2Myw3ICsyNjMsNyBAQCBzdGF0aWMgdm9pZCBnZW43X2dldF9zdG9sZW5fcmVzZXJ2ZWQo c3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAogfQogCiBzdGF0aWMgdm9pZCBjaHZf Z2V0X3N0b2xlbl9yZXNlcnZlZChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCi0J CQkJICAgIGRtYV9hZGRyX3QgKmJhc2UsIHUzMiAqc2l6ZSkKKwkJCQkgICAgcmVzb3VyY2Vfc2l6 ZV90ICpiYXNlLCByZXNvdXJjZV9zaXplX3QgKnNpemUpCiB7CiAJdWludDMyX3QgcmVnX3ZhbCA9 IEk5MTVfUkVBRChHRU42X1NUT0xFTl9SRVNFUlZFRCk7CiAKQEAgLTI5NSwxMCArMjk1LDEwIEBA IHN0YXRpYyB2b2lkIGNodl9nZXRfc3RvbGVuX3Jlc2VydmVkKHN0cnVjdCBkcm1faTkxNV9wcml2 YXRlICpkZXZfcHJpdiwKIH0KIAogc3RhdGljIHZvaWQgYmR3X2dldF9zdG9sZW5fcmVzZXJ2ZWQo c3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAotCQkJCSAgICBkbWFfYWRkcl90ICpi YXNlLCB1MzIgKnNpemUpCisJCQkJICAgIHJlc291cmNlX3NpemVfdCAqYmFzZSwgcmVzb3VyY2Vf c2l6ZV90ICpzaXplKQogewogCXVpbnQzMl90IHJlZ192YWwgPSBJOTE1X1JFQUQoR0VONl9TVE9M RU5fUkVTRVJWRUQpOwotCWRtYV9hZGRyX3Qgc3RvbGVuX3RvcDsKKwlyZXNvdXJjZV9zaXplX3Qg c3RvbGVuX3RvcDsKIAogCWlmICgocmVnX3ZhbCAmIEdFTjZfU1RPTEVOX1JFU0VSVkVEX0VOQUJM RSkgPT0gMCkgewogCQkqYmFzZSA9IDA7CkBAIC0zMjIsOSArMzIyLDkgQEAgc3RhdGljIHZvaWQg YmR3X2dldF9zdG9sZW5fcmVzZXJ2ZWQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2 LAogCiBpbnQgaTkxNV9nZW1faW5pdF9zdG9sZW4oc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRl dl9wcml2KQogewotCWRtYV9hZGRyX3QgcmVzZXJ2ZWRfYmFzZSwgc3RvbGVuX3RvcDsKLQl1MzIg cmVzZXJ2ZWRfdG90YWwsIHJlc2VydmVkX3NpemU7Ci0JdTMyIHN0b2xlbl91c2FibGVfc3RhcnQ7 CisJcmVzb3VyY2Vfc2l6ZV90IHJlc2VydmVkX2Jhc2UsIHN0b2xlbl90b3A7CisJcmVzb3VyY2Vf c2l6ZV90IHJlc2VydmVkX3RvdGFsLCByZXNlcnZlZF9zaXplOworCXJlc291cmNlX3NpemVfdCBz dG9sZW5fdXNhYmxlX3N0YXJ0OwogCiAJbXV0ZXhfaW5pdCgmZGV2X3ByaXYtPm1tLnN0b2xlbl9s b2NrKTsKIApAQCAtNDI0LDE0ICs0MjQsMTMgQEAgaW50IGk5MTVfZ2VtX2luaXRfc3RvbGVuKHN0 cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKIAogc3RhdGljIHN0cnVjdCBzZ190YWJs ZSAqCiBpOTE1X3BhZ2VzX2NyZWF0ZV9mb3Jfc3RvbGVuKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYs Ci0JCQkgICAgIHUzMiBvZmZzZXQsIHUzMiBzaXplKQorCQkJICAgICByZXNvdXJjZV9zaXplX3Qg b2Zmc2V0LCByZXNvdXJjZV9zaXplX3Qgc2l6ZSkKIHsKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0 ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGRldik7CiAJc3RydWN0IHNnX3RhYmxlICpzdDsKIAlzdHJ1 Y3Qgc2NhdHRlcmxpc3QgKnNnOwogCi0JR0VNX0JVR19PTihyYW5nZV9vdmVyZmxvd3NfdChyZXNv dXJjZV9zaXplX3QsIG9mZnNldCwgc2l6ZSwKLQkJCQkgICAgIHJlc291cmNlX3NpemUoJmRldl9w cml2LT5kc20pKSk7CisJR0VNX0JVR19PTihyYW5nZV9vdmVyZmxvd3Mob2Zmc2V0LCBzaXplLCBy ZXNvdXJjZV9zaXplKCZkZXZfcHJpdi0+ZHNtKSkpOwogCiAJLyogV2UgaGlkZSB0aGF0IHdlIGhh dmUgbm8gc3RydWN0IHBhZ2UgYmFja2luZyBvdXIgc3RvbGVuIG9iamVjdAogCSAqIGJ5IHdyYXBw aW5nIHRoZSBjb250aWd1b3VzIHBoeXNpY2FsIGFsbG9jYXRpb24gd2l0aCBhIGZha2UKQEAgLTUy OSw3ICs1MjgsOCBAQCBfaTkxNV9nZW1fb2JqZWN0X2NyZWF0ZV9zdG9sZW4oc3RydWN0IGRybV9p OTE1X3ByaXZhdGUgKmRldl9wcml2LAogfQogCiBzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAq Ci1pOTE1X2dlbV9vYmplY3RfY3JlYXRlX3N0b2xlbihzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAq ZGV2X3ByaXYsIHUzMiBzaXplKQoraTkxNV9nZW1fb2JqZWN0X2NyZWF0ZV9zdG9sZW4oc3RydWN0 IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAorCQkJICAgICAgcmVzb3VyY2Vfc2l6ZV90IHNp emUpCiB7CiAJc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iajsKIAlzdHJ1Y3QgZHJtX21t X25vZGUgKnN0b2xlbjsKQEAgLTU2Miw5ICs1NjIsOSBAQCBpOTE1X2dlbV9vYmplY3RfY3JlYXRl X3N0b2xlbihzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsIHUzMiBzaXplKQogCiBz dHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqCiBpOTE1X2dlbV9vYmplY3RfY3JlYXRlX3N0b2xl bl9mb3JfcHJlYWxsb2NhdGVkKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKLQkJ CQkJICAgICAgIHUzMiBzdG9sZW5fb2Zmc2V0LAotCQkJCQkgICAgICAgdTMyIGd0dF9vZmZzZXQs Ci0JCQkJCSAgICAgICB1MzIgc2l6ZSkKKwkJCQkJICAgICAgIHJlc291cmNlX3NpemVfdCBzdG9s ZW5fb2Zmc2V0LAorCQkJCQkgICAgICAgcmVzb3VyY2Vfc2l6ZV90IGd0dF9vZmZzZXQsCisJCQkJ CSAgICAgICByZXNvdXJjZV9zaXplX3Qgc2l6ZSkKIHsKIAlzdHJ1Y3QgaTkxNV9nZ3R0ICpnZ3R0 ID0gJmRldl9wcml2LT5nZ3R0OwogCXN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmo7CkBA IC01NzcsOCArNTc3LDggQEAgaTkxNV9nZW1fb2JqZWN0X2NyZWF0ZV9zdG9sZW5fZm9yX3ByZWFs bG9jYXRlZChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYKIAogCWxvY2tkZXBfYXNz ZXJ0X2hlbGQoJmRldl9wcml2LT5kcm0uc3RydWN0X211dGV4KTsKIAotCURSTV9ERUJVR19LTVMo ImNyZWF0aW5nIHByZWFsbG9jYXRlZCBzdG9sZW4gb2JqZWN0OiBzdG9sZW5fb2Zmc2V0PSV4LCBn dHRfb2Zmc2V0PSV4LCBzaXplPSV4XG4iLAotCQkJc3RvbGVuX29mZnNldCwgZ3R0X29mZnNldCwg c2l6ZSk7CisJRFJNX0RFQlVHX0tNUygiY3JlYXRpbmcgcHJlYWxsb2NhdGVkIHN0b2xlbiBvYmpl Y3Q6IHN0b2xlbl9vZmZzZXQ9JXBhLCBndHRfb2Zmc2V0PSVwYSwgc2l6ZT0lcGFcbiIsCisJCQkm c3RvbGVuX29mZnNldCwgJmd0dF9vZmZzZXQsICZzaXplKTsKIAogCS8qIEtJU1MgYW5kIGV4cGVj dCBldmVyeXRoaW5nIHRvIGJlIHBhZ2UtYWxpZ25lZCAqLwogCWlmIChXQVJOX09OKHNpemUgPT0g MCkgfHwKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3BtLmMgYi9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9wbS5jCmluZGV4IDU3ZGNmOGUxZmYzMC4uMTg3NzljNmVi NGJmIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9wbS5jCisrKyBiL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3BtLmMKQEAgLTcwMzMsOSArNzAzMyw5IEBAIHN0YXRp YyB2b2lkIGNoZXJyeXZpZXdfY2hlY2tfcGN0eChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2 X3ByaXYpCiAKIHN0YXRpYyB2b2lkIGNoZXJyeXZpZXdfc2V0dXBfcGN0eChzdHJ1Y3QgZHJtX2k5 MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCiB7Ci0JdW5zaWduZWQgbG9uZyBwY3R4X3BhZGRyLCBwYWRk cjsKKwlyZXNvdXJjZV9zaXplX3QgcGN0eF9wYWRkciwgcGFkZHI7CisJcmVzb3VyY2Vfc2l6ZV90 IHBjdHhfc2l6ZSA9IDMyKjEwMjQ7CiAJdTMyIHBjYnI7Ci0JaW50IHBjdHhfc2l6ZSA9IDMyKjEw MjQ7CiAKIAlwY2JyID0gSTkxNV9SRUFEKFZMVl9QQ0JSKTsKIAlpZiAoKHBjYnIgPj4gVkxWX1BD QlJfQUREUl9TSElGVCkgPT0gMCkgewpAQCAtNzA1MywxNCArNzA1MywxNCBAQCBzdGF0aWMgdm9p ZCBjaGVycnl2aWV3X3NldHVwX3BjdHgoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2 KQogc3RhdGljIHZvaWQgdmFsbGV5dmlld19zZXR1cF9wY3R4KHN0cnVjdCBkcm1faTkxNV9wcml2 YXRlICpkZXZfcHJpdikKIHsKIAlzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqcGN0eDsKLQl1 bnNpZ25lZCBsb25nIHBjdHhfcGFkZHI7CisJcmVzb3VyY2Vfc2l6ZV90IHBjdHhfcGFkZHI7CisJ cmVzb3VyY2Vfc2l6ZV90IHBjdHhfc2l6ZSA9IDI0KjEwMjQ7CiAJdTMyIHBjYnI7Ci0JaW50IHBj dHhfc2l6ZSA9IDI0KjEwMjQ7CiAKIAlwY2JyID0gSTkxNV9SRUFEKFZMVl9QQ0JSKTsKIAlpZiAo cGNicikgewogCQkvKiBCSU9TIHNldCBpdCB1cCBhbHJlYWR5LCBncmFiIHRoZSBwcmUtYWxsb2Mn ZCBzcGFjZSAqLwotCQlpbnQgcGNicl9vZmZzZXQ7CisJCXJlc291cmNlX3NpemVfdCBwY2JyX29m ZnNldDsKIAogCQlwY2JyX29mZnNldCA9IChwY2JyICYgKH40MDk1KSkgLSBkZXZfcHJpdi0+ZHNt LnN0YXJ0OwogCQlwY3R4ID0gaTkxNV9nZW1fb2JqZWN0X2NyZWF0ZV9zdG9sZW5fZm9yX3ByZWFs bG9jYXRlZChkZXZfcHJpdiwKZGlmZiAtLWdpdCBhL2luY2x1ZGUvZHJtL2ludGVsLWd0dC5oIGIv aW5jbHVkZS9kcm0vaW50ZWwtZ3R0LmgKaW5kZXggOGM1NzdjYTM4ZTJlLi4yMzI0Yzg0YTI1YzAg MTAwNjQ0Ci0tLSBhL2luY2x1ZGUvZHJtL2ludGVsLWd0dC5oCisrKyBiL2luY2x1ZGUvZHJtL2lu dGVsLWd0dC5oCkBAIC02LDcgKzYsNyBAQAogCiB2b2lkIGludGVsX2d0dF9nZXQodTY0ICpndHRf dG90YWwsCiAJCSAgIHBoeXNfYWRkcl90ICptYXBwYWJsZV9iYXNlLAotCQkgICB1NjQgKm1hcHBh YmxlX2VuZCk7CisJCSAgIHJlc291cmNlX3NpemVfdCAqbWFwcGFibGVfZW5kKTsKIAogaW50IGlu dGVsX2dtY2hfcHJvYmUoc3RydWN0IHBjaV9kZXYgKmJyaWRnZV9wZGV2LCBzdHJ1Y3QgcGNpX2Rl diAqZ3B1X3BkZXYsCiAJCSAgICAgc3RydWN0IGFncF9icmlkZ2VfZGF0YSAqYnJpZGdlKTsKLS0g CjIuMTQuMwoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18K SW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0 dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==