From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tvrtko Ursulin Subject: Re: [PATCH 02/12] drm/i915: Rename struct intel_context Date: Mon, 23 May 2016 10:09:36 +0100 Message-ID: <5742C8D0.5000209@linux.intel.com> References: <1463922152-2709-1-git-send-email-chris@chris-wilson.co.uk> <1463922152-2709-2-git-send-email-chris@chris-wilson.co.uk> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) by gabe.freedesktop.org (Postfix) with ESMTP id 4034F6E51D for ; Mon, 23 May 2016 09:09:38 +0000 (UTC) In-Reply-To: <1463922152-2709-2-git-send-email-chris@chris-wilson.co.uk> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Chris Wilson , intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org Ck9uIDIyLzA1LzE2IDE0OjAyLCBDaHJpcyBXaWxzb24gd3JvdGU6Cj4gT3VyIGdvYWwgaXMgdG8g cmVuYW1lIHRoZSBhbm9ueW1vdXMgcGVyLWVuZ2luZSBzdHJ1Y3QgYmVuZWF0aCB0aGUKPiBjdXJy ZW50IGludGVsX2NvbnRleHQuIEhvd2V2ZXIsIGFmdGVyIGEgbGl2ZWx5IGRlYmF0ZSByZXNvbHZp bmcgYXJvdW5kCj4gdGhlIGNvbmZ1c2lvbiBiZXR3ZWVuIGludGVsX2NvbnRleHRfZW5naW5lIGFu ZCBpbnRlbF9lbmdpbmVfY29udGV4dCwgdGhlCj4gcmVhbGlzYXRpb24gaXMgdGhhdCB0aGUgdHdv IHN0cnVjdHMgdGFyZ2V0IGRpZmZlcmVudCB1c2Vycy4gVGhlIG91dGVyCj4gc3RydWN0IGlzIEFQ SSAvIHVzZXIgZmFjaW5nLCBhbmQgc28gY2FycmllcyB0aGUgaGlnaGVyIGxldmVsIEdFTQo+IGlu Zm9ybWF0aW9uLiBUaGUgaW5uZXIgc3RydWN0IGlzIGh3IGZhY2luZy4gVGh1cyB3ZSB3YW50IHRv IG5hbWUgdGhlCj4gaW5uZXIgc3RydWN0IGludGVsX2NvbnRleHQgYW5kIHRoZSBvdXRlciBvbmUg aTkxNV9nZW1fY29udGV4dC4gQXMgdGhlCj4gZmlyc3Qgc3RlcCwgd2UgbmVlZCB0byByZW5hbWUg dGhlIGN1cnJlbnQgc3RydWN0Ogo+Cj4gCXMvc3RydWN0IGludGVsX2NvbnRleHQvc3RydWN0IGk5 MTVfZ2VtX2NvbnRleHQvCj4KPiB3aGljaCBmaXRzIG11Y2ggYmV0dGVyIHdpdGggaXRzIGNvbnN0 cnVjdG9ycyBhbHJlYWR5IGNvbnZleWluZyB0aGUKPiBpOTE1X2dlbV9jb250ZXh0IHByZWZpeCEK ClJldmlld2VkLWJ5OiBUdnJ0a28gVXJzdWxpbiA8dHZydGtvLnVyc3VsaW5AaW50ZWwuY29tPgoK UmVnYXJkcywKClR2cnRrbwoKPiBTaWduZWQtb2ZmLWJ5OiBDaHJpcyBXaWxzb24gPGNocmlzQGNo cmlzLXdpbHNvbi5jby51az4KPiBDYzogRGF2ZSBHb3Jkb24gPGRhdmlkLnMuZ29yZG9uQGludGVs LmNvbT4KPiBDYzogVHZydGtvIFVyc3VsaW4gPHR2cnRrby51cnN1bGluQGludGVsLmNvbT4KPiAt LS0KPiAgIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZGVidWdmcy5jICAgICAgICB8IDEwICsr Ky0tLQo+ICAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaCAgICAgICAgICAgIHwgMjIg KysrKysrLS0tLS0tLQo+ICAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW0uYyAgICAgICAg ICAgIHwgIDggKystLS0KPiAgIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2NvbnRleHQu YyAgICB8IDUyICsrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLQo+ICAgZHJpdmVycy9ncHUv ZHJtL2k5MTUvaTkxNV9nZW1fZXhlY2J1ZmZlci5jIHwgMTAgKysrLS0tCj4gICBkcml2ZXJzL2dw dS9kcm0vaTkxNS9pOTE1X2d1Y19zdWJtaXNzaW9uLmMgfCAxMiArKystLS0tCj4gICBkcml2ZXJz L2dwdS9kcm0vaTkxNS9pOTE1X3N5c2ZzLmMgICAgICAgICAgfCAgMiArLQo+ICAgZHJpdmVycy9n cHUvZHJtL2k5MTUvaTkxNV90cmFjZS5oICAgICAgICAgIHwgMTIgKysrLS0tLQo+ICAgZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfZ3VjLmggICAgICAgICAgIHwgIDIgKy0KPiAgIGRyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX2xyYy5jICAgICAgICAgICB8IDIyICsrKysrKy0tLS0tLS0KPiAg IGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2xyYy5oICAgICAgICAgICB8IDEwICsrKy0tLQo+ ICAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcmluZ2J1ZmZlci5oICAgIHwgIDQgKy0tCj4g ICAxMiBmaWxlcyBjaGFuZ2VkLCA4NCBpbnNlcnRpb25zKCspLCA4MiBkZWxldGlvbnMoLSkKPgo+ IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2RlYnVnZnMuYyBiL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2k5MTVfZGVidWdmcy5jCj4gaW5kZXggNGM2YjQ4ZGJkNmUyLi5hZTI4 ZTZlOWQ2MDMgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kZWJ1Z2Zz LmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2RlYnVnZnMuYwo+IEBAIC0xOTks NyArMTk5LDcgQEAgZGVzY3JpYmVfb2JqKHN0cnVjdCBzZXFfZmlsZSAqbSwgc3RydWN0IGRybV9p OTE1X2dlbV9vYmplY3QgKm9iaikKPiAgIAkJc2VxX3ByaW50ZihtLCAiIChmcm9udGJ1ZmZlcjog MHglMDN4KSIsIG9iai0+ZnJvbnRidWZmZXJfYml0cyk7Cj4gICB9Cj4KPiAtc3RhdGljIHZvaWQg ZGVzY3JpYmVfY3R4KHN0cnVjdCBzZXFfZmlsZSAqbSwgc3RydWN0IGludGVsX2NvbnRleHQgKmN0 eCkKPiArc3RhdGljIHZvaWQgZGVzY3JpYmVfY3R4KHN0cnVjdCBzZXFfZmlsZSAqbSwgc3RydWN0 IGk5MTVfZ2VtX2NvbnRleHQgKmN0eCkKPiAgIHsKPiAgIAlzZXFfcHV0YyhtLCBjdHgtPmxlZ2Fj eV9od19jdHguaW5pdGlhbGl6ZWQgPyAnSScgOiAnaScpOwo+ICAgCXNlcV9wdXRjKG0sIGN0eC0+ cmVtYXBfc2xpY2UgPyAnUicgOiAncicpOwo+IEBAIC0yMDAwLDcgKzIwMDAsNyBAQCBzdGF0aWMg aW50IGk5MTVfY29udGV4dF9zdGF0dXMoc3RydWN0IHNlcV9maWxlICptLCB2b2lkICp1bnVzZWQp Cj4gICAJc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IG5vZGUtPm1pbm9yLT5kZXY7Cj4gICAJc3Ry dWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gZGV2LT5kZXZfcHJpdmF0ZTsKPiAgIAlz dHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmU7Cj4gLQlzdHJ1Y3QgaW50ZWxfY29udGV4dCAq Y3R4Owo+ICsJc3RydWN0IGk5MTVfZ2VtX2NvbnRleHQgKmN0eDsKPiAgIAllbnVtIGludGVsX2Vu Z2luZV9pZCBpZDsKPiAgIAlpbnQgcmV0Owo+Cj4gQEAgLTIwNDYsNyArMjA0Niw3IEBAIHN0YXRp YyBpbnQgaTkxNV9jb250ZXh0X3N0YXR1cyhzdHJ1Y3Qgc2VxX2ZpbGUgKm0sIHZvaWQgKnVudXNl ZCkKPiAgIH0KPgo+ICAgc3RhdGljIHZvaWQgaTkxNV9kdW1wX2xyY19vYmooc3RydWN0IHNlcV9m aWxlICptLAo+IC0JCQkgICAgICBzdHJ1Y3QgaW50ZWxfY29udGV4dCAqY3R4LAo+ICsJCQkgICAg ICBzdHJ1Y3QgaTkxNV9nZW1fY29udGV4dCAqY3R4LAo+ICAgCQkJICAgICAgc3RydWN0IGludGVs X2VuZ2luZV9jcyAqZW5naW5lKQo+ICAgewo+ICAgCXN0cnVjdCBwYWdlICpwYWdlOwo+IEBAIC0y MDk0LDcgKzIwOTQsNyBAQCBzdGF0aWMgaW50IGk5MTVfZHVtcF9scmMoc3RydWN0IHNlcV9maWxl ICptLCB2b2lkICp1bnVzZWQpCj4gICAJc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IG5vZGUtPm1p bm9yLT5kZXY7Cj4gICAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gZGV2LT5k ZXZfcHJpdmF0ZTsKPiAgIAlzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmU7Cj4gLQlzdHJ1 Y3QgaW50ZWxfY29udGV4dCAqY3R4Owo+ICsJc3RydWN0IGk5MTVfZ2VtX2NvbnRleHQgKmN0eDsK PiAgIAlpbnQgcmV0Owo+Cj4gICAJaWYgKCFpOTE1LmVuYWJsZV9leGVjbGlzdHMpIHsKPiBAQCAt MjI3NCw3ICsyMjc0LDcgQEAgc3RhdGljIGludCBpOTE1X3N3aXp6bGVfaW5mbyhzdHJ1Y3Qgc2Vx X2ZpbGUgKm0sIHZvaWQgKmRhdGEpCj4KPiAgIHN0YXRpYyBpbnQgcGVyX2ZpbGVfY3R4KGludCBp ZCwgdm9pZCAqcHRyLCB2b2lkICpkYXRhKQo+ICAgewo+IC0Jc3RydWN0IGludGVsX2NvbnRleHQg KmN0eCA9IHB0cjsKPiArCXN0cnVjdCBpOTE1X2dlbV9jb250ZXh0ICpjdHggPSBwdHI7Cj4gICAJ c3RydWN0IHNlcV9maWxlICptID0gZGF0YTsKPiAgIAlzdHJ1Y3QgaTkxNV9od19wcGd0dCAqcHBn dHQgPSBjdHgtPnBwZ3R0Owo+Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5 MTVfZHJ2LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCj4gaW5kZXggZTJhYmQ5 ZWIzNTJiLi44MzgwMTAyYmJkZDggMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUv aTkxNV9kcnYuaAo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKPiBAQCAt ODMxLDcgKzgzMSw3IEBAIHN0cnVjdCBpOTE1X2N0eF9oYW5nX3N0YXRzIHsKPgo+ICAgI2RlZmlu ZSBDT05URVhUX05PX1pFUk9NQVAgKDE8PDApCj4gICAvKioKPiAtICogc3RydWN0IGludGVsX2Nv bnRleHQgLSBhcyB0aGUgbmFtZSBpbXBsaWVzLCByZXByZXNlbnRzIGEgY29udGV4dC4KPiArICog c3RydWN0IGk5MTVfZ2VtX2NvbnRleHQgLSBhcyB0aGUgbmFtZSBpbXBsaWVzLCByZXByZXNlbnRz IGEgY29udGV4dC4KPiAgICAqIEByZWY6IHJlZmVyZW5jZSBjb3VudC4KPiAgICAqIEB1c2VyX2hh bmRsZTogdXNlcnNwYWNlIHRyYWNraW5nIGlkZW50aXR5IGZvciB0aGlzIGNvbnRleHQuCj4gICAg KiBAcmVtYXBfc2xpY2U6IGwzIHJvdyByZW1hcHBpbmcgaW5mb3JtYXRpb24uCj4gQEAgLTg0OSw3 ICs4NDksNyBAQCBzdHJ1Y3QgaTkxNV9jdHhfaGFuZ19zdGF0cyB7Cj4gICAgKiBDb250ZXh0cyBh cmUgbWVtb3J5IGltYWdlcyB1c2VkIGJ5IHRoZSBoYXJkd2FyZSB0byBzdG9yZSBjb3BpZXMgb2Yg dGhlaXIKPiAgICAqIGludGVybmFsIHN0YXRlLgo+ICAgICovCj4gLXN0cnVjdCBpbnRlbF9jb250 ZXh0IHsKPiArc3RydWN0IGk5MTVfZ2VtX2NvbnRleHQgewo+ICAgCXN0cnVjdCBrcmVmIHJlZjsK PiAgIAlpbnQgdXNlcl9oYW5kbGU7Cj4gICAJdWludDhfdCByZW1hcF9zbGljZTsKPiBAQCAtMTcx MCw3ICsxNzEwLDcgQEAgc3RydWN0IGk5MTVfZXhlY2J1ZmZlcl9wYXJhbXMgewo+ICAgCXVpbnQ2 NF90ICAgICAgICAgICAgICAgICAgICAgICAgYmF0Y2hfb2JqX3ZtX29mZnNldDsKPiAgIAlzdHJ1 Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmU7Cj4gICAJc3RydWN0IGRybV9pOTE1X2dlbV9vYmpl Y3QgICAgICAqYmF0Y2hfb2JqOwo+IC0Jc3RydWN0IGludGVsX2NvbnRleHQgICAgICAgICAgICAq Y3R4Owo+ICsJc3RydWN0IGk5MTVfZ2VtX2NvbnRleHQgICAgICAgICAgICAqY3R4Owo+ICAgCXN0 cnVjdCBkcm1faTkxNV9nZW1fcmVxdWVzdCAgICAgKnJlcXVlc3Q7Cj4gICB9Owo+Cj4gQEAgLTIw MTMsNyArMjAxMyw3IEBAIHN0cnVjdCBkcm1faTkxNV9wcml2YXRlIHsKPiAgIAkJdm9pZCAoKnN0 b3BfZW5naW5lKShzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUpOwo+ICAgCX0gZ3Q7Cj4K PiAtCXN0cnVjdCBpbnRlbF9jb250ZXh0ICprZXJuZWxfY29udGV4dDsKPiArCXN0cnVjdCBpOTE1 X2dlbV9jb250ZXh0ICprZXJuZWxfY29udGV4dDsKPgo+ICAgCS8qIHBlcmZvcm0gUEhZIHN0YXRl IHNhbml0eSBjaGVja3M/ICovCj4gICAJYm9vbCBjaHZfcGh5X2Fzc2VydFsyXTsKPiBAQCAtMjM4 MSw3ICsyMzgxLDcgQEAgc3RydWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0IHsKPiAgIAkgKiBpOTE1 X2dlbV9yZXF1ZXN0X2ZyZWUoKSB3aWxsIHRoZW4gZGVjcmVtZW50IHRoZSByZWZjb3VudCBvbiB0 aGUKPiAgIAkgKiBjb250ZXh0Lgo+ICAgCSAqLwo+IC0Jc3RydWN0IGludGVsX2NvbnRleHQgKmN0 eDsKPiArCXN0cnVjdCBpOTE1X2dlbV9jb250ZXh0ICpjdHg7Cj4gICAJc3RydWN0IGludGVsX3Jp bmdidWZmZXIgKnJpbmdidWY7Cj4KPiAgIAkvKioKPiBAQCAtMjM5Myw3ICsyMzkzLDcgQEAgc3Ry dWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0IHsKPiAgIAkgKiB3ZSBrZWVwIHRoZSBwcmV2aW91cyBj b250ZXh0IHBpbm5lZCB1bnRpbCB0aGUgZm9sbG93aW5nICh0aGlzKQo+ICAgCSAqIHJlcXVlc3Qg aXMgcmV0aXJlZC4KPiAgIAkgKi8KPiAtCXN0cnVjdCBpbnRlbF9jb250ZXh0ICpwcmV2aW91c19j b250ZXh0Owo+ICsJc3RydWN0IGk5MTVfZ2VtX2NvbnRleHQgKnByZXZpb3VzX2NvbnRleHQ7Cj4K PiAgIAkvKiogQmF0Y2ggYnVmZmVyIHJlbGF0ZWQgdG8gdGhpcyByZXF1ZXN0IGlmIGFueSAodXNl ZCBmb3IKPiAgIAkgICAgZXJyb3Igc3RhdGUgZHVtcCBvbmx5KSAqLwo+IEBAIC0yNDM3LDcgKzI0 MzcsNyBAQCBzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3JlcXVlc3Qgewo+Cj4gICBzdHJ1Y3QgZHJtX2k5 MTVfZ2VtX3JlcXVlc3QgKiBfX211c3RfY2hlY2sKPiAgIGk5MTVfZ2VtX3JlcXVlc3RfYWxsb2Mo c3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lLAo+IC0JCSAgICAgICBzdHJ1Y3QgaW50ZWxf Y29udGV4dCAqY3R4KTsKPiArCQkgICAgICAgc3RydWN0IGk5MTVfZ2VtX2NvbnRleHQgKmN0eCk7 Cj4gICB2b2lkIGk5MTVfZ2VtX3JlcXVlc3RfZnJlZShzdHJ1Y3Qga3JlZiAqcmVxX3JlZik7Cj4g ICBpbnQgaTkxNV9nZW1fcmVxdWVzdF9hZGRfdG9fY2xpZW50KHN0cnVjdCBkcm1faTkxNV9nZW1f cmVxdWVzdCAqcmVxLAo+ICAgCQkJCSAgIHN0cnVjdCBkcm1fZmlsZSAqZmlsZSk7Cj4gQEAgLTM0 MTcsMjIgKzM0MTcsMjIgQEAgdm9pZCBpOTE1X2dlbV9jb250ZXh0X3Jlc2V0KHN0cnVjdCBkcm1f ZGV2aWNlICpkZXYpOwo+ICAgaW50IGk5MTVfZ2VtX2NvbnRleHRfb3BlbihzdHJ1Y3QgZHJtX2Rl dmljZSAqZGV2LCBzdHJ1Y3QgZHJtX2ZpbGUgKmZpbGUpOwo+ICAgdm9pZCBpOTE1X2dlbV9jb250 ZXh0X2Nsb3NlKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHN0cnVjdCBkcm1fZmlsZSAqZmlsZSk7 Cj4gICBpbnQgaTkxNV9zd2l0Y2hfY29udGV4dChzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3JlcXVlc3Qg KnJlcSk7Cj4gLXN0cnVjdCBpbnRlbF9jb250ZXh0ICoKPiArc3RydWN0IGk5MTVfZ2VtX2NvbnRl eHQgKgo+ICAgaTkxNV9nZW1fY29udGV4dF9nZXQoc3RydWN0IGRybV9pOTE1X2ZpbGVfcHJpdmF0 ZSAqZmlsZV9wcml2LCB1MzIgaWQpOwo+ICAgdm9pZCBpOTE1X2dlbV9jb250ZXh0X2ZyZWUoc3Ry dWN0IGtyZWYgKmN0eF9yZWYpOwo+ICAgc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKgo+ICAg aTkxNV9nZW1fYWxsb2NfY29udGV4dF9vYmooc3RydWN0IGRybV9kZXZpY2UgKmRldiwgc2l6ZV90 IHNpemUpOwo+IC1zdGF0aWMgaW5saW5lIHZvaWQgaTkxNV9nZW1fY29udGV4dF9yZWZlcmVuY2Uo c3RydWN0IGludGVsX2NvbnRleHQgKmN0eCkKPiArc3RhdGljIGlubGluZSB2b2lkIGk5MTVfZ2Vt X2NvbnRleHRfcmVmZXJlbmNlKHN0cnVjdCBpOTE1X2dlbV9jb250ZXh0ICpjdHgpCj4gICB7Cj4g ICAJa3JlZl9nZXQoJmN0eC0+cmVmKTsKPiAgIH0KPgo+IC1zdGF0aWMgaW5saW5lIHZvaWQgaTkx NV9nZW1fY29udGV4dF91bnJlZmVyZW5jZShzdHJ1Y3QgaW50ZWxfY29udGV4dCAqY3R4KQo+ICtz dGF0aWMgaW5saW5lIHZvaWQgaTkxNV9nZW1fY29udGV4dF91bnJlZmVyZW5jZShzdHJ1Y3QgaTkx NV9nZW1fY29udGV4dCAqY3R4KQo+ICAgewo+ICAgCWtyZWZfcHV0KCZjdHgtPnJlZiwgaTkxNV9n ZW1fY29udGV4dF9mcmVlKTsKPiAgIH0KPgo+IC1zdGF0aWMgaW5saW5lIGJvb2wgaTkxNV9nZW1f Y29udGV4dF9pc19kZWZhdWx0KGNvbnN0IHN0cnVjdCBpbnRlbF9jb250ZXh0ICpjKQo+ICtzdGF0 aWMgaW5saW5lIGJvb2wgaTkxNV9nZW1fY29udGV4dF9pc19kZWZhdWx0KGNvbnN0IHN0cnVjdCBp OTE1X2dlbV9jb250ZXh0ICpjKQo+ICAgewo+ICAgCXJldHVybiBjLT51c2VyX2hhbmRsZSA9PSBE RUZBVUxUX0NPTlRFWFRfSEFORExFOwo+ICAgfQo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pOTE1X2dlbS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW0uYwo+IGlu ZGV4IGM0YWY1N2FkYTM3OC4uNzI4YjY2OTExODQwIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2k5MTVfZ2VtLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dl bS5jCj4gQEAgLTI2ODksNyArMjY4OSw3IEBAIHZvaWQgX19pOTE1X2FkZF9yZXF1ZXN0KHN0cnVj dCBkcm1faTkxNV9nZW1fcmVxdWVzdCAqcmVxdWVzdCwKPiAgIH0KPgo+ICAgc3RhdGljIGJvb2wg aTkxNV9jb250ZXh0X2lzX2Jhbm5lZChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYs Cj4gLQkJCQkgICBjb25zdCBzdHJ1Y3QgaW50ZWxfY29udGV4dCAqY3R4KQo+ICsJCQkJICAgY29u c3Qgc3RydWN0IGk5MTVfZ2VtX2NvbnRleHQgKmN0eCkKPiAgIHsKPiAgIAl1bnNpZ25lZCBsb25n IGVsYXBzZWQ7Cj4KPiBAQCAtMjcxNCw3ICsyNzE0LDcgQEAgc3RhdGljIGJvb2wgaTkxNV9jb250 ZXh0X2lzX2Jhbm5lZChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCj4gICB9Cj4K PiAgIHN0YXRpYyB2b2lkIGk5MTVfc2V0X3Jlc2V0X3N0YXR1cyhzdHJ1Y3QgZHJtX2k5MTVfcHJp dmF0ZSAqZGV2X3ByaXYsCj4gLQkJCQkgIHN0cnVjdCBpbnRlbF9jb250ZXh0ICpjdHgsCj4gKwkJ CQkgIHN0cnVjdCBpOTE1X2dlbV9jb250ZXh0ICpjdHgsCj4gICAJCQkJICBjb25zdCBib29sIGd1 aWx0eSkKPiAgIHsKPiAgIAlzdHJ1Y3QgaTkxNV9jdHhfaGFuZ19zdGF0cyAqaHM7Cj4gQEAgLTI3 NDIsNyArMjc0Miw3IEBAIHZvaWQgaTkxNV9nZW1fcmVxdWVzdF9mcmVlKHN0cnVjdCBrcmVmICpy ZXFfcmVmKQo+Cj4gICBzdGF0aWMgaW5saW5lIGludAo+ICAgX19pOTE1X2dlbV9yZXF1ZXN0X2Fs bG9jKHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSwKPiAtCQkJIHN0cnVjdCBpbnRlbF9j b250ZXh0ICpjdHgsCj4gKwkJCSBzdHJ1Y3QgaTkxNV9nZW1fY29udGV4dCAqY3R4LAo+ICAgCQkJ IHN0cnVjdCBkcm1faTkxNV9nZW1fcmVxdWVzdCAqKnJlcV9vdXQpCj4gICB7Cj4gICAJc3RydWN0 IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gZW5naW5lLT5pOTE1Owo+IEBAIC0yODE4LDcg KzI4MTgsNyBAQCBlcnI6Cj4gICAgKi8KPiAgIHN0cnVjdCBkcm1faTkxNV9nZW1fcmVxdWVzdCAq Cj4gICBpOTE1X2dlbV9yZXF1ZXN0X2FsbG9jKHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2lu ZSwKPiAtCQkgICAgICAgc3RydWN0IGludGVsX2NvbnRleHQgKmN0eCkKPiArCQkgICAgICAgc3Ry dWN0IGk5MTVfZ2VtX2NvbnRleHQgKmN0eCkKPiAgIHsKPiAgIAlzdHJ1Y3QgZHJtX2k5MTVfZ2Vt X3JlcXVlc3QgKnJlcTsKPiAgIAlpbnQgZXJyOwo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pOTE1X2dlbV9jb250ZXh0LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dl bV9jb250ZXh0LmMKPiBpbmRleCAyYWVkZDE4ODQ3M2QuLjg0ODRkYTI2YjVkNCAxMDA2NDQKPiAt LS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9jb250ZXh0LmMKPiArKysgYi9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9jb250ZXh0LmMKPiBAQCAtMTM0LDcgKzEzNCw3IEBA IHN0YXRpYyBpbnQgZ2V0X2NvbnRleHRfc2l6ZShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2 X3ByaXYpCj4gICAJcmV0dXJuIHJldDsKPiAgIH0KPgo+IC1zdGF0aWMgdm9pZCBpOTE1X2dlbV9j b250ZXh0X2NsZWFuKHN0cnVjdCBpbnRlbF9jb250ZXh0ICpjdHgpCj4gK3N0YXRpYyB2b2lkIGk5 MTVfZ2VtX2NvbnRleHRfY2xlYW4oc3RydWN0IGk5MTVfZ2VtX2NvbnRleHQgKmN0eCkKPiAgIHsK PiAgIAlzdHJ1Y3QgaTkxNV9od19wcGd0dCAqcHBndHQgPSBjdHgtPnBwZ3R0Owo+ICAgCXN0cnVj dCBpOTE1X3ZtYSAqdm1hLCAqbmV4dDsKPiBAQCAtMTUxLDcgKzE1MSw3IEBAIHN0YXRpYyB2b2lk IGk5MTVfZ2VtX2NvbnRleHRfY2xlYW4oc3RydWN0IGludGVsX2NvbnRleHQgKmN0eCkKPgo+ICAg dm9pZCBpOTE1X2dlbV9jb250ZXh0X2ZyZWUoc3RydWN0IGtyZWYgKmN0eF9yZWYpCj4gICB7Cj4g LQlzdHJ1Y3QgaW50ZWxfY29udGV4dCAqY3R4ID0gY29udGFpbmVyX29mKGN0eF9yZWYsIHR5cGVv ZigqY3R4KSwgcmVmKTsKPiArCXN0cnVjdCBpOTE1X2dlbV9jb250ZXh0ICpjdHggPSBjb250YWlu ZXJfb2YoY3R4X3JlZiwgdHlwZW9mKCpjdHgpLCByZWYpOwo+Cj4gICAJdHJhY2VfaTkxNV9jb250 ZXh0X2ZyZWUoY3R4KTsKPgo+IEBAIC0yMzQsMTIgKzIzNCwxMiBAQCBzdGF0aWMgaW50IGFzc2ln bl9od19pZChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsIHVuc2lnbmVkICpvdXQp Cj4gICAJcmV0dXJuIDA7Cj4gICB9Cj4KPiAtc3RhdGljIHN0cnVjdCBpbnRlbF9jb250ZXh0ICoK PiArc3RhdGljIHN0cnVjdCBpOTE1X2dlbV9jb250ZXh0ICoKPiAgIF9fY3JlYXRlX2h3X2NvbnRl eHQoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKPiAgIAkJICAgIHN0cnVjdCBkcm1faTkxNV9maWxl X3ByaXZhdGUgKmZpbGVfcHJpdikKPiAgIHsKPiAgIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAq ZGV2X3ByaXYgPSBkZXYtPmRldl9wcml2YXRlOwo+IC0Jc3RydWN0IGludGVsX2NvbnRleHQgKmN0 eDsKPiArCXN0cnVjdCBpOTE1X2dlbV9jb250ZXh0ICpjdHg7Cj4gICAJaW50IHJldDsKPgo+ICAg CWN0eCA9IGt6YWxsb2Moc2l6ZW9mKCpjdHgpLCBHRlBfS0VSTkVMKTsKPiBAQCAtMjk2LDEyICsy OTYsMTIgQEAgZXJyX291dDoKPiAgICAqIGNvbnRleHQgc3RhdGUgb2YgdGhlIEdQVSBmb3IgYXBw bGljYXRpb25zIHRoYXQgZG9uJ3QgdXRpbGl6ZSBIVyBjb250ZXh0cywgYXMKPiAgICAqIHdlbGwg YXMgYW4gaWRsZSBjYXNlLgo+ICAgICovCj4gLXN0YXRpYyBzdHJ1Y3QgaW50ZWxfY29udGV4dCAq Cj4gK3N0YXRpYyBzdHJ1Y3QgaTkxNV9nZW1fY29udGV4dCAqCj4gICBpOTE1X2dlbV9jcmVhdGVf Y29udGV4dChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAo+ICAgCQkJc3RydWN0IGRybV9pOTE1X2Zp bGVfcHJpdmF0ZSAqZmlsZV9wcml2KQo+ICAgewo+ICAgCWNvbnN0IGJvb2wgaXNfZ2xvYmFsX2Rl ZmF1bHRfY3R4ID0gZmlsZV9wcml2ID09IE5VTEw7Cj4gLQlzdHJ1Y3QgaW50ZWxfY29udGV4dCAq Y3R4Owo+ICsJc3RydWN0IGk5MTVfZ2VtX2NvbnRleHQgKmN0eDsKPiAgIAlpbnQgcmV0ID0gMDsK Pgo+ICAgCUJVR19PTighbXV0ZXhfaXNfbG9ja2VkKCZkZXYtPnN0cnVjdF9tdXRleCkpOwo+IEBA IC0zNTIsNyArMzUyLDcgQEAgZXJyX2Rlc3Ryb3k6Cj4gICAJcmV0dXJuIEVSUl9QVFIocmV0KTsK PiAgIH0KPgo+IC1zdGF0aWMgdm9pZCBpOTE1X2dlbV9jb250ZXh0X3VucGluKHN0cnVjdCBpbnRl bF9jb250ZXh0ICpjdHgsCj4gK3N0YXRpYyB2b2lkIGk5MTVfZ2VtX2NvbnRleHRfdW5waW4oc3Ry dWN0IGk5MTVfZ2VtX2NvbnRleHQgKmN0eCwKPiAgIAkJCQkgICBzdHJ1Y3QgaW50ZWxfZW5naW5l X2NzICplbmdpbmUpCj4gICB7Cj4gICAJaWYgKGk5MTUuZW5hYmxlX2V4ZWNsaXN0cykgewo+IEBA IC0zNjksNyArMzY5LDcgQEAgdm9pZCBpOTE1X2dlbV9jb250ZXh0X3Jlc2V0KHN0cnVjdCBkcm1f ZGV2aWNlICpkZXYpCj4gICAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gZGV2 LT5kZXZfcHJpdmF0ZTsKPgo+ICAgCWlmIChpOTE1LmVuYWJsZV9leGVjbGlzdHMpIHsKPiAtCQlz dHJ1Y3QgaW50ZWxfY29udGV4dCAqY3R4Owo+ICsJCXN0cnVjdCBpOTE1X2dlbV9jb250ZXh0ICpj dHg7Cj4KPiAgIAkJbGlzdF9mb3JfZWFjaF9lbnRyeShjdHgsICZkZXZfcHJpdi0+Y29udGV4dF9s aXN0LCBsaW5rKQo+ICAgCQkJaW50ZWxfbHJfY29udGV4dF9yZXNldChkZXZfcHJpdiwgY3R4KTsK PiBAQCAtMzgxLDcgKzM4MSw3IEBAIHZvaWQgaTkxNV9nZW1fY29udGV4dF9yZXNldChzdHJ1Y3Qg ZHJtX2RldmljZSAqZGV2KQo+ICAgaW50IGk5MTVfZ2VtX2NvbnRleHRfaW5pdChzdHJ1Y3QgZHJt X2RldmljZSAqZGV2KQo+ICAgewo+ICAgCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJp diA9IGRldi0+ZGV2X3ByaXZhdGU7Cj4gLQlzdHJ1Y3QgaW50ZWxfY29udGV4dCAqY3R4Owo+ICsJ c3RydWN0IGk5MTVfZ2VtX2NvbnRleHQgKmN0eDsKPgo+ICAgCS8qIEluaXQgc2hvdWxkIG9ubHkg YmUgY2FsbGVkIG9uY2UgcGVyIG1vZHVsZSBsb2FkLiBFdmVudHVhbGx5IHRoZQo+ICAgCSAqIHJl c3RyaWN0aW9uIG9uIHRoZSBjb250ZXh0X2Rpc2FibGVkIGNoZWNrIGNhbiBiZSBsb29zZW5lZC4g Ki8KPiBAQCAtNDQ5LDcgKzQ0OSw3IEBAIHZvaWQgaTkxNV9nZW1fY29udGV4dF9sb3N0KHN0cnVj dCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKPiAgIHZvaWQgaTkxNV9nZW1fY29udGV4dF9m aW5pKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCj4gICB7Cj4gICAJc3RydWN0IGRybV9pOTE1X3By aXZhdGUgKmRldl9wcml2ID0gZGV2LT5kZXZfcHJpdmF0ZTsKPiAtCXN0cnVjdCBpbnRlbF9jb250 ZXh0ICpkY3R4ID0gZGV2X3ByaXYtPmtlcm5lbF9jb250ZXh0Owo+ICsJc3RydWN0IGk5MTVfZ2Vt X2NvbnRleHQgKmRjdHggPSBkZXZfcHJpdi0+a2VybmVsX2NvbnRleHQ7Cj4KPiAgIAlpZiAoZGN0 eC0+bGVnYWN5X2h3X2N0eC5yY3Nfc3RhdGUpCj4gICAJCWk5MTVfZ2VtX29iamVjdF9nZ3R0X3Vu cGluKGRjdHgtPmxlZ2FjeV9od19jdHgucmNzX3N0YXRlKTsKPiBAQCAtNDYyLDcgKzQ2Miw3IEBA IHZvaWQgaTkxNV9nZW1fY29udGV4dF9maW5pKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCj4KPiAg IHN0YXRpYyBpbnQgY29udGV4dF9pZHJfY2xlYW51cChpbnQgaWQsIHZvaWQgKnAsIHZvaWQgKmRh dGEpCj4gICB7Cj4gLQlzdHJ1Y3QgaW50ZWxfY29udGV4dCAqY3R4ID0gcDsKPiArCXN0cnVjdCBp OTE1X2dlbV9jb250ZXh0ICpjdHggPSBwOwo+Cj4gICAJaTkxNV9nZW1fY29udGV4dF91bnJlZmVy ZW5jZShjdHgpOwo+ICAgCXJldHVybiAwOwo+IEBAIC00NzEsNyArNDcxLDcgQEAgc3RhdGljIGlu dCBjb250ZXh0X2lkcl9jbGVhbnVwKGludCBpZCwgdm9pZCAqcCwgdm9pZCAqZGF0YSkKPiAgIGlu dCBpOTE1X2dlbV9jb250ZXh0X29wZW4oc3RydWN0IGRybV9kZXZpY2UgKmRldiwgc3RydWN0IGRy bV9maWxlICpmaWxlKQo+ICAgewo+ICAgCXN0cnVjdCBkcm1faTkxNV9maWxlX3ByaXZhdGUgKmZp bGVfcHJpdiA9IGZpbGUtPmRyaXZlcl9wcml2Owo+IC0Jc3RydWN0IGludGVsX2NvbnRleHQgKmN0 eDsKPiArCXN0cnVjdCBpOTE1X2dlbV9jb250ZXh0ICpjdHg7Cj4KPiAgIAlpZHJfaW5pdCgmZmls ZV9wcml2LT5jb250ZXh0X2lkcik7Cj4KPiBAQCAtNDk1LDEyICs0OTUsMTIgQEAgdm9pZCBpOTE1 X2dlbV9jb250ZXh0X2Nsb3NlKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHN0cnVjdCBkcm1fZmls ZSAqZmlsZSkKPiAgIAlpZHJfZGVzdHJveSgmZmlsZV9wcml2LT5jb250ZXh0X2lkcik7Cj4gICB9 Cj4KPiAtc3RydWN0IGludGVsX2NvbnRleHQgKgo+ICtzdHJ1Y3QgaTkxNV9nZW1fY29udGV4dCAq Cj4gICBpOTE1X2dlbV9jb250ZXh0X2dldChzdHJ1Y3QgZHJtX2k5MTVfZmlsZV9wcml2YXRlICpm aWxlX3ByaXYsIHUzMiBpZCkKPiAgIHsKPiAtCXN0cnVjdCBpbnRlbF9jb250ZXh0ICpjdHg7Cj4g KwlzdHJ1Y3QgaTkxNV9nZW1fY29udGV4dCAqY3R4Owo+Cj4gLQljdHggPSAoc3RydWN0IGludGVs X2NvbnRleHQgKilpZHJfZmluZCgmZmlsZV9wcml2LT5jb250ZXh0X2lkciwgaWQpOwo+ICsJY3R4 ID0gaWRyX2ZpbmQoJmZpbGVfcHJpdi0+Y29udGV4dF9pZHIsIGlkKTsKPiAgIAlpZiAoIWN0eCkK PiAgIAkJcmV0dXJuIEVSUl9QVFIoLUVOT0VOVCk7Cj4KPiBAQCAtNjQxLDcgKzY0MSw3IEBAIHN0 YXRpYyBpbnQgcmVtYXBfbDMoc3RydWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0ICpyZXEsIGludCBz bGljZSkKPgo+ICAgc3RhdGljIGlubGluZSBib29sIHNraXBfcmNzX3N3aXRjaChzdHJ1Y3QgaTkx NV9od19wcGd0dCAqcHBndHQsCj4gICAJCQkJICAgc3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5n aW5lLAo+IC0JCQkJICAgc3RydWN0IGludGVsX2NvbnRleHQgKnRvKQo+ICsJCQkJICAgc3RydWN0 IGk5MTVfZ2VtX2NvbnRleHQgKnRvKQo+ICAgewo+ICAgCWlmICh0by0+cmVtYXBfc2xpY2UpCj4g ICAJCXJldHVybiBmYWxzZTsKPiBAQCAtNjU4LDcgKzY1OCw3IEBAIHN0YXRpYyBpbmxpbmUgYm9v bCBza2lwX3Jjc19zd2l0Y2goc3RydWN0IGk5MTVfaHdfcHBndHQgKnBwZ3R0LAo+ICAgc3RhdGlj IGJvb2wKPiAgIG5lZWRzX3BkX2xvYWRfcHJlKHN0cnVjdCBpOTE1X2h3X3BwZ3R0ICpwcGd0dCwK PiAgIAkJICBzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUsCj4gLQkJICBzdHJ1Y3QgaW50 ZWxfY29udGV4dCAqdG8pCj4gKwkJICBzdHJ1Y3QgaTkxNV9nZW1fY29udGV4dCAqdG8pCj4gICB7 Cj4gICAJaWYgKCFwcGd0dCkKPiAgIAkJcmV0dXJuIGZhbHNlOwo+IEBAIC02ODMsNyArNjgzLDcg QEAgbmVlZHNfcGRfbG9hZF9wcmUoc3RydWN0IGk5MTVfaHdfcHBndHQgKnBwZ3R0LAo+Cj4gICBz dGF0aWMgYm9vbAo+ICAgbmVlZHNfcGRfbG9hZF9wb3N0KHN0cnVjdCBpOTE1X2h3X3BwZ3R0ICpw cGd0dCwKPiAtCQkgICBzdHJ1Y3QgaW50ZWxfY29udGV4dCAqdG8sCj4gKwkJICAgc3RydWN0IGk5 MTVfZ2VtX2NvbnRleHQgKnRvLAo+ICAgCQkgICB1MzIgaHdfZmxhZ3MpCj4gICB7Cj4gICAJaWYg KCFwcGd0dCkKPiBAQCAtNzAwLDEwICs3MDAsMTAgQEAgbmVlZHNfcGRfbG9hZF9wb3N0KHN0cnVj dCBpOTE1X2h3X3BwZ3R0ICpwcGd0dCwKPgo+ICAgc3RhdGljIGludCBkb19yY3Nfc3dpdGNoKHN0 cnVjdCBkcm1faTkxNV9nZW1fcmVxdWVzdCAqcmVxKQo+ICAgewo+IC0Jc3RydWN0IGludGVsX2Nv bnRleHQgKnRvID0gcmVxLT5jdHg7Cj4gKwlzdHJ1Y3QgaTkxNV9nZW1fY29udGV4dCAqdG8gPSBy ZXEtPmN0eDsKPiAgIAlzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUgPSByZXEtPmVuZ2lu ZTsKPiAgIAlzdHJ1Y3QgaTkxNV9od19wcGd0dCAqcHBndHQgPSB0by0+cHBndHQgPzogcmVxLT5p OTE1LT5tbS5hbGlhc2luZ19wcGd0dDsKPiAtCXN0cnVjdCBpbnRlbF9jb250ZXh0ICpmcm9tOwo+ ICsJc3RydWN0IGk5MTVfZ2VtX2NvbnRleHQgKmZyb207Cj4gICAJdTMyIGh3X2ZsYWdzOwo+ICAg CWludCByZXQsIGk7Cj4KPiBAQCAtODU5LDcgKzg1OSw3IEBAIGludCBpOTE1X3N3aXRjaF9jb250 ZXh0KHN0cnVjdCBkcm1faTkxNV9nZW1fcmVxdWVzdCAqcmVxKQo+Cj4gICAJaWYgKGVuZ2luZS0+ aWQgIT0gUkNTIHx8Cj4gICAJICAgIHJlcS0+Y3R4LT5sZWdhY3lfaHdfY3R4LnJjc19zdGF0ZSA9 PSBOVUxMKSB7Cj4gLQkJc3RydWN0IGludGVsX2NvbnRleHQgKnRvID0gcmVxLT5jdHg7Cj4gKwkJ c3RydWN0IGk5MTVfZ2VtX2NvbnRleHQgKnRvID0gcmVxLT5jdHg7Cj4gICAJCXN0cnVjdCBpOTE1 X2h3X3BwZ3R0ICpwcGd0dCA9Cj4gICAJCQl0by0+cHBndHQgPzogcmVxLT5pOTE1LT5tbS5hbGlh c2luZ19wcGd0dDsKPgo+IEBAIC04OTcsNyArODk3LDcgQEAgaW50IGk5MTVfZ2VtX2NvbnRleHRf Y3JlYXRlX2lvY3RsKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHZvaWQgKmRhdGEsCj4gICB7Cj4g ICAJc3RydWN0IGRybV9pOTE1X2dlbV9jb250ZXh0X2NyZWF0ZSAqYXJncyA9IGRhdGE7Cj4gICAJ c3RydWN0IGRybV9pOTE1X2ZpbGVfcHJpdmF0ZSAqZmlsZV9wcml2ID0gZmlsZS0+ZHJpdmVyX3By aXY7Cj4gLQlzdHJ1Y3QgaW50ZWxfY29udGV4dCAqY3R4Owo+ICsJc3RydWN0IGk5MTVfZ2VtX2Nv bnRleHQgKmN0eDsKPiAgIAlpbnQgcmV0Owo+Cj4gICAJaWYgKCFjb250ZXh0c19lbmFibGVkKGRl dikpCj4gQEAgLTkyNiw3ICs5MjYsNyBAQCBpbnQgaTkxNV9nZW1fY29udGV4dF9kZXN0cm95X2lv Y3RsKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHZvaWQgKmRhdGEsCj4gICB7Cj4gICAJc3RydWN0 IGRybV9pOTE1X2dlbV9jb250ZXh0X2Rlc3Ryb3kgKmFyZ3MgPSBkYXRhOwo+ICAgCXN0cnVjdCBk cm1faTkxNV9maWxlX3ByaXZhdGUgKmZpbGVfcHJpdiA9IGZpbGUtPmRyaXZlcl9wcml2Owo+IC0J c3RydWN0IGludGVsX2NvbnRleHQgKmN0eDsKPiArCXN0cnVjdCBpOTE1X2dlbV9jb250ZXh0ICpj dHg7Cj4gICAJaW50IHJldDsKPgo+ICAgCWlmIChhcmdzLT5wYWQgIT0gMCkKPiBAQCAtOTU4LDcg Kzk1OCw3IEBAIGludCBpOTE1X2dlbV9jb250ZXh0X2dldHBhcmFtX2lvY3RsKHN0cnVjdCBkcm1f ZGV2aWNlICpkZXYsIHZvaWQgKmRhdGEsCj4gICB7Cj4gICAJc3RydWN0IGRybV9pOTE1X2ZpbGVf cHJpdmF0ZSAqZmlsZV9wcml2ID0gZmlsZS0+ZHJpdmVyX3ByaXY7Cj4gICAJc3RydWN0IGRybV9p OTE1X2dlbV9jb250ZXh0X3BhcmFtICphcmdzID0gZGF0YTsKPiAtCXN0cnVjdCBpbnRlbF9jb250 ZXh0ICpjdHg7Cj4gKwlzdHJ1Y3QgaTkxNV9nZW1fY29udGV4dCAqY3R4Owo+ICAgCWludCByZXQ7 Cj4KPiAgIAlyZXQgPSBpOTE1X211dGV4X2xvY2tfaW50ZXJydXB0aWJsZShkZXYpOwo+IEBAIC0x MDAxLDcgKzEwMDEsNyBAQCBpbnQgaTkxNV9nZW1fY29udGV4dF9zZXRwYXJhbV9pb2N0bChzdHJ1 Y3QgZHJtX2RldmljZSAqZGV2LCB2b2lkICpkYXRhLAo+ICAgewo+ICAgCXN0cnVjdCBkcm1faTkx NV9maWxlX3ByaXZhdGUgKmZpbGVfcHJpdiA9IGZpbGUtPmRyaXZlcl9wcml2Owo+ICAgCXN0cnVj dCBkcm1faTkxNV9nZW1fY29udGV4dF9wYXJhbSAqYXJncyA9IGRhdGE7Cj4gLQlzdHJ1Y3QgaW50 ZWxfY29udGV4dCAqY3R4Owo+ICsJc3RydWN0IGk5MTVfZ2VtX2NvbnRleHQgKmN0eDsKPiAgIAlp bnQgcmV0Owo+Cj4gICAJcmV0ID0gaTkxNV9tdXRleF9sb2NrX2ludGVycnVwdGlibGUoZGV2KTsK PiBAQCAtMTA0Nyw3ICsxMDQ3LDcgQEAgaW50IGk5MTVfZ2VtX2NvbnRleHRfcmVzZXRfc3RhdHNf aW9jdGwoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKPiAgIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0 ZSAqZGV2X3ByaXYgPSBkZXYtPmRldl9wcml2YXRlOwo+ICAgCXN0cnVjdCBkcm1faTkxNV9yZXNl dF9zdGF0cyAqYXJncyA9IGRhdGE7Cj4gICAJc3RydWN0IGk5MTVfY3R4X2hhbmdfc3RhdHMgKmhz Owo+IC0Jc3RydWN0IGludGVsX2NvbnRleHQgKmN0eDsKPiArCXN0cnVjdCBpOTE1X2dlbV9jb250 ZXh0ICpjdHg7Cj4gICAJaW50IHJldDsKPgo+ICAgCWlmIChhcmdzLT5mbGFncyB8fCBhcmdzLT5w YWQpCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2V4ZWNidWZm ZXIuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2V4ZWNidWZmZXIuYwo+IGluZGV4 IGE1NGEyNDNjY2FhYy4uZTYxYjkyZDdiMGJjIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2k5MTVfZ2VtX2V4ZWNidWZmZXIuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2k5MTVfZ2VtX2V4ZWNidWZmZXIuYwo+IEBAIC03MTYsNyArNzE2LDcgQEAgZWJfdm1hX21pc3Bs YWNlZChzdHJ1Y3QgaTkxNV92bWEgKnZtYSkKPiAgIHN0YXRpYyBpbnQKPiAgIGk5MTVfZ2VtX2V4 ZWNidWZmZXJfcmVzZXJ2ZShzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUsCj4gICAJCQkg ICAgc3RydWN0IGxpc3RfaGVhZCAqdm1hcywKPiAtCQkJICAgIHN0cnVjdCBpbnRlbF9jb250ZXh0 ICpjdHgsCj4gKwkJCSAgICBzdHJ1Y3QgaTkxNV9nZW1fY29udGV4dCAqY3R4LAo+ICAgCQkJICAg IGJvb2wgKm5lZWRfcmVsb2NzKQo+ICAgewo+ICAgCXN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0 ICpvYmo7Cj4gQEAgLTgyOCw3ICs4MjgsNyBAQCBpOTE1X2dlbV9leGVjYnVmZmVyX3JlbG9jYXRl X3Nsb3coc3RydWN0IGRybV9kZXZpY2UgKmRldiwKPiAgIAkJCQkgIHN0cnVjdCBpbnRlbF9lbmdp bmVfY3MgKmVuZ2luZSwKPiAgIAkJCQkgIHN0cnVjdCBlYl92bWFzICplYiwKPiAgIAkJCQkgIHN0 cnVjdCBkcm1faTkxNV9nZW1fZXhlY19vYmplY3QyICpleGVjLAo+IC0JCQkJICBzdHJ1Y3QgaW50 ZWxfY29udGV4dCAqY3R4KQo+ICsJCQkJICBzdHJ1Y3QgaTkxNV9nZW1fY29udGV4dCAqY3R4KQo+ ICAgewo+ICAgCXN0cnVjdCBkcm1faTkxNV9nZW1fcmVsb2NhdGlvbl9lbnRyeSAqcmVsb2M7Cj4g ICAJc3RydWN0IGk5MTVfYWRkcmVzc19zcGFjZSAqdm07Cj4gQEAgLTEwNjUsMTEgKzEwNjUsMTEg QEAgdmFsaWRhdGVfZXhlY19saXN0KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCj4gICAJcmV0dXJu IDA7Cj4gICB9Cj4KPiAtc3RhdGljIHN0cnVjdCBpbnRlbF9jb250ZXh0ICoKPiArc3RhdGljIHN0 cnVjdCBpOTE1X2dlbV9jb250ZXh0ICoKPiAgIGk5MTVfZ2VtX3ZhbGlkYXRlX2NvbnRleHQoc3Ry dWN0IGRybV9kZXZpY2UgKmRldiwgc3RydWN0IGRybV9maWxlICpmaWxlLAo+ICAgCQkJICBzdHJ1 Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUsIGNvbnN0IHUzMiBjdHhfaWQpCj4gICB7Cj4gLQlz dHJ1Y3QgaW50ZWxfY29udGV4dCAqY3R4ID0gTlVMTDsKPiArCXN0cnVjdCBpOTE1X2dlbV9jb250 ZXh0ICpjdHggPSBOVUxMOwo+ICAgCXN0cnVjdCBpOTE1X2N0eF9oYW5nX3N0YXRzICpoczsKPgo+ ICAgCWlmIChlbmdpbmUtPmlkICE9IFJDUyAmJiBjdHhfaWQgIT0gREVGQVVMVF9DT05URVhUX0hB TkRMRSkKPiBAQCAtMTQzMCw3ICsxNDMwLDcgQEAgaTkxNV9nZW1fZG9fZXhlY2J1ZmZlcihzdHJ1 Y3QgZHJtX2RldmljZSAqZGV2LCB2b2lkICpkYXRhLAo+ICAgCXN0cnVjdCBkcm1faTkxNV9nZW1f b2JqZWN0ICpiYXRjaF9vYmo7Cj4gICAJc3RydWN0IGRybV9pOTE1X2dlbV9leGVjX29iamVjdDIg c2hhZG93X2V4ZWNfZW50cnk7Cj4gICAJc3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lOwo+ IC0Jc3RydWN0IGludGVsX2NvbnRleHQgKmN0eDsKPiArCXN0cnVjdCBpOTE1X2dlbV9jb250ZXh0 ICpjdHg7Cj4gICAJc3RydWN0IGk5MTVfYWRkcmVzc19zcGFjZSAqdm07Cj4gICAJc3RydWN0IGk5 MTVfZXhlY2J1ZmZlcl9wYXJhbXMgcGFyYW1zX21hc3RlcjsgLyogWFhYOiB3aWxsIGJlIHJlbW92 ZWQgbGF0ZXIgKi8KPiAgIAlzdHJ1Y3QgaTkxNV9leGVjYnVmZmVyX3BhcmFtcyAqcGFyYW1zID0g JnBhcmFtc19tYXN0ZXI7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVf Z3VjX3N1Ym1pc3Npb24uYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ3VjX3N1Ym1pc3Np b24uYwo+IGluZGV4IDE2OTI0MmE4YWRmZi4uYTI5MjY3MmYzNmQ1IDEwMDY0NAo+IC0tLSBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ3VjX3N1Ym1pc3Npb24uYwo+ICsrKyBiL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2k5MTVfZ3VjX3N1Ym1pc3Npb24uYwo+IEBAIC0zNjAsNyArMzYwLDcgQEAg c3RhdGljIHZvaWQgZ3VjX2luaXRfY3R4X2Rlc2Moc3RydWN0IGludGVsX2d1YyAqZ3VjLAo+ICAg CXN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpjbGllbnRfb2JqID0gY2xpZW50LT5jbGllbnRf b2JqOwo+ICAgCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IGd1Y190b19pOTE1 KGd1Yyk7Cj4gICAJc3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lOwo+IC0Jc3RydWN0IGlu dGVsX2NvbnRleHQgKmN0eCA9IGNsaWVudC0+b3duZXI7Cj4gKwlzdHJ1Y3QgaTkxNV9nZW1fY29u dGV4dCAqY3R4ID0gY2xpZW50LT5vd25lcjsKPiAgIAlzdHJ1Y3QgZ3VjX2NvbnRleHRfZGVzYyBk ZXNjOwo+ICAgCXN0cnVjdCBzZ190YWJsZSAqc2c7Cj4gICAJZW51bSBpbnRlbF9lbmdpbmVfaWQg aWQ7Cj4gQEAgLTQyNiw3ICs0MjYsNyBAQCBzdGF0aWMgdm9pZCBndWNfaW5pdF9jdHhfZGVzYyhz dHJ1Y3QgaW50ZWxfZ3VjICpndWMsCj4gICAJZGVzYy53cV9zaXplID0gY2xpZW50LT53cV9zaXpl Owo+Cj4gICAJLyoKPiAtCSAqIFhYWDogVGFrZSBMUkNzIGZyb20gYW4gZXhpc3RpbmcgaW50ZWxf Y29udGV4dCBpZiB0aGlzIGlzIG5vdCBhbgo+ICsJICogWFhYOiBUYWtlIExSQ3MgZnJvbSBhbiBl eGlzdGluZyBjb250ZXh0IGlmIHRoaXMgaXMgbm90IGFuCj4gICAJICogSXNLTURDcmVhdGVkQ29u dGV4dCBjbGllbnQKPiAgIAkgKi8KPiAgIAlkZXNjLmRlc2NfcHJpdmF0ZSA9ICh1aW50cHRyX3Qp Y2xpZW50Owo+IEBAIC02NzcsNyArNjc3LDcgQEAgc3RhdGljIHZvaWQgZ3VjX2NsaWVudF9mcmVl KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCj4gICAgKi8KPiAgIHN0YXRpYyBzdHJ1Y3QgaTkxNV9n dWNfY2xpZW50ICpndWNfY2xpZW50X2FsbG9jKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCj4gICAJ CQkJCQl1aW50MzJfdCBwcmlvcml0eSwKPiAtCQkJCQkJc3RydWN0IGludGVsX2NvbnRleHQgKmN0 eCkKPiArCQkJCQkJc3RydWN0IGk5MTVfZ2VtX2NvbnRleHQgKmN0eCkKPiAgIHsKPiAgIAlzdHJ1 Y3QgaTkxNV9ndWNfY2xpZW50ICpjbGllbnQ7Cj4gICAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUg KmRldl9wcml2ID0gZGV2LT5kZXZfcHJpdmF0ZTsKPiBAQCAtOTE1LDcgKzkxNSw3IEBAIGludCBp OTE1X2d1Y19zdWJtaXNzaW9uX2VuYWJsZShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQo+ICAgewo+ ICAgCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IGRldi0+ZGV2X3ByaXZhdGU7 Cj4gICAJc3RydWN0IGludGVsX2d1YyAqZ3VjID0gJmRldl9wcml2LT5ndWM7Cj4gLQlzdHJ1Y3Qg aW50ZWxfY29udGV4dCAqY3R4ID0gZGV2X3ByaXYtPmtlcm5lbF9jb250ZXh0Owo+ICsJc3RydWN0 IGk5MTVfZ2VtX2NvbnRleHQgKmN0eCA9IGRldl9wcml2LT5rZXJuZWxfY29udGV4dDsKPiAgIAlz dHJ1Y3QgaTkxNV9ndWNfY2xpZW50ICpjbGllbnQ7Cj4KPiAgIAkvKiBjbGllbnQgZm9yIGV4ZWNi dWYgc3VibWlzc2lvbiAqLwo+IEBAIC05NjYsNyArOTY2LDcgQEAgaW50IGludGVsX2d1Y19zdXNw ZW5kKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCj4gICB7Cj4gICAJc3RydWN0IGRybV9pOTE1X3By aXZhdGUgKmRldl9wcml2ID0gZGV2LT5kZXZfcHJpdmF0ZTsKPiAgIAlzdHJ1Y3QgaW50ZWxfZ3Vj ICpndWMgPSAmZGV2X3ByaXYtPmd1YzsKPiAtCXN0cnVjdCBpbnRlbF9jb250ZXh0ICpjdHg7Cj4g KwlzdHJ1Y3QgaTkxNV9nZW1fY29udGV4dCAqY3R4Owo+ICAgCXUzMiBkYXRhWzNdOwo+Cj4gICAJ aWYgKCFpOTE1LmVuYWJsZV9ndWNfc3VibWlzc2lvbikKPiBAQCAtOTkyLDcgKzk5Miw3IEBAIGlu dCBpbnRlbF9ndWNfcmVzdW1lKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCj4gICB7Cj4gICAJc3Ry dWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gZGV2LT5kZXZfcHJpdmF0ZTsKPiAgIAlz dHJ1Y3QgaW50ZWxfZ3VjICpndWMgPSAmZGV2X3ByaXYtPmd1YzsKPiAtCXN0cnVjdCBpbnRlbF9j b250ZXh0ICpjdHg7Cj4gKwlzdHJ1Y3QgaTkxNV9nZW1fY29udGV4dCAqY3R4Owo+ICAgCXUzMiBk YXRhWzNdOwo+Cj4gICAJaWYgKCFpOTE1LmVuYWJsZV9ndWNfc3VibWlzc2lvbikKPiBkaWZmIC0t Z2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9zeXNmcy5jIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvaTkxNV9zeXNmcy5jCj4gaW5kZXggMzdiNjQ0NGI4ZTIyLi4wMjUwN2JmYzhkZWYgMTAw NjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9zeXNmcy5jCj4gKysrIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvaTkxNV9zeXNmcy5jCj4gQEAgLTIwMyw3ICsyMDMsNyBAQCBpOTE1 X2wzX3dyaXRlKHN0cnVjdCBmaWxlICpmaWxwLCBzdHJ1Y3Qga29iamVjdCAqa29iaiwKPiAgIAlz dHJ1Y3QgZHJtX21pbm9yICpkbWlub3IgPSBkZXZfdG9fZHJtX21pbm9yKGRldik7Cj4gICAJc3Ry dWN0IGRybV9kZXZpY2UgKmRybV9kZXYgPSBkbWlub3ItPmRldjsKPiAgIAlzdHJ1Y3QgZHJtX2k5 MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBkcm1fZGV2LT5kZXZfcHJpdmF0ZTsKPiAtCXN0cnVjdCBp bnRlbF9jb250ZXh0ICpjdHg7Cj4gKwlzdHJ1Y3QgaTkxNV9nZW1fY29udGV4dCAqY3R4Owo+ICAg CXUzMiAqdGVtcCA9IE5VTEw7IC8qIEp1c3QgaGVyZSB0byBtYWtlIGhhbmRsaW5nIGZhaWx1cmVz IGVhc3kgKi8KPiAgIAlpbnQgc2xpY2UgPSAoaW50KSh1aW50cHRyX3QpYXR0ci0+cHJpdmF0ZTsK PiAgIAlpbnQgcmV0Owo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3Ry YWNlLmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3RyYWNlLmgKPiBpbmRleCAyMGIyZTQw Mzk3OTIuLjY3NjhkYjAzMmY4NCAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p OTE1X3RyYWNlLmgKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3RyYWNlLmgKPiBA QCAtNzM0LDEyICs3MzQsMTIgQEAgREVGSU5FX0VWRU5UKGk5MTVfcHBndHQsIGk5MTVfcHBndHRf cmVsZWFzZSwKPiAgICAqIHRoZSBjb250ZXh0Lgo+ICAgICovCj4gICBERUNMQVJFX0VWRU5UX0NM QVNTKGk5MTVfY29udGV4dCwKPiAtCVRQX1BST1RPKHN0cnVjdCBpbnRlbF9jb250ZXh0ICpjdHgp LAo+ICsJVFBfUFJPVE8oc3RydWN0IGk5MTVfZ2VtX2NvbnRleHQgKmN0eCksCj4gICAJVFBfQVJH UyhjdHgpLAo+Cj4gICAJVFBfU1RSVUNUX19lbnRyeSgKPiAgIAkJCV9fZmllbGQodTMyLCBkZXYp Cj4gLQkJCV9fZmllbGQoc3RydWN0IGludGVsX2NvbnRleHQgKiwgY3R4KQo+ICsJCQlfX2ZpZWxk KHN0cnVjdCBpOTE1X2dlbV9jb250ZXh0ICosIGN0eCkKPiAgIAkJCV9fZmllbGQoc3RydWN0IGk5 MTVfYWRkcmVzc19zcGFjZSAqLCB2bSkKPiAgIAkpLAo+Cj4gQEAgLTc1NCwxMiArNzU0LDEyIEBA IERFQ0xBUkVfRVZFTlRfQ0xBU1MoaTkxNV9jb250ZXh0LAo+ICAgKQo+Cj4gICBERUZJTkVfRVZF TlQoaTkxNV9jb250ZXh0LCBpOTE1X2NvbnRleHRfY3JlYXRlLAo+IC0JVFBfUFJPVE8oc3RydWN0 IGludGVsX2NvbnRleHQgKmN0eCksCj4gKwlUUF9QUk9UTyhzdHJ1Y3QgaTkxNV9nZW1fY29udGV4 dCAqY3R4KSwKPiAgIAlUUF9BUkdTKGN0eCkKPiAgICk7Cj4KPiAgIERFRklORV9FVkVOVChpOTE1 X2NvbnRleHQsIGk5MTVfY29udGV4dF9mcmVlLAo+IC0JVFBfUFJPVE8oc3RydWN0IGludGVsX2Nv bnRleHQgKmN0eCksCj4gKwlUUF9QUk9UTyhzdHJ1Y3QgaTkxNV9nZW1fY29udGV4dCAqY3R4KSwK PiAgIAlUUF9BUkdTKGN0eCkKPiAgICk7Cj4KPiBAQCAtNzcxLDEzICs3NzEsMTMgQEAgREVGSU5F X0VWRU5UKGk5MTVfY29udGV4dCwgaTkxNV9jb250ZXh0X2ZyZWUsCj4gICAgKiBjYWxsZWQgb25s eSBpZiBmdWxsIHBwZ3R0IGlzIGVuYWJsZWQuCj4gICAgKi8KPiAgIFRSQUNFX0VWRU5UKHN3aXRj aF9tbSwKPiAtCVRQX1BST1RPKHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSwgc3RydWN0 IGludGVsX2NvbnRleHQgKnRvKSwKPiArCVRQX1BST1RPKHN0cnVjdCBpbnRlbF9lbmdpbmVfY3Mg KmVuZ2luZSwgc3RydWN0IGk5MTVfZ2VtX2NvbnRleHQgKnRvKSwKPgo+ICAgCVRQX0FSR1MoZW5n aW5lLCB0byksCj4KPiAgIAlUUF9TVFJVQ1RfX2VudHJ5KAo+ICAgCQkJX19maWVsZCh1MzIsIHJp bmcpCj4gLQkJCV9fZmllbGQoc3RydWN0IGludGVsX2NvbnRleHQgKiwgdG8pCj4gKwkJCV9fZmll bGQoc3RydWN0IGk5MTVfZ2VtX2NvbnRleHQgKiwgdG8pCj4gICAJCQlfX2ZpZWxkKHN0cnVjdCBp OTE1X2FkZHJlc3Nfc3BhY2UgKiwgdm0pCj4gICAJCQlfX2ZpZWxkKHUzMiwgZGV2KQo+ICAgCSks Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2d1Yy5oIGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfZ3VjLmgKPiBpbmRleCA5ZDc5YzRjM2UyNTYuLmM5Yzc1N2Vm MDAzZiAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9ndWMuaAo+ICsr KyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2d1Yy5oCj4gQEAgLTU1LDcgKzU1LDcgQEAg c3RydWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0Owo+ICAgc3RydWN0IGk5MTVfZ3VjX2NsaWVudCB7 Cj4gICAJc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKmNsaWVudF9vYmo7Cj4gICAJdm9pZCAq Y2xpZW50X2Jhc2U7CQkvKiBmaXJzdCBwYWdlIChvbmx5KSBvZiBhYm92ZQkqLwo+IC0Jc3RydWN0 IGludGVsX2NvbnRleHQgKm93bmVyOwo+ICsJc3RydWN0IGk5MTVfZ2VtX2NvbnRleHQgKm93bmVy Owo+ICAgCXN0cnVjdCBpbnRlbF9ndWMgKmd1YzsKPiAgIAl1aW50MzJfdCBwcmlvcml0eTsKPiAg IAl1aW50MzJfdCBjdHhfaW5kZXg7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX2xyYy5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJjLmMKPiBpbmRleCBh ZmZjYTZkNWNlN2UuLjQyNmRjOTBhY2VlZCAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9scmMuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2xyYy5j Cj4gQEAgLTIzMSw5ICsyMzEsOSBAQCBlbnVtIHsKPiAgIC8qIFR5cGljYWwgc2l6ZSBvZiB0aGUg YXZlcmFnZSByZXF1ZXN0ICgyIHBpcGVjb250cm9scyBhbmQgYSBNSV9CQikgKi8KPiAgICNkZWZp bmUgRVhFQ0xJU1RTX1JFUVVFU1RfU0laRSA2NCAvKiBieXRlcyAqLwo+Cj4gLXN0YXRpYyBpbnQg ZXhlY2xpc3RzX2NvbnRleHRfZGVmZXJyZWRfYWxsb2Moc3RydWN0IGludGVsX2NvbnRleHQgKmN0 eCwKPiArc3RhdGljIGludCBleGVjbGlzdHNfY29udGV4dF9kZWZlcnJlZF9hbGxvYyhzdHJ1Y3Qg aTkxNV9nZW1fY29udGV4dCAqY3R4LAo+ICAgCQkJCQkgICAgc3RydWN0IGludGVsX2VuZ2luZV9j cyAqZW5naW5lKTsKPiAtc3RhdGljIGludCBpbnRlbF9scl9jb250ZXh0X3BpbihzdHJ1Y3QgaW50 ZWxfY29udGV4dCAqY3R4LAo+ICtzdGF0aWMgaW50IGludGVsX2xyX2NvbnRleHRfcGluKHN0cnVj dCBpOTE1X2dlbV9jb250ZXh0ICpjdHgsCj4gICAJCQkJc3RydWN0IGludGVsX2VuZ2luZV9jcyAq ZW5naW5lKTsKPgo+ICAgLyoqCj4gQEAgLTMxNSw3ICszMTUsNyBAQCBsb2dpY2FsX3JpbmdfaW5p dF9wbGF0Zm9ybV9pbnZhcmlhbnRzKHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSkKPiAg ICAqICAgIGJpdHMgNTUtNjM6ICAgIGdyb3VwIElELCBjdXJyZW50bHkgdW51c2VkIGFuZCBzZXQg dG8gMAo+ICAgICovCj4gICBzdGF0aWMgdm9pZAo+IC1pbnRlbF9scl9jb250ZXh0X2Rlc2NyaXB0 b3JfdXBkYXRlKHN0cnVjdCBpbnRlbF9jb250ZXh0ICpjdHgsCj4gK2ludGVsX2xyX2NvbnRleHRf ZGVzY3JpcHRvcl91cGRhdGUoc3RydWN0IGk5MTVfZ2VtX2NvbnRleHQgKmN0eCwKPiAgIAkJCQkg ICBzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUpCj4gICB7Cj4gICAJdTY0IGRlc2M7Cj4g QEAgLTMzMCw3ICszMzAsNyBAQCBpbnRlbF9scl9jb250ZXh0X2Rlc2NyaXB0b3JfdXBkYXRlKHN0 cnVjdCBpbnRlbF9jb250ZXh0ICpjdHgsCj4gICAJY3R4LT5lbmdpbmVbZW5naW5lLT5pZF0ubHJj X2Rlc2MgPSBkZXNjOwo+ICAgfQo+Cj4gLXVpbnQ2NF90IGludGVsX2xyX2NvbnRleHRfZGVzY3Jp cHRvcihzdHJ1Y3QgaW50ZWxfY29udGV4dCAqY3R4LAo+ICt1aW50NjRfdCBpbnRlbF9scl9jb250 ZXh0X2Rlc2NyaXB0b3Ioc3RydWN0IGk5MTVfZ2VtX2NvbnRleHQgKmN0eCwKPiAgIAkJCQkgICAg IHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSkKPiAgIHsKPiAgIAlyZXR1cm4gY3R4LT5l bmdpbmVbZW5naW5lLT5pZF0ubHJjX2Rlc2M7Cj4gQEAgLTkzMiw3ICs5MzIsNyBAQCBpbnQgbG9n aWNhbF9yaW5nX2ZsdXNoX2FsbF9jYWNoZXMoc3RydWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0ICpy ZXEpCj4gICAJcmV0dXJuIDA7Cj4gICB9Cj4KPiAtc3RhdGljIGludCBpbnRlbF9scl9jb250ZXh0 X3BpbihzdHJ1Y3QgaW50ZWxfY29udGV4dCAqY3R4LAo+ICtzdGF0aWMgaW50IGludGVsX2xyX2Nv bnRleHRfcGluKHN0cnVjdCBpOTE1X2dlbV9jb250ZXh0ICpjdHgsCj4gICAJCQkJc3RydWN0IGlu dGVsX2VuZ2luZV9jcyAqZW5naW5lKQo+ICAgewo+ICAgCXN0cnVjdCBkcm1faTkxNV9wcml2YXRl ICpkZXZfcHJpdiA9IGN0eC0+aTkxNTsKPiBAQCAtOTg4LDcgKzk4OCw3IEBAIGVycjoKPiAgIAly ZXR1cm4gcmV0Owo+ICAgfQo+Cj4gLXZvaWQgaW50ZWxfbHJfY29udGV4dF91bnBpbihzdHJ1Y3Qg aW50ZWxfY29udGV4dCAqY3R4LAo+ICt2b2lkIGludGVsX2xyX2NvbnRleHRfdW5waW4oc3RydWN0 IGk5MTVfZ2VtX2NvbnRleHQgKmN0eCwKPiAgIAkJCSAgICBzdHJ1Y3QgaW50ZWxfZW5naW5lX2Nz ICplbmdpbmUpCj4gICB7Cj4gICAJc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKmN0eF9vYmo7 Cj4gQEAgLTIwNDksNyArMjA0OSw3IEBAIGxvZ2ljYWxfcmluZ19zZXR1cChzdHJ1Y3QgZHJtX2Rl dmljZSAqZGV2LCBlbnVtIGludGVsX2VuZ2luZV9pZCBpZCkKPiAgIHN0YXRpYyBpbnQKPiAgIGxv Z2ljYWxfcmluZ19pbml0KHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSkKPiAgIHsKPiAt CXN0cnVjdCBpbnRlbF9jb250ZXh0ICpkY3R4ID0gZW5naW5lLT5pOTE1LT5rZXJuZWxfY29udGV4 dDsKPiArCXN0cnVjdCBpOTE1X2dlbV9jb250ZXh0ICpkY3R4ID0gZW5naW5lLT5pOTE1LT5rZXJu ZWxfY29udGV4dDsKPiAgIAlpbnQgcmV0Owo+Cj4gICAJcmV0ID0gaTkxNV9jbWRfcGFyc2VyX2lu aXRfcmluZyhlbmdpbmUpOwo+IEBAIC0yMjczLDcgKzIyNzMsNyBAQCBzdGF0aWMgdTMyIGludGVs X2xyX2luZGlyZWN0X2N0eF9vZmZzZXQoc3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lKQo+ ICAgfQo+Cj4gICBzdGF0aWMgaW50Cj4gLXBvcHVsYXRlX2xyX2NvbnRleHQoc3RydWN0IGludGVs X2NvbnRleHQgKmN0eCwKPiArcG9wdWxhdGVfbHJfY29udGV4dChzdHJ1Y3QgaTkxNV9nZW1fY29u dGV4dCAqY3R4LAo+ICAgCQkgICAgc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKmN0eF9vYmos Cj4gICAJCSAgICBzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUsCj4gICAJCSAgICBzdHJ1 Y3QgaW50ZWxfcmluZ2J1ZmZlciAqcmluZ2J1ZikKPiBAQCAtMjQyMSw3ICsyNDIxLDcgQEAgcG9w dWxhdGVfbHJfY29udGV4dChzdHJ1Y3QgaW50ZWxfY29udGV4dCAqY3R4LAo+ICAgICogdGFrZXMg Y2FyZSBvZiB0aGUgYml0cyB0aGF0IGFyZSBMUkMgcmVsYXRlZDogdGhlIHBlci1lbmdpbmUgYmFj a2luZwo+ICAgICogb2JqZWN0cyBhbmQgdGhlIGxvZ2ljYWwgcmluZ2J1ZmZlci4KPiAgICAqLwo+ IC12b2lkIGludGVsX2xyX2NvbnRleHRfZnJlZShzdHJ1Y3QgaW50ZWxfY29udGV4dCAqY3R4KQo+ ICt2b2lkIGludGVsX2xyX2NvbnRleHRfZnJlZShzdHJ1Y3QgaTkxNV9nZW1fY29udGV4dCAqY3R4 KQo+ICAgewo+ICAgCWludCBpOwo+Cj4gQEAgLTI0ODksNyArMjQ4OSw3IEBAIHVpbnQzMl90IGlu dGVsX2xyX2NvbnRleHRfc2l6ZShzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUpCj4gICAg Kgo+ICAgICogUmV0dXJuOiBub24temVybyBvbiBlcnJvci4KPiAgICAqLwo+IC1zdGF0aWMgaW50 IGV4ZWNsaXN0c19jb250ZXh0X2RlZmVycmVkX2FsbG9jKHN0cnVjdCBpbnRlbF9jb250ZXh0ICpj dHgsCj4gK3N0YXRpYyBpbnQgZXhlY2xpc3RzX2NvbnRleHRfZGVmZXJyZWRfYWxsb2Moc3RydWN0 IGk5MTVfZ2VtX2NvbnRleHQgKmN0eCwKPiAgIAkJCQkJICAgIHN0cnVjdCBpbnRlbF9lbmdpbmVf Y3MgKmVuZ2luZSkKPiAgIHsKPiAgIAlzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqY3R4X29i ajsKPiBAQCAtMjUzOSw3ICsyNTM5LDcgQEAgZXJyb3JfZGVyZWZfb2JqOgo+ICAgfQo+Cj4gICB2 b2lkIGludGVsX2xyX2NvbnRleHRfcmVzZXQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9w cml2LAo+IC0JCQkgICAgc3RydWN0IGludGVsX2NvbnRleHQgKmN0eCkKPiArCQkJICAgIHN0cnVj dCBpOTE1X2dlbV9jb250ZXh0ICpjdHgpCj4gICB7Cj4gICAJc3RydWN0IGludGVsX2VuZ2luZV9j cyAqZW5naW5lOwo+Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2xy Yy5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJjLmgKPiBpbmRleCAxYWZiYTAzMzFk YzYuLmViMmUxZDE1N2ZlZCAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9scmMuaAo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2xyYy5oCj4gQEAgLTk5 LDE2ICs5OSwxOCBAQCBzdGF0aWMgaW5saW5lIHZvaWQgaW50ZWxfbG9naWNhbF9yaW5nX2VtaXRf cmVnKHN0cnVjdCBpbnRlbF9yaW5nYnVmZmVyICpyaW5nYnVmLAo+ICAgI2RlZmluZSBMUkNfUFBI V1NQX1BOCShMUkNfR1VDU0hSX1BOICsgMSkKPiAgICNkZWZpbmUgTFJDX1NUQVRFX1BOCShMUkNf UFBIV1NQX1BOICsgMSkKPgo+IC12b2lkIGludGVsX2xyX2NvbnRleHRfZnJlZShzdHJ1Y3QgaW50 ZWxfY29udGV4dCAqY3R4KTsKPiArc3RydWN0IGk5MTVfZ2VtX2NvbnRleHQ7Cj4gKwo+ICt2b2lk IGludGVsX2xyX2NvbnRleHRfZnJlZShzdHJ1Y3QgaTkxNV9nZW1fY29udGV4dCAqY3R4KTsKPiAg IHVpbnQzMl90IGludGVsX2xyX2NvbnRleHRfc2l6ZShzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICpl bmdpbmUpOwo+IC12b2lkIGludGVsX2xyX2NvbnRleHRfdW5waW4oc3RydWN0IGludGVsX2NvbnRl eHQgKmN0eCwKPiArdm9pZCBpbnRlbF9scl9jb250ZXh0X3VucGluKHN0cnVjdCBpOTE1X2dlbV9j b250ZXh0ICpjdHgsCj4gICAJCQkgICAgc3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lKTsK Pgo+ICAgc3RydWN0IGRybV9pOTE1X3ByaXZhdGU7Cj4KPiAgIHZvaWQgaW50ZWxfbHJfY29udGV4 dF9yZXNldChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCj4gLQkJCSAgICBzdHJ1 Y3QgaW50ZWxfY29udGV4dCAqY3R4KTsKPiAtdWludDY0X3QgaW50ZWxfbHJfY29udGV4dF9kZXNj cmlwdG9yKHN0cnVjdCBpbnRlbF9jb250ZXh0ICpjdHgsCj4gKwkJCSAgICBzdHJ1Y3QgaTkxNV9n ZW1fY29udGV4dCAqY3R4KTsKPiArdWludDY0X3QgaW50ZWxfbHJfY29udGV4dF9kZXNjcmlwdG9y KHN0cnVjdCBpOTE1X2dlbV9jb250ZXh0ICpjdHgsCj4gICAJCQkJICAgICBzdHJ1Y3QgaW50ZWxf ZW5naW5lX2NzICplbmdpbmUpOwo+Cj4gICAvKiBFeGVjbGlzdHMgKi8KPiBkaWZmIC0tZ2l0IGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcmluZ2J1ZmZlci5oIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfcmluZ2J1ZmZlci5oCj4gaW5kZXggOTI5ZTdiNGFmMmE0Li5iMzNjODc2ZmVk MjAgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcmluZ2J1ZmZlci5o Cj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcmluZ2J1ZmZlci5oCj4gQEAgLTEx OSw3ICsxMTksNyBAQCBzdHJ1Y3QgaW50ZWxfcmluZ2J1ZmZlciB7Cj4gICAJdTMyIGxhc3RfcmV0 aXJlZF9oZWFkOwo+ICAgfTsKPgo+IC1zdHJ1Y3QJaW50ZWxfY29udGV4dDsKPiArc3RydWN0IGk5 MTVfZ2VtX2NvbnRleHQ7Cj4gICBzdHJ1Y3QgZHJtX2k5MTVfcmVnX3RhYmxlOwo+Cj4gICAvKgo+ IEBAIC0zMTAsNyArMzEwLDcgQEAgc3RydWN0IGludGVsX2VuZ2luZV9jcyB7Cj4KPiAgIAl3YWl0 X3F1ZXVlX2hlYWRfdCBpcnFfcXVldWU7Cj4KPiAtCXN0cnVjdCBpbnRlbF9jb250ZXh0ICpsYXN0 X2NvbnRleHQ7Cj4gKwlzdHJ1Y3QgaTkxNV9nZW1fY29udGV4dCAqbGFzdF9jb250ZXh0Owo+Cj4g ICAJc3RydWN0IGludGVsX3JpbmdfaGFuZ2NoZWNrIGhhbmdjaGVjazsKPgo+Cl9fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxp c3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNr dG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=