From mboxrd@z Thu Jan 1 00:00:00 1970 From: Matthew Auld Subject: [PATCH v8 9/9] drm/i915: prefer resource_size_t for everything stolen Date: Mon, 11 Dec 2017 15:18:22 +0000 Message-ID: <20171211151822.20953-10-matthew.auld@intel.com> References: <20171211151822.20953-1-matthew.auld@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga12.intel.com (mga12.intel.com [192.55.52.136]) by gabe.freedesktop.org (Postfix) with ESMTPS id AA8C46E2FA for ; Mon, 11 Dec 2017 15:18:43 +0000 (UTC) In-Reply-To: <20171211151822.20953-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+ClJldmlld2VkLWJ5OiBDaHJp cyBXaWxzb24gPGNocmlzQGNocmlzLXdpbHNvbi5jby51az4KLS0tCiBkcml2ZXJzL2NoYXIvYWdw L2ludGVsLWd0dC5jICAgICAgICAgICB8IDEyICsrKysrLS0tLS0KIGRyaXZlcnMvZ3B1L2RybS9p OTE1L2k5MTVfZGVidWdmcy5jICAgIHwgIDQgKystLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkx NV9kcnYuaCAgICAgICAgfCAxMSArKysrKy0tLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1 X2dlbV9ndHQuYyAgICB8IDEwICsrKystLS0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9n ZW1fZ3R0LmggICAgfCAgMiArLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fc3RvbGVu LmMgfCA0MCArKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tCiBkcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF9wbS5jICAgICAgICB8IDEwICsrKystLS0tLQogaW5jbHVkZS9kcm0vaW50 ZWwtZ3R0LmggICAgICAgICAgICAgICAgfCAgMiArLQogOCBmaWxlcyBjaGFuZ2VkLCA0NiBpbnNl cnRpb25zKCspLCA0NSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2NoYXIvYWdw L2ludGVsLWd0dC5jIGIvZHJpdmVycy9jaGFyL2FncC9pbnRlbC1ndHQuYwppbmRleCAwYzg2YjRk ZmQ1OWMuLmM2MjcxY2UyNTBiMyAxMDA2NDQKLS0tIGEvZHJpdmVycy9jaGFyL2FncC9pbnRlbC1n dHQuYworKysgYi9kcml2ZXJzL2NoYXIvYWdwL2ludGVsLWd0dC5jCkBAIC04MCw3ICs4MCw3IEBA IHN0YXRpYyBzdHJ1Y3QgX2ludGVsX3ByaXZhdGUgewogCXVuc2lnbmVkIGludCBuZWVkc19kbWFy IDogMTsKIAlwaHlzX2FkZHJfdCBnbWFfYnVzX2FkZHI7CiAJLyogIFNpemUgb2YgbWVtb3J5IHJl c2VydmVkIGZvciBncmFwaGljcyBieSB0aGUgQklPUyAqLwotCXVuc2lnbmVkIGludCBzdG9sZW5f c2l6ZTsKKwlyZXNvdXJjZV9zaXplX3Qgc3RvbGVuX3NpemU7CiAJLyogVG90YWwgbnVtYmVyIG9m IGd0dCBlbnRyaWVzLiAqLwogCXVuc2lnbmVkIGludCBndHRfdG90YWxfZW50cmllczsKIAkvKiBQ YXJ0IG9mIHRoZSBndHQgdGhhdCBpcyBtYXBwYWJsZSBieSB0aGUgY3B1LCBmb3IgdGhvc2UgY2hp cHMgd2hlcmUKQEAgLTMzMywxMyArMzMzLDEzIEBAIHN0YXRpYyB2b2lkIGk4MTBfd3JpdGVfZW50 cnkoZG1hX2FkZHJfdCBhZGRyLCB1bnNpZ25lZCBpbnQgZW50cnksCiAJd3JpdGVsX3JlbGF4ZWQo YWRkciB8IHB0ZV9mbGFncywgaW50ZWxfcHJpdmF0ZS5ndHQgKyBlbnRyeSk7CiB9CiAKLXN0YXRp YyB1bnNpZ25lZCBpbnQgaW50ZWxfZ3R0X3N0b2xlbl9zaXplKHZvaWQpCitzdGF0aWMgcmVzb3Vy Y2Vfc2l6ZV90IGludGVsX2d0dF9zdG9sZW5fc2l6ZSh2b2lkKQogewogCXUxNiBnbWNoX2N0cmw7 CiAJdTggcmRjdDsKIAlpbnQgbG9jYWwgPSAwOwogCXN0YXRpYyBjb25zdCBpbnQgZGR0WzRdID0g eyAwLCAxNiwgMzIsIDY0IH07Ci0JdW5zaWduZWQgaW50IHN0b2xlbl9zaXplID0gMDsKKwlyZXNv dXJjZV9zaXplX3Qgc3RvbGVuX3NpemUgPSAwOwogCiAJaWYgKElOVEVMX0dUVF9HRU4gPT0gMSkK IAkJcmV0dXJuIDA7IC8qIG5vIHN0b2xlbiBtZW0gb24gaTgxeCAqLwpAQCAtNDE3LDggKzQxNyw4 IEBAIHN0YXRpYyB1bnNpZ25lZCBpbnQgaW50ZWxfZ3R0X3N0b2xlbl9zaXplKHZvaWQpCiAJfQog CiAJaWYgKHN0b2xlbl9zaXplID4gMCkgewotCQlkZXZfaW5mbygmaW50ZWxfcHJpdmF0ZS5icmlk Z2VfZGV2LT5kZXYsICJkZXRlY3RlZCAlZEsgJXMgbWVtb3J5XG4iLAotCQkgICAgICAgc3RvbGVu X3NpemUgLyBLQigxKSwgbG9jYWwgPyAibG9jYWwiIDogInN0b2xlbiIpOworCQlkZXZfaW5mbygm aW50ZWxfcHJpdmF0ZS5icmlkZ2VfZGV2LT5kZXYsICJkZXRlY3RlZCAlbGx1SyAlcyBtZW1vcnlc biIsCisJCSAgICAgICAodTY0KXN0b2xlbl9zaXplIC8gS0IoMSksIGxvY2FsID8gImxvY2FsIiA6 ICJzdG9sZW4iKTsKIAl9IGVsc2UgewogCQlkZXZfaW5mbygmaW50ZWxfcHJpdmF0ZS5icmlkZ2Vf ZGV2LT5kZXYsCiAJCSAgICAgICAibm8gcHJlLWFsbG9jYXRlZCB2aWRlbyBtZW1vcnkgZGV0ZWN0 ZWRcbiIpOwpAQCAtMTQyNSw3ICsxNDI1LDcgQEAgRVhQT1JUX1NZTUJPTChpbnRlbF9nbWNoX3By b2JlKTsKIAogdm9pZCBpbnRlbF9ndHRfZ2V0KHU2NCAqZ3R0X3RvdGFsLAogCQkgICBwaHlzX2Fk ZHJfdCAqbWFwcGFibGVfYmFzZSwKLQkJICAgdTY0ICptYXBwYWJsZV9lbmQpCisJCSAgIHJlc291 cmNlX3NpemVfdCAqbWFwcGFibGVfZW5kKQogewogCSpndHRfdG90YWwgPSBpbnRlbF9wcml2YXRl Lmd0dF90b3RhbF9lbnRyaWVzIDw8IFBBR0VfU0hJRlQ7CiAJKm1hcHBhYmxlX2Jhc2UgPSBpbnRl bF9wcml2YXRlLmdtYV9idXNfYWRkcjsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2k5MTVfZGVidWdmcy5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kZWJ1Z2ZzLmMKaW5k ZXggZjkxZGQ2OGM1M2ExLi5kOGM2ZWMzY2NhNzEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2k5MTVfZGVidWdmcy5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZGVi dWdmcy5jCkBAIC01MjIsOCArNTIyLDggQEAgc3RhdGljIGludCBpOTE1X2dlbV9vYmplY3RfaW5m byhzdHJ1Y3Qgc2VxX2ZpbGUgKm0sIHZvaWQgKmRhdGEpCiAJc2VxX3ByaW50ZihtLCAiJXUgZGlz cGxheSBvYmplY3RzIChnbG9iYWxseSBwaW5uZWQpLCAlbGx1IGJ5dGVzXG4iLAogCQkgICBkcHlf Y291bnQsIGRweV9zaXplKTsKIAotCXNlcV9wcmludGYobSwgIiVsbHUgWyVsbHVdIGd0dCB0b3Rh bFxuIiwKLQkJICAgZ2d0dC0+YmFzZS50b3RhbCwgZ2d0dC0+bWFwcGFibGVfZW5kKTsKKwlzZXFf cHJpbnRmKG0sICIlbGx1IFslcGFdIGd0dCB0b3RhbFxuIiwKKwkJICAgZ2d0dC0+YmFzZS50b3Rh bCwgJmdndHQtPm1hcHBhYmxlX2VuZCk7CiAJc2VxX3ByaW50ZihtLCAiU3VwcG9ydGVkIHBhZ2Ug c2l6ZXM6ICVzXG4iLAogCQkgICBzdHJpbmdpZnlfcGFnZV9zaXplcyhJTlRFTF9JTkZPKGRldl9w cml2KS0+cGFnZV9zaXplcywKIAkJCQkJYnVmLCBzaXplb2YoYnVmKSkpOwpkaWZmIC0tZ2l0IGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5 MTVfZHJ2LmgKaW5kZXggZDcxZTU5ZTQ0ZDUwLi42MTE5NmZmOTM5MDEgMTAwNjQ0Ci0tLSBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUv aTkxNV9kcnYuaApAQCAtMjI3Myw3ICsyMjczLDcgQEAgc3RydWN0IGRybV9pOTE1X3ByaXZhdGUg ewogCSAqIGF2b2lkIHRoZSBmaXJzdCBwYWdlISBUaGUgdXBwZXIgZW5kIG9mIHN0b2xlbiBtZW1v cnkgaXMgcmVzZXJ2ZWQgZm9yCiAJICogaGFyZHdhcmUgZnVuY3Rpb25zIGFuZCBzaW1pbGFybHkg cmVtb3ZlZCBmcm9tIHRoZSBhY2Nlc3NpYmxlIHJhbmdlLgogCSAqLwotCXUzMiBzdG9sZW5fdXNh YmxlX3NpemU7CS8qIFRvdGFsIHNpemUgbWludXMgcmVzZXJ2ZWQgcmFuZ2VzICovCisJcmVzb3Vy Y2Vfc2l6ZV90IHN0b2xlbl91c2FibGVfc2l6ZTsJLyogVG90YWwgc2l6ZSBtaW51cyByZXNlcnZl ZCByYW5nZXMgKi8KIAogCXZvaWQgX19pb21lbSAqcmVnczsKIApAQCAtMzkzMiwxMiArMzkzMiwx MyBAQCB2b2lkIGk5MTVfZ2VtX3N0b2xlbl9yZW1vdmVfbm9kZShzdHJ1Y3QgZHJtX2k5MTVfcHJp dmF0ZSAqZGV2X3ByaXYsCiBpbnQgaTkxNV9nZW1faW5pdF9zdG9sZW4oc3RydWN0IGRybV9pOTE1 X3ByaXZhdGUgKmRldl9wcml2KTsKIHZvaWQgaTkxNV9nZW1fY2xlYW51cF9zdG9sZW4oc3RydWN0 IGRybV9kZXZpY2UgKmRldik7CiBzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqCi1pOTE1X2dl bV9vYmplY3RfY3JlYXRlX3N0b2xlbihzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYs IHUzMiBzaXplKTsKK2k5MTVfZ2VtX29iamVjdF9jcmVhdGVfc3RvbGVuKHN0cnVjdCBkcm1faTkx NV9wcml2YXRlICpkZXZfcHJpdiwKKwkJCSAgICAgIHJlc291cmNlX3NpemVfdCBzaXplKTsKIHN0 cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICoKIGk5MTVfZ2VtX29iamVjdF9jcmVhdGVfc3RvbGVu X2Zvcl9wcmVhbGxvY2F0ZWQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAotCQkJ CQkgICAgICAgdTMyIHN0b2xlbl9vZmZzZXQsCi0JCQkJCSAgICAgICB1MzIgZ3R0X29mZnNldCwK LQkJCQkJICAgICAgIHUzMiBzaXplKTsKKwkJCQkJICAgICAgIHJlc291cmNlX3NpemVfdCBzdG9s ZW5fb2Zmc2V0LAorCQkJCQkgICAgICAgcmVzb3VyY2Vfc2l6ZV90IGd0dF9vZmZzZXQsCisJCQkJ CSAgICAgICByZXNvdXJjZV9zaXplX3Qgc2l6ZSk7CiAKIC8qIGk5MTVfZ2VtX2ludGVybmFsLmMg Ki8KIHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2k5MTVfZ2VtX2d0dC5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1f Z3R0LmMKaW5kZXggZmJjMWY0NjcyNzNhLi5hN2ZlMDU2NjZmNzIgMTAwNjQ0Ci0tLSBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2d0dC5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2k5MTVfZ2VtX2d0dC5jCkBAIC0zMzU0LDcgKzMzNTQsNyBAQCBzdGF0aWMgaW50IGdlbjZfZ21j aF9wcm9iZShzdHJ1Y3QgaTkxNV9nZ3R0ICpnZ3R0KQogCSAqIGEgY29hcnNlIHNhbml0eSBjaGVj ay4KIAkgKi8KIAlpZiAoZ2d0dC0+bWFwcGFibGVfZW5kIDwgKDY0PDwyMCkgfHwgZ2d0dC0+bWFw cGFibGVfZW5kID4gKDUxMjw8MjApKSB7Ci0JCURSTV9FUlJPUigiVW5rbm93biBHTUFEUiBzaXpl ICglbGx4KVxuIiwgZ2d0dC0+bWFwcGFibGVfZW5kKTsKKwkJRFJNX0VSUk9SKCJVbmtub3duIEdN QURSIHNpemUgKCVwYSlcbiIsICZnZ3R0LT5tYXBwYWJsZV9lbmQpOwogCQlyZXR1cm4gLUVOWElP OwogCX0KIApAQCAtMzQ2NCw3ICszNDY0LDcgQEAgaW50IGk5MTVfZ2d0dF9wcm9iZV9odyhzdHJ1 Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCiAJICovCiAJaWYgKFVTRVNfR1VDKGRldl9w cml2KSkgewogCQlnZ3R0LT5iYXNlLnRvdGFsID0gbWluX3QodTY0LCBnZ3R0LT5iYXNlLnRvdGFs LCBHVUNfR0dUVF9UT1ApOwotCQlnZ3R0LT5tYXBwYWJsZV9lbmQgPSBtaW4oZ2d0dC0+bWFwcGFi bGVfZW5kLCBnZ3R0LT5iYXNlLnRvdGFsKTsKKwkJZ2d0dC0+bWFwcGFibGVfZW5kID0gbWluX3Qo dTY0LCBnZ3R0LT5tYXBwYWJsZV9lbmQsIGdndHQtPmJhc2UudG90YWwpOwogCX0KIAogCWlmICgo Z2d0dC0+YmFzZS50b3RhbCAtIDEpID4+IDMyKSB7CkBAIC0zNDcyLDEzICszNDcyLDEzIEBAIGlu dCBpOTE1X2dndHRfcHJvYmVfaHcoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQog CQkJICAiIG9mIGFkZHJlc3Mgc3BhY2UhIEZvdW5kICVsbGRNIVxuIiwKIAkJCSAgZ2d0dC0+YmFz ZS50b3RhbCA+PiAyMCk7CiAJCWdndHQtPmJhc2UudG90YWwgPSAxVUxMIDw8IDMyOwotCQlnZ3R0 LT5tYXBwYWJsZV9lbmQgPSBtaW4oZ2d0dC0+bWFwcGFibGVfZW5kLCBnZ3R0LT5iYXNlLnRvdGFs KTsKKwkJZ2d0dC0+bWFwcGFibGVfZW5kID0gbWluX3QodTY0LCBnZ3R0LT5tYXBwYWJsZV9lbmQs IGdndHQtPmJhc2UudG90YWwpOwogCX0KIAogCWlmIChnZ3R0LT5tYXBwYWJsZV9lbmQgPiBnZ3R0 LT5iYXNlLnRvdGFsKSB7CiAJCURSTV9FUlJPUigibWFwcGFibGUgYXBlcnR1cmUgZXh0ZW5kcyBw YXN0IGVuZCBvZiBHR1RULCIKLQkJCSAgIiBhcGVydHVyZT0lbGx4LCB0b3RhbD0lbGx4XG4iLAot CQkJICBnZ3R0LT5tYXBwYWJsZV9lbmQsIGdndHQtPmJhc2UudG90YWwpOworCQkJICAiIGFwZXJ0 dXJlPSVwYSwgdG90YWw9JWxseFxuIiwKKwkJCSAgJmdndHQtPm1hcHBhYmxlX2VuZCwgZ2d0dC0+ YmFzZS50b3RhbCk7CiAJCWdndHQtPm1hcHBhYmxlX2VuZCA9IGdndHQtPmJhc2UudG90YWw7CiAJ fQogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9ndHQuaCBiL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2d0dC5oCmluZGV4IGU1YWEwN2NlYjYyNy4uYTQy ODkwZDlhZjM4IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9ndHQu aAorKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9ndHQuaApAQCAtMzcxLDcgKzM3 MSw3IEBAIHN0cnVjdCBpOTE1X2dndHQgewogCiAJc3RydWN0IGlvX21hcHBpbmcgaW9tYXA7CS8q IE1hcHBpbmcgdG8gb3VyIENQVSBtYXBwYWJsZSByZWdpb24gKi8KIAlzdHJ1Y3QgcmVzb3VyY2Ug Z21hZHI7ICAgICAgICAgIC8qIEdNQURSIHJlc291cmNlICovCi0JdTY0IG1hcHBhYmxlX2VuZDsJ CS8qIEVuZCBvZmZzZXQgdGhhdCB3ZSBjYW4gQ1BVIG1hcCAqLworCXJlc291cmNlX3NpemVfdCBt YXBwYWJsZV9lbmQ7CS8qIEVuZCBvZmZzZXQgdGhhdCB3ZSBjYW4gQ1BVIG1hcCAqLwogCiAJLyoq ICJHcmFwaGljcyBTdG9sZW4gTWVtb3J5IiBob2xkcyB0aGUgZ2xvYmFsIFBURXMgKi8KIAl2b2lk IF9faW9tZW0gKmdzbTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2Vt X3N0b2xlbi5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fc3RvbGVuLmMKaW5kZXgg NjNkNTY4NTEyZGI1Li5kM2YyMjJmYTYzNTYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2k5MTVfZ2VtX3N0b2xlbi5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2Vt X3N0b2xlbi5jCkBAIC05NSw3ICs5NSw3IEBAIHN0YXRpYyBpbnQgaTkxNV9hZGp1c3Rfc3RvbGVu KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKIAkgICAgIUlTX0czMyhkZXZfcHJp dikgJiYgIUlTX1BJTkVWSUVXKGRldl9wcml2KSAmJiAhSVNfRzRYKGRldl9wcml2KSkgewogCQlz dHJ1Y3QgcmVzb3VyY2Ugc3RvbGVuWzJdID0geypkc20sICpkc219OwogCQlzdHJ1Y3QgcmVzb3Vy Y2UgZ2d0dF9yZXM7Ci0JCXU2NCBnZ3R0X3N0YXJ0OworCQlyZXNvdXJjZV9zaXplX3QgZ2d0dF9z dGFydDsKIAogCQlnZ3R0X3N0YXJ0ID0gSTkxNV9SRUFEKFBHVEJMX0NUTCk7CiAJCWlmIChJU19H RU40KGRldl9wcml2KSkKQEAgLTE3NCwxMiArMTc0LDEyIEBAIHZvaWQgaTkxNV9nZW1fY2xlYW51 cF9zdG9sZW4oc3RydWN0IGRybV9kZXZpY2UgKmRldikKIH0KIAogc3RhdGljIHZvaWQgZzR4X2dl dF9zdG9sZW5fcmVzZXJ2ZWQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAotCQkJ CSAgICBkbWFfYWRkcl90ICpiYXNlLCB1MzIgKnNpemUpCisJCQkJICAgIHJlc291cmNlX3NpemVf dCAqYmFzZSwgcmVzb3VyY2Vfc2l6ZV90ICpzaXplKQogewogCXVpbnQzMl90IHJlZ192YWwgPSBJ OTE1X1JFQUQoSVNfR000NShkZXZfcHJpdikgPwogCQkJCSAgICAgQ1RHX1NUT0xFTl9SRVNFUlZF RCA6CiAJCQkJICAgICBFTEtfU1RPTEVOX1JFU0VSVkVEKTsKLQlkbWFfYWRkcl90IHN0b2xlbl90 b3AgPSBkZXZfcHJpdi0+ZHNtLmVuZCArIDE7CisJcmVzb3VyY2Vfc2l6ZV90IHN0b2xlbl90b3Ag PSBkZXZfcHJpdi0+ZHNtLmVuZCArIDE7CiAKIAlpZiAoKHJlZ192YWwgJiBHNFhfU1RPTEVOX1JF U0VSVkVEX0VOQUJMRSkgPT0gMCkgewogCQkqYmFzZSA9IDA7CkBAIC0yMDgsNyArMjA4LDcgQEAg c3RhdGljIHZvaWQgZzR4X2dldF9zdG9sZW5fcmVzZXJ2ZWQoc3RydWN0IGRybV9pOTE1X3ByaXZh dGUgKmRldl9wcml2LAogfQogCiBzdGF0aWMgdm9pZCBnZW42X2dldF9zdG9sZW5fcmVzZXJ2ZWQo c3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAotCQkJCSAgICAgZG1hX2FkZHJfdCAq YmFzZSwgdTMyICpzaXplKQorCQkJCSAgICAgcmVzb3VyY2Vfc2l6ZV90ICpiYXNlLCByZXNvdXJj ZV9zaXplX3QgKnNpemUpCiB7CiAJdWludDMyX3QgcmVnX3ZhbCA9IEk5MTVfUkVBRChHRU42X1NU T0xFTl9SRVNFUlZFRCk7CiAKQEAgLTI0MCw3ICsyNDAsNyBAQCBzdGF0aWMgdm9pZCBnZW42X2dl dF9zdG9sZW5fcmVzZXJ2ZWQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAogfQog CiBzdGF0aWMgdm9pZCBnZW43X2dldF9zdG9sZW5fcmVzZXJ2ZWQoc3RydWN0IGRybV9pOTE1X3By aXZhdGUgKmRldl9wcml2LAotCQkJCSAgICAgZG1hX2FkZHJfdCAqYmFzZSwgdTMyICpzaXplKQor CQkJCSAgICAgcmVzb3VyY2Vfc2l6ZV90ICpiYXNlLCByZXNvdXJjZV9zaXplX3QgKnNpemUpCiB7 CiAJdWludDMyX3QgcmVnX3ZhbCA9IEk5MTVfUkVBRChHRU42X1NUT0xFTl9SRVNFUlZFRCk7CiAK QEAgLTI2Niw3ICsyNjYsNyBAQCBzdGF0aWMgdm9pZCBnZW43X2dldF9zdG9sZW5fcmVzZXJ2ZWQo c3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAogfQogCiBzdGF0aWMgdm9pZCBjaHZf Z2V0X3N0b2xlbl9yZXNlcnZlZChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCi0J CQkJICAgIGRtYV9hZGRyX3QgKmJhc2UsIHUzMiAqc2l6ZSkKKwkJCQkgICAgcmVzb3VyY2Vfc2l6 ZV90ICpiYXNlLCByZXNvdXJjZV9zaXplX3QgKnNpemUpCiB7CiAJdWludDMyX3QgcmVnX3ZhbCA9 IEk5MTVfUkVBRChHRU42X1NUT0xFTl9SRVNFUlZFRCk7CiAKQEAgLTI5OCwxMCArMjk4LDEwIEBA IHN0YXRpYyB2b2lkIGNodl9nZXRfc3RvbGVuX3Jlc2VydmVkKHN0cnVjdCBkcm1faTkxNV9wcml2 YXRlICpkZXZfcHJpdiwKIH0KIAogc3RhdGljIHZvaWQgYmR3X2dldF9zdG9sZW5fcmVzZXJ2ZWQo c3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAotCQkJCSAgICBkbWFfYWRkcl90ICpi YXNlLCB1MzIgKnNpemUpCisJCQkJICAgIHJlc291cmNlX3NpemVfdCAqYmFzZSwgcmVzb3VyY2Vf c2l6ZV90ICpzaXplKQogewogCXVpbnQzMl90IHJlZ192YWwgPSBJOTE1X1JFQUQoR0VONl9TVE9M RU5fUkVTRVJWRUQpOwotCWRtYV9hZGRyX3Qgc3RvbGVuX3RvcDsKKwlyZXNvdXJjZV9zaXplX3Qg c3RvbGVuX3RvcDsKIAogCWlmICgocmVnX3ZhbCAmIEdFTjZfU1RPTEVOX1JFU0VSVkVEX0VOQUJM RSkgPT0gMCkgewogCQkqYmFzZSA9IDA7CkBAIC0zMjUsOSArMzI1LDkgQEAgc3RhdGljIHZvaWQg YmR3X2dldF9zdG9sZW5fcmVzZXJ2ZWQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2 LAogCiBpbnQgaTkxNV9nZW1faW5pdF9zdG9sZW4oc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRl dl9wcml2KQogewotCWRtYV9hZGRyX3QgcmVzZXJ2ZWRfYmFzZSwgc3RvbGVuX3RvcDsKLQl1MzIg cmVzZXJ2ZWRfdG90YWwsIHJlc2VydmVkX3NpemU7Ci0JdTMyIHN0b2xlbl91c2FibGVfc3RhcnQ7 CisJcmVzb3VyY2Vfc2l6ZV90IHJlc2VydmVkX2Jhc2UsIHN0b2xlbl90b3A7CisJcmVzb3VyY2Vf c2l6ZV90IHJlc2VydmVkX3RvdGFsLCByZXNlcnZlZF9zaXplOworCXJlc291cmNlX3NpemVfdCBz dG9sZW5fdXNhYmxlX3N0YXJ0OwogCiAJbXV0ZXhfaW5pdCgmZGV2X3ByaXYtPm1tLnN0b2xlbl9s b2NrKTsKIApAQCAtNDI3LDE0ICs0MjcsMTMgQEAgaW50IGk5MTVfZ2VtX2luaXRfc3RvbGVuKHN0 cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKIAogc3RhdGljIHN0cnVjdCBzZ190YWJs ZSAqCiBpOTE1X3BhZ2VzX2NyZWF0ZV9mb3Jfc3RvbGVuKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYs Ci0JCQkgICAgIHUzMiBvZmZzZXQsIHUzMiBzaXplKQorCQkJICAgICByZXNvdXJjZV9zaXplX3Qg b2Zmc2V0LCByZXNvdXJjZV9zaXplX3Qgc2l6ZSkKIHsKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0 ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGRldik7CiAJc3RydWN0IHNnX3RhYmxlICpzdDsKIAlzdHJ1 Y3Qgc2NhdHRlcmxpc3QgKnNnOwogCi0JR0VNX0JVR19PTihyYW5nZV9vdmVyZmxvd3NfdChyZXNv dXJjZV9zaXplX3QsIG9mZnNldCwgc2l6ZSwKLQkJCQkgICAgIHJlc291cmNlX3NpemUoJmRldl9w cml2LT5kc20pKSk7CisJR0VNX0JVR19PTihyYW5nZV9vdmVyZmxvd3Mob2Zmc2V0LCBzaXplLCBy ZXNvdXJjZV9zaXplKCZkZXZfcHJpdi0+ZHNtKSkpOwogCiAJLyogV2UgaGlkZSB0aGF0IHdlIGhh dmUgbm8gc3RydWN0IHBhZ2UgYmFja2luZyBvdXIgc3RvbGVuIG9iamVjdAogCSAqIGJ5IHdyYXBw aW5nIHRoZSBjb250aWd1b3VzIHBoeXNpY2FsIGFsbG9jYXRpb24gd2l0aCBhIGZha2UKQEAgLTUz Miw3ICs1MzEsOCBAQCBfaTkxNV9nZW1fb2JqZWN0X2NyZWF0ZV9zdG9sZW4oc3RydWN0IGRybV9p OTE1X3ByaXZhdGUgKmRldl9wcml2LAogfQogCiBzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAq Ci1pOTE1X2dlbV9vYmplY3RfY3JlYXRlX3N0b2xlbihzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAq ZGV2X3ByaXYsIHUzMiBzaXplKQoraTkxNV9nZW1fb2JqZWN0X2NyZWF0ZV9zdG9sZW4oc3RydWN0 IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAorCQkJICAgICAgcmVzb3VyY2Vfc2l6ZV90IHNp emUpCiB7CiAJc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iajsKIAlzdHJ1Y3QgZHJtX21t X25vZGUgKnN0b2xlbjsKQEAgLTU2NSw5ICs1NjUsOSBAQCBpOTE1X2dlbV9vYmplY3RfY3JlYXRl X3N0b2xlbihzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsIHUzMiBzaXplKQogCiBz dHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqCiBpOTE1X2dlbV9vYmplY3RfY3JlYXRlX3N0b2xl bl9mb3JfcHJlYWxsb2NhdGVkKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKLQkJ CQkJICAgICAgIHUzMiBzdG9sZW5fb2Zmc2V0LAotCQkJCQkgICAgICAgdTMyIGd0dF9vZmZzZXQs Ci0JCQkJCSAgICAgICB1MzIgc2l6ZSkKKwkJCQkJICAgICAgIHJlc291cmNlX3NpemVfdCBzdG9s ZW5fb2Zmc2V0LAorCQkJCQkgICAgICAgcmVzb3VyY2Vfc2l6ZV90IGd0dF9vZmZzZXQsCisJCQkJ CSAgICAgICByZXNvdXJjZV9zaXplX3Qgc2l6ZSkKIHsKIAlzdHJ1Y3QgaTkxNV9nZ3R0ICpnZ3R0 ID0gJmRldl9wcml2LT5nZ3R0OwogCXN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmo7CkBA IC01ODAsOCArNTgwLDggQEAgaTkxNV9nZW1fb2JqZWN0X2NyZWF0ZV9zdG9sZW5fZm9yX3ByZWFs bG9jYXRlZChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYKIAogCWxvY2tkZXBfYXNz ZXJ0X2hlbGQoJmRldl9wcml2LT5kcm0uc3RydWN0X211dGV4KTsKIAotCURSTV9ERUJVR19LTVMo ImNyZWF0aW5nIHByZWFsbG9jYXRlZCBzdG9sZW4gb2JqZWN0OiBzdG9sZW5fb2Zmc2V0PSV4LCBn dHRfb2Zmc2V0PSV4LCBzaXplPSV4XG4iLAotCQkJc3RvbGVuX29mZnNldCwgZ3R0X29mZnNldCwg c2l6ZSk7CisJRFJNX0RFQlVHX0tNUygiY3JlYXRpbmcgcHJlYWxsb2NhdGVkIHN0b2xlbiBvYmpl Y3Q6IHN0b2xlbl9vZmZzZXQ9JXBhLCBndHRfb2Zmc2V0PSVwYSwgc2l6ZT0lcGFcbiIsCisJCQkm c3RvbGVuX29mZnNldCwgJmd0dF9vZmZzZXQsICZzaXplKTsKIAogCS8qIEtJU1MgYW5kIGV4cGVj dCBldmVyeXRoaW5nIHRvIGJlIHBhZ2UtYWxpZ25lZCAqLwogCWlmIChXQVJOX09OKHNpemUgPT0g MCkgfHwKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3BtLmMgYi9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9wbS5jCmluZGV4IDk3YjY1N2M0ZWI1YS4uOGIxY2Y4YzVh MmY3IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9wbS5jCisrKyBiL2Ry 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==