From mboxrd@z Thu Jan 1 00:00:00 1970 From: Matthew Auld Subject: [PATCH 4/8] drm/i915: s/mappable_end/mappable_size/ Date: Fri, 24 Nov 2017 16:42:53 +0000 Message-ID: <20171124164257.29955-5-matthew.auld@intel.com> References: <20171124164257.29955-1-matthew.auld@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) by gabe.freedesktop.org (Postfix) with ESMTPS id A4DFC6E9BC for ; Fri, 24 Nov 2017 16:43:06 +0000 (UTC) In-Reply-To: <20171124164257.29955-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 SW4gYSBsYXRlciBwYXRjaCB3ZSBpbnRyb2R1Y2UgJ3N0cnVjdCByZXNvdXJjZSBtYXBwYWJsZScs IHdoaWNoIG1lYW5zIHdlCndpbGwgaGF2ZSBib3RoIG1hcHBhYmxlLmVuZCBhbmQgbWFwcGFibGVf ZW5kLCBib3RoIG1lYW5pbmcgZGlmZmVyZW50CnRoaW5ncy4gVGhlcmVmb3JlIHRvIGF2b2lkIGFu eSBjb25mdXNpb24gcHJlZmVyIG1hcHBhYmxlX3NpemUgZm9yCm1hcHBhYmxlX2VuZCwgc2luY2Ug aXQgaXMgZWZmZWN0aXZlbHkgdGhlIHNpemUgb2YgdGhlIHJlc291cmNlLgoKU2lnbmVkLW9mZi1i eTogTWF0dGhldyBBdWxkIDxtYXR0aGV3LmF1bGRAaW50ZWwuY29tPgpDYzogSm9vbmFzIExhaHRp bmVuIDxqb29uYXMubGFodGluZW5AbGludXguaW50ZWwuY29tPgpDYzogQ2hyaXMgV2lsc29uIDxj aHJpc0BjaHJpcy13aWxzb24uY28udWs+CkNjOiBQYXVsbyBaYW5vbmkgPHBhdWxvLnIuemFub25p QGludGVsLmNvbT4KLS0tCiBkcml2ZXJzL2NoYXIvYWdwL2ludGVsLWd0dC5jICAgICAgICAgICAg ICAgICAgfCAgNCArKy0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9ndnQvZ3Z0LmggICAgICAgICAg ICAgICAgfCAgMiArLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kZWJ1Z2ZzLmMgICAgICAg ICAgIHwgIDIgKy0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmMgICAgICAgICAgICAg ICB8ICAyICstCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbS5jICAgICAgICAgICAgICAg fCAgOCArKystLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9leGVjYnVmZmVyLmMg ICAgfCAgMiArLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZ3R0LmMgICAgICAgICAg IHwgMzAgKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9p OTE1X2dlbV9ndHQuaCAgICAgICAgICAgfCAgMiArLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkx NV92Z3B1LmMgICAgICAgICAgICAgIHwgMTIgKysrKystLS0tLS0KIGRyaXZlcnMvZ3B1L2RybS9p OTE1L2k5MTVfdm1hLmMgICAgICAgICAgICAgICB8ICA0ICsrLS0KIGRyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX2ZiZGV2LmMgICAgICAgICAgICB8ICAyICstCiBkcml2ZXJzL2dwdS9kcm0vaTkx NS9zZWxmdGVzdHMvaTkxNV9nZW1fZ3R0LmMgfCAgMiArLQogZHJpdmVycy9ncHUvZHJtL2k5MTUv c2VsZnRlc3RzL2k5MTVfdm1hLmMgICAgIHwgMjIgKysrKysrKysrKy0tLS0tLS0tLS0KIGRyaXZl cnMvZ3B1L2RybS9pOTE1L3NlbGZ0ZXN0cy9tb2NrX2d0dC5jICAgICB8ICAyICstCiBpbmNsdWRl L2RybS9pbnRlbC1ndHQuaCAgICAgICAgICAgICAgICAgICAgICAgfCAgMiArLQogMTUgZmlsZXMg Y2hhbmdlZCwgNDkgaW5zZXJ0aW9ucygrKSwgNDkgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEv ZHJpdmVycy9jaGFyL2FncC9pbnRlbC1ndHQuYyBiL2RyaXZlcnMvY2hhci9hZ3AvaW50ZWwtZ3R0 LmMKaW5kZXggOWI2YjYwMjMxOTNiLi4yYTMyMWVlMjk0M2EgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMv Y2hhci9hZ3AvaW50ZWwtZ3R0LmMKKysrIGIvZHJpdmVycy9jaGFyL2FncC9pbnRlbC1ndHQuYwpA QCAtMTQyNCwxMiArMTQyNCwxMiBAQCBFWFBPUlRfU1lNQk9MKGludGVsX2dtY2hfcHJvYmUpOwog dm9pZCBpbnRlbF9ndHRfZ2V0KHU2NCAqZ3R0X3RvdGFsLAogCQkgICB1MzIgKnN0b2xlbl9zaXpl LAogCQkgICBwaHlzX2FkZHJfdCAqbWFwcGFibGVfYmFzZSwKLQkJICAgdTY0ICptYXBwYWJsZV9l bmQpCisJCSAgIHU2NCAqbWFwcGFibGVfc2l6ZSkKIHsKIAkqZ3R0X3RvdGFsID0gaW50ZWxfcHJp dmF0ZS5ndHRfdG90YWxfZW50cmllcyA8PCBQQUdFX1NISUZUOwogCSpzdG9sZW5fc2l6ZSA9IGlu dGVsX3ByaXZhdGUuc3RvbGVuX3NpemU7CiAJKm1hcHBhYmxlX2Jhc2UgPSBpbnRlbF9wcml2YXRl LmdtYV9idXNfYWRkcjsKLQkqbWFwcGFibGVfZW5kID0gaW50ZWxfcHJpdmF0ZS5ndHRfbWFwcGFi bGVfZW50cmllcyA8PCBQQUdFX1NISUZUOworCSptYXBwYWJsZV9zaXplID0gaW50ZWxfcHJpdmF0 ZS5ndHRfbWFwcGFibGVfZW50cmllcyA8PCBQQUdFX1NISUZUOwogfQogRVhQT1JUX1NZTUJPTChp bnRlbF9ndHRfZ2V0KTsKIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3Z0L2d2 dC5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3Z0L2d2dC5oCmluZGV4IDM5MzA2NjcyNjk5My4u MDI4ZDAwZTYxYmFkIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndnQvZ3Z0LmgK KysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3Z0L2d2dC5oCkBAIC0zMzUsNyArMzM1LDcgQEAg aW50IGludGVsX2d2dF9sb2FkX2Zpcm13YXJlKHN0cnVjdCBpbnRlbF9ndnQgKmd2dCk7CiAjZGVm aW5lIEhPU1RfRkVOQ0UgNAogCiAvKiBBcGVydHVyZS9HTSBzcGFjZSBkZWZpbml0aW9ucyBmb3Ig R1ZUIGRldmljZSAqLwotI2RlZmluZSBndnRfYXBlcnR1cmVfc3ooZ3Z0KQkgIChndnQtPmRldl9w cml2LT5nZ3R0Lm1hcHBhYmxlX2VuZCkKKyNkZWZpbmUgZ3Z0X2FwZXJ0dXJlX3N6KGd2dCkJICAo Z3Z0LT5kZXZfcHJpdi0+Z2d0dC5tYXBwYWJsZV9zaXplKQogI2RlZmluZSBndnRfYXBlcnR1cmVf cGFfYmFzZShndnQpIChndnQtPmRldl9wcml2LT5nZ3R0Lm1hcHBhYmxlX2Jhc2UpCiAKICNkZWZp bmUgZ3Z0X2dndHRfZ21fc3ooZ3Z0KQkgIChndnQtPmRldl9wcml2LT5nZ3R0LmJhc2UudG90YWwp CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2RlYnVnZnMuYyBiL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2k5MTVfZGVidWdmcy5jCmluZGV4IDI4Mjk0NDcwYWUzMS4uYTA1ZTJi OTJjMDJjIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2RlYnVnZnMuYwor KysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2RlYnVnZnMuYwpAQCAtNTIzLDcgKzUyMyw3 IEBAIHN0YXRpYyBpbnQgaTkxNV9nZW1fb2JqZWN0X2luZm8oc3RydWN0IHNlcV9maWxlICptLCB2 b2lkICpkYXRhKQogCQkgICBkcHlfY291bnQsIGRweV9zaXplKTsKIAogCXNlcV9wcmludGYobSwg IiVsbHUgWyVsbHVdIGd0dCB0b3RhbFxuIiwKLQkJICAgZ2d0dC0+YmFzZS50b3RhbCwgZ2d0dC0+ bWFwcGFibGVfZW5kKTsKKwkJICAgZ2d0dC0+YmFzZS50b3RhbCwgZ2d0dC0+bWFwcGFibGVfc2l6 ZSk7CiAJc2VxX3ByaW50ZihtLCAiU3VwcG9ydGVkIHBhZ2Ugc2l6ZXM6ICVzXG4iLAogCQkgICBz dHJpbmdpZnlfcGFnZV9zaXplcyhJTlRFTF9JTkZPKGRldl9wcml2KS0+cGFnZV9zaXplcywKIAkJ CQkJYnVmLCBzaXplb2YoYnVmKSkpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUv aTkxNV9kcnYuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmMKaW5kZXggMDc5M2Ey N2UyYjk1Li5lMWJiMGM4ODIyYWEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5 MTVfZHJ2LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuYwpAQCAtNzI5LDcg KzcyOSw3IEBAIHN0YXRpYyBpbnQgaTkxNV9raWNrX291dF9maXJtd2FyZV9mYihzdHJ1Y3QgZHJt X2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCiAJCXJldHVybiAtRU5PTUVNOwogCiAJYXAtPnJhbmdl c1swXS5iYXNlID0gZ2d0dC0+bWFwcGFibGVfYmFzZTsKLQlhcC0+cmFuZ2VzWzBdLnNpemUgPSBn Z3R0LT5tYXBwYWJsZV9lbmQ7CisJYXAtPnJhbmdlc1swXS5zaXplID0gZ2d0dC0+bWFwcGFibGVf c2l6ZTsKIAogCXByaW1hcnkgPQogCQlwZGV2LT5yZXNvdXJjZVtQQ0lfUk9NX1JFU09VUkNFXS5m bGFncyAmIElPUkVTT1VSQ0VfUk9NX1NIQURPVzsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2k5MTVfZ2VtLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbS5jCmluZGV4 IGUwM2Q2YzI1NTRlMi4uMDVjYzRmMmRmMWJmIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pOTE1X2dlbS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMKQEAg LTY2LDcgKzY2LDcgQEAgaW5zZXJ0X21hcHBhYmxlX25vZGUoc3RydWN0IGk5MTVfZ2d0dCAqZ2d0 dCwKIAltZW1zZXQobm9kZSwgMCwgc2l6ZW9mKCpub2RlKSk7CiAJcmV0dXJuIGRybV9tbV9pbnNl cnRfbm9kZV9pbl9yYW5nZSgmZ2d0dC0+YmFzZS5tbSwgbm9kZSwKIAkJCQkJICAgc2l6ZSwgMCwg STkxNV9DT0xPUl9VTkVWSUNUQUJMRSwKLQkJCQkJICAgMCwgZ2d0dC0+bWFwcGFibGVfZW5kLAor CQkJCQkgICAwLCBnZ3R0LT5tYXBwYWJsZV9zaXplLAogCQkJCQkgICBEUk1fTU1fSU5TRVJUX0xP Vyk7CiB9CiAKQEAgLTQxNTgsNyArNDE1OCw3IEBAIGk5MTVfZ2VtX29iamVjdF9nZ3R0X3Bpbihz dHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqLAogCQkgKiB0aGUgb2JqZWN0IGluIGFuZCBv dXQgb2YgdGhlIEdsb2JhbCBHVFQgYW5kCiAJCSAqIHdhc3RlIGEgbG90IG9mIGN5Y2xlcyB1bmRl ciB0aGUgbXV0ZXguCiAJCSAqLwotCQlpZiAob2JqLT5iYXNlLnNpemUgPiBkZXZfcHJpdi0+Z2d0 dC5tYXBwYWJsZV9lbmQpCisJCWlmIChvYmotPmJhc2Uuc2l6ZSA+IGRldl9wcml2LT5nZ3R0Lm1h cHBhYmxlX3NpemUpCiAJCQlyZXR1cm4gRVJSX1BUUigtRTJCSUcpOwogCiAJCS8qIElmIE5PTkJM T0NLIGlzIHNldCB0aGUgY2FsbGVyIGlzIG9wdGltaXN0aWNhbGx5CkBAIC00MTc3LDcgKzQxNzcs NyBAQCBpOTE1X2dlbV9vYmplY3RfZ2d0dF9waW4oc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3Qg Km9iaiwKIAkJICogd2UgY291bGQgdHJ5IHRvIG1pbmltaXNlIGhhcm0gdG8gb3RoZXJzLgogCQkg Ki8KIAkJaWYgKGZsYWdzICYgUElOX05PTkJMT0NLICYmCi0JCSAgICBvYmotPmJhc2Uuc2l6ZSA+ IGRldl9wcml2LT5nZ3R0Lm1hcHBhYmxlX2VuZCAvIDIpCisJCSAgICBvYmotPmJhc2Uuc2l6ZSA+ IGRldl9wcml2LT5nZ3R0Lm1hcHBhYmxlX3NpemUgLyAyKQogCQkJcmV0dXJuIEVSUl9QVFIoLUVO T1NQQyk7CiAJfQogCkBAIC00MTkxLDcgKzQxOTEsNyBAQCBpOTE1X2dlbV9vYmplY3RfZ2d0dF9w aW4oc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaiwKIAkJCQlyZXR1cm4gRVJSX1BUUigt RU5PU1BDKTsKIAogCQkJaWYgKGZsYWdzICYgUElOX01BUFBBQkxFICYmCi0JCQkgICAgdm1hLT5m ZW5jZV9zaXplID4gZGV2X3ByaXYtPmdndHQubWFwcGFibGVfZW5kIC8gMikKKwkJCSAgICB2bWEt PmZlbmNlX3NpemUgPiBkZXZfcHJpdi0+Z2d0dC5tYXBwYWJsZV9zaXplIC8gMikKIAkJCQlyZXR1 cm4gRVJSX1BUUigtRU5PU1BDKTsKIAkJfQogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pOTE1X2dlbV9leGVjYnVmZmVyLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dl bV9leGVjYnVmZmVyLmMKaW5kZXggMTRkOWU2MWExZTA2Li44MjI0YWJiYjBmMmQgMTAwNjQ0Ci0t LSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2V4ZWNidWZmZXIuYworKysgYi9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9leGVjYnVmZmVyLmMKQEAgLTk4Niw3ICs5ODYsNyBA QCBzdGF0aWMgdm9pZCAqcmVsb2NfaW9tYXAoc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9i aiwKIAkJCWVyciA9IGRybV9tbV9pbnNlcnRfbm9kZV9pbl9yYW5nZQogCQkJCSgmZ2d0dC0+YmFz ZS5tbSwgJmNhY2hlLT5ub2RlLAogCQkJCSBQQUdFX1NJWkUsIDAsIEk5MTVfQ09MT1JfVU5FVklD VEFCTEUsCi0JCQkJIDAsIGdndHQtPm1hcHBhYmxlX2VuZCwKKwkJCQkgMCwgZ2d0dC0+bWFwcGFi bGVfc2l6ZSwKIAkJCQkgRFJNX01NX0lOU0VSVF9MT1cpOwogCQkJaWYgKGVycikgLyogbm8gaW5h Y3RpdmUgYXBlcnR1cmUgc3BhY2UsIHVzZSBjcHUgcmVsb2MgKi8KIAkJCQlyZXR1cm4gTlVMTDsK ZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2d0dC5jIGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZ3R0LmMKaW5kZXggNmI1NjdiYWIyMzYzLi45NGZhZWFl YmYwZDAgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2d0dC5jCisr KyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2d0dC5jCkBAIC0yMDAxLDcgKzIwMDEs NyBAQCBzdGF0aWMgaW50IGdlbjZfcHBndHRfYWxsb2NhdGVfcGFnZV9kaXJlY3RvcmllcyhzdHJ1 Y3QgaTkxNV9od19wcGd0dCAqcHBndHQpCiAJaWYgKHJldCkKIAkJZ290byBlcnJfb3V0OwogCi0J aWYgKHBwZ3R0LT5ub2RlLnN0YXJ0IDwgZ2d0dC0+bWFwcGFibGVfZW5kKQorCWlmIChwcGd0dC0+ bm9kZS5zdGFydCA8IGdndHQtPm1hcHBhYmxlX3NpemUpCiAJCURSTV9ERUJVRygiRm9yY2VkIHRv IHVzZSBhcGVydHVyZSBmb3IgUERFc1xuIik7CiAKIAlwcGd0dC0+cGQuYmFzZS5nZ3R0X29mZnNl dCA9CkBAIC0yODQwLDcgKzI4NDAsNyBAQCBpbnQgaTkxNV9nZW1faW5pdF9nZ3R0KHN0cnVjdCBk cm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKIAkvKiBSZXNlcnZlIGEgbWFwcGFibGUgc2xvdCBm b3Igb3VyIGxvY2tsZXNzIGVycm9yIGNhcHR1cmUgKi8KIAlyZXQgPSBkcm1fbW1faW5zZXJ0X25v ZGVfaW5fcmFuZ2UoJmdndHQtPmJhc2UubW0sICZnZ3R0LT5lcnJvcl9jYXB0dXJlLAogCQkJCQkg IFBBR0VfU0laRSwgMCwgSTkxNV9DT0xPUl9VTkVWSUNUQUJMRSwKLQkJCQkJICAwLCBnZ3R0LT5t YXBwYWJsZV9lbmQsCisJCQkJCSAgMCwgZ2d0dC0+bWFwcGFibGVfc2l6ZSwKIAkJCQkJICBEUk1f TU1fSU5TRVJUX0xPVyk7CiAJaWYgKHJldCkKIAkJcmV0dXJuIHJldDsKQEAgLTMyODksNyArMzI4 OSw3IEBAIHN0YXRpYyBpbnQgZ2VuOF9nbWNoX3Byb2JlKHN0cnVjdCBpOTE1X2dndHQgKmdndHQp CiAKIAkvKiBUT0RPOiBXZSdyZSBub3QgYXdhcmUgb2YgbWFwcGFibGUgY29uc3RyYWludHMgb24g Z2VuOCB5ZXQgKi8KIAlnZ3R0LT5tYXBwYWJsZV9iYXNlID0gcGNpX3Jlc291cmNlX3N0YXJ0KHBk ZXYsIDIpOwotCWdndHQtPm1hcHBhYmxlX2VuZCA9IHBjaV9yZXNvdXJjZV9sZW4ocGRldiwgMik7 CisJZ2d0dC0+bWFwcGFibGVfc2l6ZSA9IHBjaV9yZXNvdXJjZV9sZW4ocGRldiwgMik7CiAKIAll cnIgPSBwY2lfc2V0X2RtYV9tYXNrKHBkZXYsIERNQV9CSVRfTUFTSygzOSkpOwogCWlmICghZXJy KQpAQCAtMzM0NiwxMyArMzM0NiwxMyBAQCBzdGF0aWMgaW50IGdlbjZfZ21jaF9wcm9iZShzdHJ1 Y3QgaTkxNV9nZ3R0ICpnZ3R0KQogCWludCBlcnI7CiAKIAlnZ3R0LT5tYXBwYWJsZV9iYXNlID0g cGNpX3Jlc291cmNlX3N0YXJ0KHBkZXYsIDIpOwotCWdndHQtPm1hcHBhYmxlX2VuZCA9IHBjaV9y ZXNvdXJjZV9sZW4ocGRldiwgMik7CisJZ2d0dC0+bWFwcGFibGVfc2l6ZSA9IHBjaV9yZXNvdXJj ZV9sZW4ocGRldiwgMik7CiAKIAkvKiA2NC81MTJNQiBpcyB0aGUgY3VycmVudCBtaW4vbWF4IHdl IGFjdHVhbGx5IGtub3cgb2YsIGJ1dCB0aGlzIGlzIGp1c3QKIAkgKiBhIGNvYXJzZSBzYW5pdHkg Y2hlY2suCiAJICovCi0JaWYgKGdndHQtPm1hcHBhYmxlX2VuZCA8ICg2NDw8MjApIHx8IGdndHQt Pm1hcHBhYmxlX2VuZCA+ICg1MTI8PDIwKSkgewotCQlEUk1fRVJST1IoIlVua25vd24gR01BRFIg c2l6ZSAoJWxseClcbiIsIGdndHQtPm1hcHBhYmxlX2VuZCk7CisJaWYgKGdndHQtPm1hcHBhYmxl X3NpemUgPCAoNjQ8PDIwKSB8fCBnZ3R0LT5tYXBwYWJsZV9zaXplID4gKDUxMjw8MjApKSB7CisJ CURSTV9FUlJPUigiVW5rbm93biBHTUFEUiBzaXplICglbGx4KVxuIiwgZ2d0dC0+bWFwcGFibGVf c2l6ZSk7CiAJCXJldHVybiAtRU5YSU87CiAJfQogCkBAIC0zNDEyLDcgKzM0MTIsNyBAQCBzdGF0 aWMgaW50IGk5MTVfZ21jaF9wcm9iZShzdHJ1Y3QgaTkxNV9nZ3R0ICpnZ3R0KQogCWludGVsX2d0 dF9nZXQoJmdndHQtPmJhc2UudG90YWwsCiAJCSAgICAgICZnZ3R0LT5zdG9sZW5fc2l6ZSwKIAkJ ICAgICAgJmdndHQtPm1hcHBhYmxlX2Jhc2UsCi0JCSAgICAgICZnZ3R0LT5tYXBwYWJsZV9lbmQp OworCQkgICAgICAmZ2d0dC0+bWFwcGFibGVfc2l6ZSk7CiAKIAlnZ3R0LT5kb19pZGxlX21hcHMg PSBuZWVkc19pZGxlX21hcHMoZGV2X3ByaXYpOwogCWdndHQtPmJhc2UuaW5zZXJ0X3BhZ2UgPSBp OTE1X2dndHRfaW5zZXJ0X3BhZ2U7CkBAIC0zNDYwLDcgKzM0NjAsNyBAQCBpbnQgaTkxNV9nZ3R0 X3Byb2JlX2h3KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKIAkgKi8KIAlpZiAo SEFTX0dVQyhkZXZfcHJpdikgJiYgaTkxNV9tb2RwYXJhbXMuZW5hYmxlX2d1Y19sb2FkaW5nKSB7 CiAJCWdndHQtPmJhc2UudG90YWwgPSBtaW5fdCh1NjQsIGdndHQtPmJhc2UudG90YWwsIEdVQ19H R1RUX1RPUCk7Ci0JCWdndHQtPm1hcHBhYmxlX2VuZCA9IG1pbihnZ3R0LT5tYXBwYWJsZV9lbmQs IGdndHQtPmJhc2UudG90YWwpOworCQlnZ3R0LT5tYXBwYWJsZV9zaXplID0gbWluKGdndHQtPm1h cHBhYmxlX3NpemUsIGdndHQtPmJhc2UudG90YWwpOwogCX0KIAogCWlmICgoZ2d0dC0+YmFzZS50 b3RhbCAtIDEpID4+IDMyKSB7CkBAIC0zNDY4LDIwICszNDY4LDIwIEBAIGludCBpOTE1X2dndHRf cHJvYmVfaHcoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQogCQkJICAiIG9mIGFk ZHJlc3Mgc3BhY2UhIEZvdW5kICVsbGRNIVxuIiwKIAkJCSAgZ2d0dC0+YmFzZS50b3RhbCA+PiAy MCk7CiAJCWdndHQtPmJhc2UudG90YWwgPSAxVUxMIDw8IDMyOwotCQlnZ3R0LT5tYXBwYWJsZV9l bmQgPSBtaW4oZ2d0dC0+bWFwcGFibGVfZW5kLCBnZ3R0LT5iYXNlLnRvdGFsKTsKKwkJZ2d0dC0+ bWFwcGFibGVfc2l6ZSA9IG1pbihnZ3R0LT5tYXBwYWJsZV9zaXplLCBnZ3R0LT5iYXNlLnRvdGFs KTsKIAl9CiAKLQlpZiAoZ2d0dC0+bWFwcGFibGVfZW5kID4gZ2d0dC0+YmFzZS50b3RhbCkgewor CWlmIChnZ3R0LT5tYXBwYWJsZV9zaXplID4gZ2d0dC0+YmFzZS50b3RhbCkgewogCQlEUk1fRVJS T1IoIm1hcHBhYmxlIGFwZXJ0dXJlIGV4dGVuZHMgcGFzdCBlbmQgb2YgR0dUVCwiCiAJCQkgICIg YXBlcnR1cmU9JWxseCwgdG90YWw9JWxseFxuIiwKLQkJCSAgZ2d0dC0+bWFwcGFibGVfZW5kLCBn Z3R0LT5iYXNlLnRvdGFsKTsKLQkJZ2d0dC0+bWFwcGFibGVfZW5kID0gZ2d0dC0+YmFzZS50b3Rh bDsKKwkJCSAgZ2d0dC0+bWFwcGFibGVfc2l6ZSwgZ2d0dC0+YmFzZS50b3RhbCk7CisJCWdndHQt Pm1hcHBhYmxlX3NpemUgPSBnZ3R0LT5iYXNlLnRvdGFsOwogCX0KIAogCS8qIEdNQURSIGlzIHRo ZSBQQ0kgbW1pbyBhcGVydHVyZSBpbnRvIHRoZSBnbG9iYWwgR1RULiAqLwogCURSTV9JTkZPKCJN ZW1vcnkgdXNhYmxlIGJ5IGdyYXBoaWNzIGRldmljZSA9ICVsbHVNXG4iLAogCQkgZ2d0dC0+YmFz ZS50b3RhbCA+PiAyMCk7Ci0JRFJNX0RFQlVHX0RSSVZFUigiR01BRFIgc2l6ZSA9ICVsbGRNXG4i LCBnZ3R0LT5tYXBwYWJsZV9lbmQgPj4gMjApOworCURSTV9ERUJVR19EUklWRVIoIkdNQURSIHNp emUgPSAlbGxkTVxuIiwgZ2d0dC0+bWFwcGFibGVfc2l6ZSA+PiAyMCk7CiAJRFJNX0RFQlVHX0RS SVZFUigiR1RUIHN0b2xlbiBzaXplID0gJXVNXG4iLCBnZ3R0LT5zdG9sZW5fc2l6ZSA+PiAyMCk7 CiAJaWYgKGludGVsX3Z0ZF9hY3RpdmUoKSkKIAkJRFJNX0lORk8oIlZULWQgYWN0aXZlIGZvciBn ZnggYWNjZXNzXG4iKTsKQEAgLTM1MTMsMTIgKzM1MTMsMTIgQEAgaW50IGk5MTVfZ2d0dF9pbml0 X2h3KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKIAogCWlmICghaW9fbWFwcGlu Z19pbml0X3djKCZkZXZfcHJpdi0+Z2d0dC5tYXBwYWJsZSwKIAkJCQlkZXZfcHJpdi0+Z2d0dC5t YXBwYWJsZV9iYXNlLAotCQkJCWRldl9wcml2LT5nZ3R0Lm1hcHBhYmxlX2VuZCkpIHsKKwkJCQlk ZXZfcHJpdi0+Z2d0dC5tYXBwYWJsZV9zaXplKSkgewogCQlyZXQgPSAtRUlPOwogCQlnb3RvIG91 dF9ndHRfY2xlYW51cDsKIAl9CiAKLQlnZ3R0LT5tdHJyID0gYXJjaF9waHlzX3djX2FkZChnZ3R0 LT5tYXBwYWJsZV9iYXNlLCBnZ3R0LT5tYXBwYWJsZV9lbmQpOworCWdndHQtPm10cnIgPSBhcmNo X3BoeXNfd2NfYWRkKGdndHQtPm1hcHBhYmxlX2Jhc2UsIGdndHQtPm1hcHBhYmxlX3NpemUpOwog CiAJLyoKIAkgKiBJbml0aWFsaXNlIHN0b2xlbiBlYXJseSBzbyB0aGF0IHdlIG1heSByZXNlcnZl IHByZWFsbG9jYXRlZApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1f Z3R0LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9ndHQuaAppbmRleCA5MzIxMWE5 NmZkYWQuLjkyMmQ3OTY5ODNkNSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkx NV9nZW1fZ3R0LmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZ3R0LmgKQEAg LTM3MSw3ICszNzEsNyBAQCBzdHJ1Y3QgaTkxNV9nZ3R0IHsKIAlzdHJ1Y3QgaW9fbWFwcGluZyBt YXBwYWJsZTsJLyogTWFwcGluZyB0byBvdXIgQ1BVIG1hcHBhYmxlIHJlZ2lvbiAqLwogCiAJcGh5 c19hZGRyX3QgbWFwcGFibGVfYmFzZTsJLyogUEEgb2Ygb3VyIEdNQURSICovCi0JdTY0IG1hcHBh YmxlX2VuZDsJCS8qIEVuZCBvZmZzZXQgdGhhdCB3ZSBjYW4gQ1BVIG1hcCAqLworCXU2NCBtYXBw YWJsZV9zaXplOwkJLyogVG90YWwgbWFwcGFibGUgc2l6ZSB0aGF0IHdlIGNhbiBDUFUgbWFwICov CiAKIAkvKiBTdG9sZW4gbWVtb3J5IGlzIHNlZ21lbnRlZCBpbiBoYXJkd2FyZSB3aXRoIGRpZmZl cmVudCBwb3J0aW9ucwogCSAqIG9mZmxpbWl0cyB0byBjZXJ0YWluIGZ1bmN0aW9ucy4KZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfdmdwdS5jIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvaTkxNV92Z3B1LmMKaW5kZXggNWZlOWYzZjM5NDY3Li5kMWFkZDVjNGUzMTIgMTAwNjQ0 Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfdmdwdS5jCisrKyBiL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2k5MTVfdmdwdS5jCkBAIC0yMjAsMTcgKzIyMCwxNyBAQCBpbnQgaW50ZWxfdmd0 X2JhbGxvb24oc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQogCURSTV9JTkZPKCJV bm1hcHBhYmxlIGdyYXBoaWMgbWVtb3J5OiBiYXNlIDB4JWx4IHNpemUgJWxkS2lCXG4iLAogCQkg dW5tYXBwYWJsZV9iYXNlLCB1bm1hcHBhYmxlX3NpemUgLyAxMDI0KTsKIAotCWlmIChtYXBwYWJs ZV9lbmQgPiBnZ3R0LT5tYXBwYWJsZV9lbmQgfHwKLQkgICAgdW5tYXBwYWJsZV9iYXNlIDwgZ2d0 dC0+bWFwcGFibGVfZW5kIHx8CisJaWYgKG1hcHBhYmxlX2VuZCA+IGdndHQtPm1hcHBhYmxlX3Np emUgfHwKKwkgICAgdW5tYXBwYWJsZV9iYXNlIDwgZ2d0dC0+bWFwcGFibGVfc2l6ZSB8fAogCSAg ICB1bm1hcHBhYmxlX2VuZCA+IGdndHRfZW5kKSB7CiAJCURSTV9FUlJPUigiSW52YWxpZCBiYWxs b29uaW5nIGNvbmZpZ3VyYXRpb24hXG4iKTsKIAkJcmV0dXJuIC1FSU5WQUw7CiAJfQogCiAJLyog VW5tYXBwYWJsZSBncmFwaGljIG1lbW9yeSBiYWxsb29uaW5nICovCi0JaWYgKHVubWFwcGFibGVf YmFzZSA+IGdndHQtPm1hcHBhYmxlX2VuZCkgeworCWlmICh1bm1hcHBhYmxlX2Jhc2UgPiBnZ3R0 LT5tYXBwYWJsZV9zaXplKSB7CiAJCXJldCA9IHZndF9iYWxsb29uX3NwYWNlKGdndHQsICZibF9p bmZvLnNwYWNlWzJdLAotCQkJCQlnZ3R0LT5tYXBwYWJsZV9lbmQsIHVubWFwcGFibGVfYmFzZSk7 CisJCQkJCWdndHQtPm1hcHBhYmxlX3NpemUsIHVubWFwcGFibGVfYmFzZSk7CiAKIAkJaWYgKHJl dCkKIAkJCWdvdG8gZXJyOwpAQCAtMjUyLDkgKzI1Miw5IEBAIGludCBpbnRlbF92Z3RfYmFsbG9v bihzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCiAJCQlnb3RvIGVycl91cG9uX3Vu bWFwcGFibGU7CiAJfQogCi0JaWYgKG1hcHBhYmxlX2VuZCA8IGdndHQtPm1hcHBhYmxlX2VuZCkg eworCWlmIChtYXBwYWJsZV9lbmQgPCBnZ3R0LT5tYXBwYWJsZV9zaXplKSB7CiAJCXJldCA9IHZn dF9iYWxsb29uX3NwYWNlKGdndHQsICZibF9pbmZvLnNwYWNlWzFdLAotCQkJCQltYXBwYWJsZV9l bmQsIGdndHQtPm1hcHBhYmxlX2VuZCk7CisJCQkJCW1hcHBhYmxlX2VuZCwgZ2d0dC0+bWFwcGFi bGVfc2l6ZSk7CiAKIAkJaWYgKHJldCkKIAkJCWdvdG8gZXJyX2JlbG93X21hcHBhYmxlOwpkaWZm IC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV92bWEuYyBiL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2k5MTVfdm1hLmMKaW5kZXggYmY2ZDhkMWVhYWJlLi5hOTQxM2I2MDEyMzAgMTAwNjQ0 Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfdm1hLmMKKysrIGIvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaTkxNV92bWEuYwpAQCAtNDAxLDcgKzQwMSw3IEBAIHZvaWQgX19pOTE1X3ZtYV9z ZXRfbWFwX2FuZF9mZW5jZWFibGUoc3RydWN0IGk5MTVfdm1hICp2bWEpCiAJZmVuY2VhYmxlID0g KHZtYS0+bm9kZS5zaXplID49IHZtYS0+ZmVuY2Vfc2l6ZSAmJgogCQkgICAgIElTX0FMSUdORUQo dm1hLT5ub2RlLnN0YXJ0LCB2bWEtPmZlbmNlX2FsaWdubWVudCkpOwogCi0JbWFwcGFibGUgPSB2 bWEtPm5vZGUuc3RhcnQgKyB2bWEtPmZlbmNlX3NpemUgPD0gaTkxNV92bV90b19nZ3R0KHZtYS0+ dm0pLT5tYXBwYWJsZV9lbmQ7CisJbWFwcGFibGUgPSB2bWEtPm5vZGUuc3RhcnQgKyB2bWEtPmZl bmNlX3NpemUgPD0gaTkxNV92bV90b19nZ3R0KHZtYS0+dm0pLT5tYXBwYWJsZV9zaXplOwogCiAJ aWYgKG1hcHBhYmxlICYmIGZlbmNlYWJsZSkKIAkJdm1hLT5mbGFncyB8PSBJOTE1X1ZNQV9DQU5f RkVOQ0U7CkBAIC00ODYsNyArNDg2LDcgQEAgaTkxNV92bWFfaW5zZXJ0KHN0cnVjdCBpOTE1X3Zt YSAqdm1hLCB1NjQgc2l6ZSwgdTY0IGFsaWdubWVudCwgdTY0IGZsYWdzKQogCiAJZW5kID0gdm1h LT52bS0+dG90YWw7CiAJaWYgKGZsYWdzICYgUElOX01BUFBBQkxFKQotCQllbmQgPSBtaW5fdCh1 NjQsIGVuZCwgZGV2X3ByaXYtPmdndHQubWFwcGFibGVfZW5kKTsKKwkJZW5kID0gbWluX3QodTY0 LCBlbmQsIGRldl9wcml2LT5nZ3R0Lm1hcHBhYmxlX3NpemUpOwogCWlmIChmbGFncyAmIFBJTl9a T05FXzRHKQogCQllbmQgPSBtaW5fdCh1NjQsIGVuZCwgKDFVTEwgPDwgMzIpIC0gSTkxNV9HVFRf UEFHRV9TSVpFKTsKIAlHRU1fQlVHX09OKCFJU19BTElHTkVEKGVuZCwgSTkxNV9HVFRfUEFHRV9T SVpFKSk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9mYmRldi5jIGIv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZmJkZXYuYwppbmRleCBiOGFmMzUxODdkMjIuLmU1 NjI2MmQxYmM4NyAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZmJkZXYu YworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9mYmRldi5jCkBAIC0yMzcsNyArMjM3 LDcgQEAgc3RhdGljIGludCBpbnRlbGZiX2NyZWF0ZShzdHJ1Y3QgZHJtX2ZiX2hlbHBlciAqaGVs cGVyLAogCiAJLyogc2V0dXAgYXBlcnR1cmUgYmFzZS9zaXplIGZvciB2ZXNhZmIgdGFrZW92ZXIg Ki8KIAlpbmZvLT5hcGVydHVyZXMtPnJhbmdlc1swXS5iYXNlID0gZGV2LT5tb2RlX2NvbmZpZy5m Yl9iYXNlOwotCWluZm8tPmFwZXJ0dXJlcy0+cmFuZ2VzWzBdLnNpemUgPSBnZ3R0LT5tYXBwYWJs ZV9lbmQ7CisJaW5mby0+YXBlcnR1cmVzLT5yYW5nZXNbMF0uc2l6ZSA9IGdndHQtPm1hcHBhYmxl X3NpemU7CiAKIAlpbmZvLT5maXguc21lbV9zdGFydCA9IGRldi0+bW9kZV9jb25maWcuZmJfYmFz ZSArIGk5MTVfZ2d0dF9vZmZzZXQodm1hKTsKIAlpbmZvLT5maXguc21lbV9sZW4gPSB2bWEtPm5v ZGUuc2l6ZTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L3NlbGZ0ZXN0cy9pOTE1 X2dlbV9ndHQuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L3NlbGZ0ZXN0cy9pOTE1X2dlbV9ndHQu YwppbmRleCA2NDkxY2YwYTRmNDYuLmU5N2FlNGI0YTY4NCAxMDA2NDQKLS0tIGEvZHJpdmVycy9n cHUvZHJtL2k5MTUvc2VsZnRlc3RzL2k5MTVfZ2VtX2d0dC5jCisrKyBiL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L3NlbGZ0ZXN0cy9pOTE1X2dlbV9ndHQuYwpAQCAtMTA1NCw3ICsxMDU0LDcgQEAgc3Rh dGljIGludCBpZ3RfZ2d0dF9wYWdlKHZvaWQgKmFyZykKIAllcnIgPSBkcm1fbW1faW5zZXJ0X25v ZGVfaW5fcmFuZ2UoJmdndHQtPmJhc2UubW0sICZ0bXAsCiAJCQkJCSAgMTAyNCAqIFBBR0VfU0la RSwgMCwKIAkJCQkJICBJOTE1X0NPTE9SX1VORVZJQ1RBQkxFLAotCQkJCQkgIDAsIGdndHQtPm1h cHBhYmxlX2VuZCwKKwkJCQkJICAwLCBnZ3R0LT5tYXBwYWJsZV9zaXplLAogCQkJCQkgIERSTV9N TV9JTlNFUlRfTE9XKTsKIAlpZiAoZXJyKQogCQlnb3RvIG91dF91bnBpbjsKZGlmZiAtLWdpdCBh L2RyaXZlcnMvZ3B1L2RybS9pOTE1L3NlbGZ0ZXN0cy9pOTE1X3ZtYS5jIGIvZHJpdmVycy9ncHUv ZHJtL2k5MTUvc2VsZnRlc3RzL2k5MTVfdm1hLmMKaW5kZXggZWI4OWUzMDFiNjAyLi5mMmUxNWJj MWI4MmEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L3NlbGZ0ZXN0cy9pOTE1X3Zt YS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L3NlbGZ0ZXN0cy9pOTE1X3ZtYS5jCkBAIC0y NTcsMzAgKzI1NywzMCBAQCBzdGF0aWMgaW50IGlndF92bWFfcGluMSh2b2lkICphcmcpCiAKIAkJ VkFMSUQoMCwgUElOX0dMT0JBTCB8IFBJTl9PRkZTRVRfQklBUyB8IDQwOTYpLAogCQlWQUxJRCgw LCBQSU5fR0xPQkFMIHwgUElOX09GRlNFVF9CSUFTIHwgODE5MiksCi0JCVZBTElEKDAsIFBJTl9H TE9CQUwgfCBQSU5fT0ZGU0VUX0JJQVMgfCAoaTkxNS0+Z2d0dC5tYXBwYWJsZV9lbmQgLSA0MDk2 KSksCi0JCVZBTElEKDAsIFBJTl9HTE9CQUwgfCBQSU5fTUFQUEFCTEUgfCBQSU5fT0ZGU0VUX0JJ QVMgfCAoaTkxNS0+Z2d0dC5tYXBwYWJsZV9lbmQgLSA0MDk2KSksCisJCVZBTElEKDAsIFBJTl9H TE9CQUwgfCBQSU5fT0ZGU0VUX0JJQVMgfCAoaTkxNS0+Z2d0dC5tYXBwYWJsZV9zaXplIC0gNDA5 NikpLAorCQlWQUxJRCgwLCBQSU5fR0xPQkFMIHwgUElOX01BUFBBQkxFIHwgUElOX09GRlNFVF9C SUFTIHwgKGk5MTUtPmdndHQubWFwcGFibGVfc2l6ZSAtIDQwOTYpKSwKIAkJVkFMSUQoMCwgUElO X0dMT0JBTCB8IFBJTl9PRkZTRVRfQklBUyB8IChpOTE1LT5nZ3R0LmJhc2UudG90YWwgLSA0MDk2 KSksCiAKLQkJVkFMSUQoMCwgUElOX0dMT0JBTCB8IFBJTl9NQVBQQUJMRSB8IFBJTl9PRkZTRVRf RklYRUQgfCAoaTkxNS0+Z2d0dC5tYXBwYWJsZV9lbmQgLSA0MDk2KSksCi0JCUlOVkFMSUQoMCwg UElOX0dMT0JBTCB8IFBJTl9NQVBQQUJMRSB8IFBJTl9PRkZTRVRfRklYRUQgfCBpOTE1LT5nZ3R0 Lm1hcHBhYmxlX2VuZCksCisJCVZBTElEKDAsIFBJTl9HTE9CQUwgfCBQSU5fTUFQUEFCTEUgfCBQ SU5fT0ZGU0VUX0ZJWEVEIHwgKGk5MTUtPmdndHQubWFwcGFibGVfc2l6ZSAtIDQwOTYpKSwKKwkJ SU5WQUxJRCgwLCBQSU5fR0xPQkFMIHwgUElOX01BUFBBQkxFIHwgUElOX09GRlNFVF9GSVhFRCB8 IGk5MTUtPmdndHQubWFwcGFibGVfc2l6ZSksCiAJCVZBTElEKDAsIFBJTl9HTE9CQUwgfCBQSU5f T0ZGU0VUX0ZJWEVEIHwgKGk5MTUtPmdndHQuYmFzZS50b3RhbCAtIDQwOTYpKSwKIAkJSU5WQUxJ RCgwLCBQSU5fR0xPQkFMIHwgUElOX09GRlNFVF9GSVhFRCB8IGk5MTUtPmdndHQuYmFzZS50b3Rh bCksCiAJCUlOVkFMSUQoMCwgUElOX0dMT0JBTCB8IFBJTl9PRkZTRVRfRklYRUQgfCByb3VuZF9k b3duKFU2NF9NQVgsIFBBR0VfU0laRSkpLAogCiAJCVZBTElEKDQwOTYsIFBJTl9HTE9CQUwpLAog CQlWQUxJRCg4MTkyLCBQSU5fR0xPQkFMKSwKLQkJVkFMSUQoaTkxNS0+Z2d0dC5tYXBwYWJsZV9l bmQgLSA0MDk2LCBQSU5fR0xPQkFMIHwgUElOX01BUFBBQkxFKSwKLQkJVkFMSUQoaTkxNS0+Z2d0 dC5tYXBwYWJsZV9lbmQsIFBJTl9HTE9CQUwgfCBQSU5fTUFQUEFCTEUpLAotCQlOT1NQQUNFKGk5 MTUtPmdndHQubWFwcGFibGVfZW5kICsgNDA5NiwgUElOX0dMT0JBTCB8IFBJTl9NQVBQQUJMRSks CisJCVZBTElEKGk5MTUtPmdndHQubWFwcGFibGVfc2l6ZSAtIDQwOTYsIFBJTl9HTE9CQUwgfCBQ SU5fTUFQUEFCTEUpLAorCQlWQUxJRChpOTE1LT5nZ3R0Lm1hcHBhYmxlX3NpemUsIFBJTl9HTE9C QUwgfCBQSU5fTUFQUEFCTEUpLAorCQlOT1NQQUNFKGk5MTUtPmdndHQubWFwcGFibGVfc2l6ZSAr IDQwOTYsIFBJTl9HTE9CQUwgfCBQSU5fTUFQUEFCTEUpLAogCQlWQUxJRChpOTE1LT5nZ3R0LmJh c2UudG90YWwgLSA0MDk2LCBQSU5fR0xPQkFMKSwKIAkJVkFMSUQoaTkxNS0+Z2d0dC5iYXNlLnRv dGFsLCBQSU5fR0xPQkFMKSwKIAkJTk9TUEFDRShpOTE1LT5nZ3R0LmJhc2UudG90YWwgKyA0MDk2 LCBQSU5fR0xPQkFMKSwKIAkJTk9TUEFDRShyb3VuZF9kb3duKFU2NF9NQVgsIFBBR0VfU0laRSks IFBJTl9HTE9CQUwpLAotCQlJTlZBTElEKDgxOTIsIFBJTl9HTE9CQUwgfCBQSU5fTUFQUEFCTEUg fCBQSU5fT0ZGU0VUX0ZJWEVEIHwgKGk5MTUtPmdndHQubWFwcGFibGVfZW5kIC0gNDA5NikpLAor CQlJTlZBTElEKDgxOTIsIFBJTl9HTE9CQUwgfCBQSU5fTUFQUEFCTEUgfCBQSU5fT0ZGU0VUX0ZJ WEVEIHwgKGk5MTUtPmdndHQubWFwcGFibGVfc2l6ZSAtIDQwOTYpKSwKIAkJSU5WQUxJRCg4MTky LCBQSU5fR0xPQkFMIHwgUElOX09GRlNFVF9GSVhFRCB8IChpOTE1LT5nZ3R0LmJhc2UudG90YWwg LSA0MDk2KSksCiAJCUlOVkFMSUQoODE5MiwgUElOX0dMT0JBTCB8IFBJTl9PRkZTRVRfRklYRUQg fCAocm91bmRfZG93bihVNjRfTUFYLCBQQUdFX1NJWkUpIC0gNDA5NikpLAogCi0JCVZBTElEKDgx OTIsIFBJTl9HTE9CQUwgfCBQSU5fT0ZGU0VUX0JJQVMgfCAoaTkxNS0+Z2d0dC5tYXBwYWJsZV9l bmQgLSA0MDk2KSksCisJCVZBTElEKDgxOTIsIFBJTl9HTE9CQUwgfCBQSU5fT0ZGU0VUX0JJQVMg fCAoaTkxNS0+Z2d0dC5tYXBwYWJsZV9zaXplIC0gNDA5NikpLAogCiAjaWYgIUlTX0VOQUJMRUQo Q09ORklHX0RSTV9JOTE1X0RFQlVHX0dFTSkKIAkJLyogTWlzdXNpbmcgQklBUyBpcyBhIHByb2dy YW1taW5nIGVycm9yIChpdCBpcyBub3QgY29udHJvbGxhYmxlCkBAIC0yODgsOSArMjg4LDkgQEAg c3RhdGljIGludCBpZ3Rfdm1hX3BpbjEodm9pZCAqYXJnKQogCQkgKiBIb3dldmVyLCB0aGUgdGVz dHMgYXJlIHN0aWxsIHF1aXRlIGludGVyZXN0aW5nIGZvciBjaGVja2luZwogCQkgKiB2YXJpYWJs ZSBzdGFydCwgZW5kIGFuZCBzaXplLgogCQkgKi8KLQkJTk9TUEFDRSgwLCBQSU5fR0xPQkFMIHwg UElOX01BUFBBQkxFIHwgUElOX09GRlNFVF9CSUFTIHwgaTkxNS0+Z2d0dC5tYXBwYWJsZV9lbmQp LAorCQlOT1NQQUNFKDAsIFBJTl9HTE9CQUwgfCBQSU5fTUFQUEFCTEUgfCBQSU5fT0ZGU0VUX0JJ QVMgfCBpOTE1LT5nZ3R0Lm1hcHBhYmxlX3NpemUpLAogCQlOT1NQQUNFKDAsIFBJTl9HTE9CQUwg fCBQSU5fT0ZGU0VUX0JJQVMgfCBpOTE1LT5nZ3R0LmJhc2UudG90YWwpLAotCQlOT1NQQUNFKDgx OTIsIFBJTl9HTE9CQUwgfCBQSU5fTUFQUEFCTEUgfCBQSU5fT0ZGU0VUX0JJQVMgfCAoaTkxNS0+ Z2d0dC5tYXBwYWJsZV9lbmQgLSA0MDk2KSksCisJCU5PU1BBQ0UoODE5MiwgUElOX0dMT0JBTCB8 IFBJTl9NQVBQQUJMRSB8IFBJTl9PRkZTRVRfQklBUyB8IChpOTE1LT5nZ3R0Lm1hcHBhYmxlX3Np emUgLSA0MDk2KSksCiAJCU5PU1BBQ0UoODE5MiwgUElOX0dMT0JBTCB8IFBJTl9PRkZTRVRfQklB UyB8IChpOTE1LT5nZ3R0LmJhc2UudG90YWwgLSA0MDk2KSksCiAjZW5kaWYKIAkJeyB9LApkaWZm IC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvc2VsZnRlc3RzL21vY2tfZ3R0LmMgYi9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9zZWxmdGVzdHMvbW9ja19ndHQuYwppbmRleCAzMzZlMWFmYjI1MGYu LmQzMTU1ZjM2ZGU4OSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvc2VsZnRlc3Rz L21vY2tfZ3R0LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvc2VsZnRlc3RzL21vY2tfZ3R0 LmMKQEAgLTExMSw3ICsxMTEsNyBAQCB2b2lkIG1vY2tfaW5pdF9nZ3R0KHN0cnVjdCBkcm1faTkx NV9wcml2YXRlICppOTE1KQogCWdndHQtPmJhc2UuaTkxNSA9IGk5MTU7CiAKIAlnZ3R0LT5tYXBw YWJsZV9iYXNlID0gMDsKLQlnZ3R0LT5tYXBwYWJsZV9lbmQgPSAyMDQ4ICogUEFHRV9TSVpFOwor CWdndHQtPm1hcHBhYmxlX3NpemUgPSAyMDQ4ICogUEFHRV9TSVpFOwogCWdndHQtPmJhc2UudG90 YWwgPSA0MDk2ICogUEFHRV9TSVpFOwogCiAJZ2d0dC0+YmFzZS5jbGVhcl9yYW5nZSA9IG5vcF9j bGVhcl9yYW5nZTsKZGlmZiAtLWdpdCBhL2luY2x1ZGUvZHJtL2ludGVsLWd0dC5oIGIvaW5jbHVk ZS9kcm0vaW50ZWwtZ3R0LmgKaW5kZXggYzVkYjc5NzVjNjQwLi5lOTAxZGUwYjZkZDggMTAwNjQ0 Ci0tLSBhL2luY2x1ZGUvZHJtL2ludGVsLWd0dC5oCisrKyBiL2luY2x1ZGUvZHJtL2ludGVsLWd0 dC5oCkBAIC03LDcgKzcsNyBAQAogdm9pZCBpbnRlbF9ndHRfZ2V0KHU2NCAqZ3R0X3RvdGFsLAog CQkgICB1MzIgKnN0b2xlbl9zaXplLAogCQkgICBwaHlzX2FkZHJfdCAqbWFwcGFibGVfYmFzZSwK LQkJICAgdTY0ICptYXBwYWJsZV9lbmQpOworCQkgICB1NjQgKm1hcHBhYmxlX3NpemUpOwogCiBp bnQgaW50ZWxfZ21jaF9wcm9iZShzdHJ1Y3QgcGNpX2RldiAqYnJpZGdlX3BkZXYsIHN0cnVjdCBw Y2lfZGV2ICpncHVfcGRldiwKIAkJICAgICBzdHJ1Y3QgYWdwX2JyaWRnZV9kYXRhICpicmlkZ2Up OwotLSAKMi4xNC4zCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5v cmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1n ZngK