From mboxrd@z Thu Jan 1 00:00:00 1970 From: Liviu Dudau Subject: Re: [PATCH 7/8] drm: Add old state pointer to CRTC .enable() helper function Date: Wed, 28 Jun 2017 14:41:49 +0100 Message-ID: <20170628134149.GA1103@e110455-lin.cambridge.arm.com> References: <20170627203843.27004-1-laurent.pinchart+renesas@ideasonboard.com> <20170627211621.27767-7-laurent.pinchart+renesas@ideasonboard.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from foss.arm.com (foss.arm.com [217.140.101.70]) by gabe.freedesktop.org (Postfix) with ESMTP id 2B1B96E569 for ; Wed, 28 Jun 2017 13:41:52 +0000 (UTC) Content-Disposition: inline In-Reply-To: <20170627211621.27767-7-laurent.pinchart+renesas@ideasonboard.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Laurent Pinchart Cc: Neil Armstrong , dri-devel@lists.freedesktop.org, Thierry Reding , Gerd Hoffmann , Daniel Vetter , Boris Brezillon , Thomas Hellstrom , Alexey Brodkin , Xinliang Liu , Xinwei Kong , Tomi Valkeinen , Mali DP Maintainers , Dave Airlie , Chen Feng , Jyri Sarha , Vincent Abriou , VMware Graphics , Alison Wang , Seung-Woo Kim , Philippe Cornu , Yannick Fertre , Kyungmin Park List-Id: dri-devel@lists.freedesktop.org T24gV2VkLCBKdW4gMjgsIDIwMTcgYXQgMTI6MTY6MjBBTSArMDMwMCwgTGF1cmVudCBQaW5jaGFy dCB3cm90ZToKPiBUaGUgb2xkIHN0YXRlIGlzIHVzZWZ1bCBmb3IgZHJpdmVycyB0aGF0IG5lZWQg dG8gcGVyZm9ybSBvcGVyYXRpb25zIGF0Cj4gZW5hYmxlIHRpbWUgdGhhdCBkZXBlbmQgb24gdGhl IHRyYW5zaXRpb24gYmV0d2VlbiB0aGUgb2xkIGFuZCBuZXcKPiBzdGF0ZXMuCj4gCj4gV2hpbGUg YXQgaXQsIHJlbmFtZSB0aGUgb3BlcmF0aW9uIHRvIC5hdG9taWNfZW5hYmxlKCkgdG8gYmUgY29u c2lzdGVudAo+IHdpdGggLmF0b21pY19kaXNhYmxlKCksIGFzIHRoZSAuZW5hYmxlKCkgb3BlcmF0 aW9uIGlzIHVzZWQgYnkgYXRvbWljCj4gaGVscGVycyBvbmx5Lgo+IAo+IFNpZ25lZC1vZmYtYnk6 IExhdXJlbnQgUGluY2hhcnQgPGxhdXJlbnQucGluY2hhcnQrcmVuZXNhc0BpZGVhc29uYm9hcmQu Y29tPgo+IC0tLQo+ICBkcml2ZXJzL2dwdS9kcm0vYXJjL2FyY3BndV9jcnRjLmMgICAgICAgICAg ICAgICB8ICA1ICsrLS0KPiAgZHJpdmVycy9ncHUvZHJtL2FybS9oZGxjZF9jcnRjLmMgICAgICAg ICAgICAgICAgfCAgNSArKy0tCj4gIGRyaXZlcnMvZ3B1L2RybS9hcm0vbWFsaWRwX2NydGMuYyAg ICAgICAgICAgICAgIHwgIDUgKystLQoKRm9yIHRoZSBoZGxjZCBhbmQgbWFsaS1kcCBjaGFuZ2Vz OgoKQWNrZWQtYnk6IExpdml1IER1ZGF1IDxMaXZpdS5EdWRhdUBhcm0uY29tPgoKSSdsbCBhc3N1 bWUgeW91IGFyZSBnb2luZyB0byBwdXNoIHRoZSBjaGFuZ2VzIHRocm91Z2ggZHJtLW1pc2MgcmF0 aGVyCnRoYW4gbWUgY2hlcnJ5IHBpY2tpbmcgdGhlIGNoYW5nZXMgZnJvbSB0aGUgcGF0Y2guCgpU aGFua3MhCkxpdml1Cgo+ICBkcml2ZXJzL2dwdS9kcm0vYXRtZWwtaGxjZGMvYXRtZWxfaGxjZGNf Y3J0Yy5jICB8ICA1ICsrLS0KPiAgZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWNfaGVscGVyLmMg ICAgICAgICAgICAgfCAgNyArKystLQo+ICBkcml2ZXJzL2dwdS9kcm0vZHJtX3NpbXBsZV9rbXNf aGVscGVyLmMgICAgICAgICB8ICA1ICsrLS0KPiAgZHJpdmVycy9ncHUvZHJtL2V4eW5vcy9leHlu b3NfZHJtX2NydGMuYyAgICAgICAgfCAgNSArKy0tCj4gIGRyaXZlcnMvZ3B1L2RybS9mc2wtZGN1 L2ZzbF9kY3VfZHJtX2NydGMuYyAgICAgIHwgIDUgKystLQo+ICBkcml2ZXJzL2dwdS9kcm0vaGlz aWxpY29uL2hpYm1jL2hpYm1jX2RybV9kZS5jICB8ICA1ICsrLS0KPiAgZHJpdmVycy9ncHUvZHJt L2hpc2lsaWNvbi9raXJpbi9raXJpbl9kcm1fYWRlLmMgfCAgNSArKy0tCj4gIGRyaXZlcnMvZ3B1 L2RybS9pbXgvaXB1djMtY3J0Yy5jICAgICAgICAgICAgICAgIHwgIDUgKystLQo+ICBkcml2ZXJz L2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2RybV9jcnRjLmMgICAgICAgICB8ICA1ICsrLS0KPiAgZHJp dmVycy9ncHUvZHJtL21lc29uL21lc29uX2NydGMuYyAgICAgICAgICAgICAgfCAgNSArKy0tCj4g IGRyaXZlcnMvZ3B1L2RybS9tc20vbWRwL21kcDQvbWRwNF9jcnRjLmMgICAgICAgIHwgIDUgKyst LQo+ICBkcml2ZXJzL2dwdS9kcm0vbXNtL21kcC9tZHA1L21kcDVfY3J0Yy5jICAgICAgICB8ICA1 ICsrLS0KPiAgZHJpdmVycy9ncHUvZHJtL29tYXBkcm0vb21hcF9jcnRjLmMgICAgICAgICAgICAg fCAgNSArKy0tCj4gIGRyaXZlcnMvZ3B1L2RybS9xeGwvcXhsX2Rpc3BsYXkuYyAgICAgICAgICAg ICAgIHwgIDUgKystLQo+ICBkcml2ZXJzL2dwdS9kcm0vcmNhci1kdS9yY2FyX2R1X2NydGMuYyAg ICAgICAgICB8ICA1ICsrLS0KPiAgZHJpdmVycy9ncHUvZHJtL3JvY2tjaGlwL3JvY2tjaGlwX2Ry bV92b3AuYyAgICAgfCAgNSArKy0tCj4gIGRyaXZlcnMvZ3B1L2RybS9zdGkvc3RpX2NydGMuYyAg ICAgICAgICAgICAgICAgIHwgIDUgKystLQo+ICBkcml2ZXJzL2dwdS9kcm0vc3RtL2x0ZGMuYyAg ICAgICAgICAgICAgICAgICAgICB8ICA1ICsrLS0KPiAgZHJpdmVycy9ncHUvZHJtL3N1bjRpL3N1 bjRpX2NydGMuYyAgICAgICAgICAgICAgfCAgNSArKy0tCj4gIGRyaXZlcnMvZ3B1L2RybS90ZWdy YS9kYy5jICAgICAgICAgICAgICAgICAgICAgIHwgIDUgKystLQo+ICBkcml2ZXJzL2dwdS9kcm0v dGlsY2RjL3RpbGNkY19jcnRjLmMgICAgICAgICAgICB8ICA4ICsrKysrLQo+ICBkcml2ZXJzL2dw dS9kcm0vdmM0L3ZjNF9jcnRjLmMgICAgICAgICAgICAgICAgICB8ICA1ICsrLS0KPiAgZHJpdmVy cy9ncHUvZHJtL3ZpcnRpby92aXJ0Z3B1X2Rpc3BsYXkuYyAgICAgICAgfCAgNSArKy0tCj4gIGRy aXZlcnMvZ3B1L2RybS92bXdnZngvdm13Z2Z4X2xkdS5jICAgICAgICAgICAgIHwgIDcgKysrLS0K PiAgZHJpdmVycy9ncHUvZHJtL3Ztd2dmeC92bXdnZnhfc2Nybi5jICAgICAgICAgICAgfCAgNyAr KystLQo+ICBkcml2ZXJzL2dwdS9kcm0vdm13Z2Z4L3Ztd2dmeF9zdGR1LmMgICAgICAgICAgICB8 ICA1ICsrLS0KPiAgZHJpdmVycy9ncHUvZHJtL3p0ZS96eF92b3UuYyAgICAgICAgICAgICAgICAg ICAgfCAgNSArKy0tCj4gIGluY2x1ZGUvZHJtL2RybV9tb2Rlc2V0X2hlbHBlcl92dGFibGVzLmgg ICAgICAgIHwgMzggKysrKysrKysrKysrKy0tLS0tLS0tLS0tLQo+ICAzMSBmaWxlcyBjaGFuZ2Vk LCAxMTcgaW5zZXJ0aW9ucygrKSwgODAgZGVsZXRpb25zKC0pCj4gCj4gZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9hcmMvYXJjcGd1X2NydGMuYyBiL2RyaXZlcnMvZ3B1L2RybS9hcmMvYXJj cGd1X2NydGMuYwo+IGluZGV4IDFmMzA2NzgxYzlkNS4uYzliYzZhOTBhYzgzIDEwMDY0NAo+IC0t LSBhL2RyaXZlcnMvZ3B1L2RybS9hcmMvYXJjcGd1X2NydGMuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1 L2RybS9hcmMvYXJjcGd1X2NydGMuYwo+IEBAIC0xMTksNyArMTE5LDggQEAgc3RhdGljIHZvaWQg YXJjX3BndV9jcnRjX21vZGVfc2V0X25vZmIoc3RydWN0IGRybV9jcnRjICpjcnRjKQo+ICAJY2xr X3NldF9yYXRlKGFyY3BndS0+Y2xrLCBtLT5jcnRjX2Nsb2NrICogMTAwMCk7Cj4gIH0KPiAgCj4g LXN0YXRpYyB2b2lkIGFyY19wZ3VfY3J0Y19lbmFibGUoc3RydWN0IGRybV9jcnRjICpjcnRjKQo+ ICtzdGF0aWMgdm9pZCBhcmNfcGd1X2NydGNfYXRvbWljX2VuYWJsZShzdHJ1Y3QgZHJtX2NydGMg KmNydGMsCj4gKwkJCQkgICAgICAgc3RydWN0IGRybV9jcnRjX3N0YXRlICpvbGRfc3RhdGUpCj4g IHsKPiAgCXN0cnVjdCBhcmNwZ3VfZHJtX3ByaXZhdGUgKmFyY3BndSA9IGNydGNfdG9fYXJjcGd1 X3ByaXYoY3J0Yyk7Cj4gIAo+IEBAIC0xNjEsOSArMTYyLDkgQEAgc3RhdGljIGNvbnN0IHN0cnVj dCBkcm1fY3J0Y19oZWxwZXJfZnVuY3MgYXJjX3BndV9jcnRjX2hlbHBlcl9mdW5jcyA9IHsKPiAg CS5tb2RlX3NldAk9IGRybV9oZWxwZXJfY3J0Y19tb2RlX3NldCwKPiAgCS5tb2RlX3NldF9iYXNl CT0gZHJtX2hlbHBlcl9jcnRjX21vZGVfc2V0X2Jhc2UsCj4gIAkubW9kZV9zZXRfbm9mYgk9IGFy Y19wZ3VfY3J0Y19tb2RlX3NldF9ub2ZiLAo+IC0JLmVuYWJsZQkJPSBhcmNfcGd1X2NydGNfZW5h YmxlLAo+ICAJLmRpc2FibGUJPSBhcmNfcGd1X2NydGNfZGlzYWJsZSwKPiAgCS5hdG9taWNfYmVn aW4JPSBhcmNfcGd1X2NydGNfYXRvbWljX2JlZ2luLAo+ICsJLmF0b21pY19lbmFibGUJPSBhcmNf cGd1X2NydGNfYXRvbWljX2VuYWJsZSwKPiAgfTsKPiAgCj4gIHN0YXRpYyB2b2lkIGFyY19wZ3Vf cGxhbmVfYXRvbWljX3VwZGF0ZShzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZSwKPiBkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL2FybS9oZGxjZF9jcnRjLmMgYi9kcml2ZXJzL2dwdS9kcm0vYXJt L2hkbGNkX2NydGMuYwo+IGluZGV4IGQ2N2I2ZjE1ZThiOC4uMmI3ZjRmMDVkOTFmIDEwMDY0NAo+ IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hcm0vaGRsY2RfY3J0Yy5jCj4gKysrIGIvZHJpdmVycy9n cHUvZHJtL2FybS9oZGxjZF9jcnRjLmMKPiBAQCAtMTY1LDcgKzE2NSw4IEBAIHN0YXRpYyB2b2lk IGhkbGNkX2NydGNfbW9kZV9zZXRfbm9mYihzdHJ1Y3QgZHJtX2NydGMgKmNydGMpCj4gIAljbGtf c2V0X3JhdGUoaGRsY2QtPmNsaywgbS0+Y3J0Y19jbG9jayAqIDEwMDApOwo+ICB9Cj4gIAo+IC1z dGF0aWMgdm9pZCBoZGxjZF9jcnRjX2VuYWJsZShzdHJ1Y3QgZHJtX2NydGMgKmNydGMpCj4gK3N0 YXRpYyB2b2lkIGhkbGNkX2NydGNfYXRvbWljX2VuYWJsZShzdHJ1Y3QgZHJtX2NydGMgKmNydGMs Cj4gKwkJCQkgICAgIHN0cnVjdCBkcm1fY3J0Y19zdGF0ZSAqb2xkX3N0YXRlKQo+ICB7Cj4gIAlz dHJ1Y3QgaGRsY2RfZHJtX3ByaXZhdGUgKmhkbGNkID0gY3J0Y190b19oZGxjZF9wcml2KGNydGMp Owo+ICAKPiBAQCAtMjE4LDEwICsyMTksMTAgQEAgc3RhdGljIHZvaWQgaGRsY2RfY3J0Y19hdG9t aWNfYmVnaW4oc3RydWN0IGRybV9jcnRjICpjcnRjLAo+ICB9Cj4gIAo+ICBzdGF0aWMgY29uc3Qg c3RydWN0IGRybV9jcnRjX2hlbHBlcl9mdW5jcyBoZGxjZF9jcnRjX2hlbHBlcl9mdW5jcyA9IHsK PiAtCS5lbmFibGUJCT0gaGRsY2RfY3J0Y19lbmFibGUsCj4gIAkuZGlzYWJsZQk9IGhkbGNkX2Ny dGNfZGlzYWJsZSwKPiAgCS5hdG9taWNfY2hlY2sJPSBoZGxjZF9jcnRjX2F0b21pY19jaGVjaywK PiAgCS5hdG9taWNfYmVnaW4JPSBoZGxjZF9jcnRjX2F0b21pY19iZWdpbiwKPiArCS5hdG9taWNf ZW5hYmxlCT0gaGRsY2RfY3J0Y19hdG9taWNfZW5hYmxlLAo+ICB9Owo+ICAKPiAgc3RhdGljIGlu dCBoZGxjZF9wbGFuZV9hdG9taWNfY2hlY2soc3RydWN0IGRybV9wbGFuZSAqcGxhbmUsCj4gZGlm ZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hcm0vbWFsaWRwX2NydGMuYyBiL2RyaXZlcnMvZ3B1 L2RybS9hcm0vbWFsaWRwX2NydGMuYwo+IGluZGV4IDRiYjM4YTIxZWZlYy4uOGU1YjFjMDE4MWFi IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hcm0vbWFsaWRwX2NydGMuYwo+ICsrKyBi L2RyaXZlcnMvZ3B1L2RybS9hcm0vbWFsaWRwX2NydGMuYwo+IEBAIC00Niw3ICs0Niw4IEBAIHN0 YXRpYyBlbnVtIGRybV9tb2RlX3N0YXR1cyBtYWxpZHBfY3J0Y19tb2RlX3ZhbGlkKHN0cnVjdCBk cm1fY3J0YyAqY3J0YywKPiAgCXJldHVybiBNT0RFX09LOwo+ICB9Cj4gIAo+IC1zdGF0aWMgdm9p ZCBtYWxpZHBfY3J0Y19lbmFibGUoc3RydWN0IGRybV9jcnRjICpjcnRjKQo+ICtzdGF0aWMgdm9p ZCBtYWxpZHBfY3J0Y19hdG9taWNfZW5hYmxlKHN0cnVjdCBkcm1fY3J0YyAqY3J0YywKPiArCQkJ CSAgICAgIHN0cnVjdCBkcm1fY3J0Y19zdGF0ZSAqb2xkX3N0YXRlKQo+ICB7Cj4gIAlzdHJ1Y3Qg bWFsaWRwX2RybSAqbWFsaWRwID0gY3J0Y190b19tYWxpZHBfZGV2aWNlKGNydGMpOwo+ICAJc3Ry dWN0IG1hbGlkcF9od19kZXZpY2UgKmh3ZGV2ID0gbWFsaWRwLT5kZXY7Cj4gQEAgLTQwOCw5ICs0 MDksOSBAQCBzdGF0aWMgaW50IG1hbGlkcF9jcnRjX2F0b21pY19jaGVjayhzdHJ1Y3QgZHJtX2Ny dGMgKmNydGMsCj4gIAo+ICBzdGF0aWMgY29uc3Qgc3RydWN0IGRybV9jcnRjX2hlbHBlcl9mdW5j cyBtYWxpZHBfY3J0Y19oZWxwZXJfZnVuY3MgPSB7Cj4gIAkubW9kZV92YWxpZCA9IG1hbGlkcF9j cnRjX21vZGVfdmFsaWQsCj4gLQkuZW5hYmxlID0gbWFsaWRwX2NydGNfZW5hYmxlLAo+ICAJLmRp c2FibGUgPSBtYWxpZHBfY3J0Y19kaXNhYmxlLAo+ICAJLmF0b21pY19jaGVjayA9IG1hbGlkcF9j cnRjX2F0b21pY19jaGVjaywKPiArCS5hdG9taWNfZW5hYmxlID0gbWFsaWRwX2NydGNfYXRvbWlj X2VuYWJsZSwKPiAgfTsKPiAgCj4gIHN0YXRpYyBzdHJ1Y3QgZHJtX2NydGNfc3RhdGUgKm1hbGlk cF9jcnRjX2R1cGxpY2F0ZV9zdGF0ZShzdHJ1Y3QgZHJtX2NydGMgKmNydGMpCj4gZGlmZiAtLWdp dCBhL2RyaXZlcnMvZ3B1L2RybS9hdG1lbC1obGNkYy9hdG1lbF9obGNkY19jcnRjLmMgYi9kcml2 ZXJzL2dwdS9kcm0vYXRtZWwtaGxjZGMvYXRtZWxfaGxjZGNfY3J0Yy5jCj4gaW5kZXggZjZiOGM1 OTA4YTIwLi5lNTRlNTAzMTgwZjQgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2F0bWVs LWhsY2RjL2F0bWVsX2hsY2RjX2NydGMuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9hdG1lbC1o bGNkYy9hdG1lbF9obGNkY19jcnRjLmMKPiBAQCAtMTgzLDcgKzE4Myw4IEBAIHN0YXRpYyB2b2lk IGF0bWVsX2hsY2RjX2NydGNfZGlzYWJsZShzdHJ1Y3QgZHJtX2NydGMgKmMpCj4gIAlwbV9ydW50 aW1lX3B1dF9zeW5jKGRldi0+ZGV2KTsKPiAgfQo+ICAKPiAtc3RhdGljIHZvaWQgYXRtZWxfaGxj ZGNfY3J0Y19lbmFibGUoc3RydWN0IGRybV9jcnRjICpjKQo+ICtzdGF0aWMgdm9pZCBhdG1lbF9o bGNkY19jcnRjX2F0b21pY19lbmFibGUoc3RydWN0IGRybV9jcnRjICpjLAo+ICsJCQkJCSAgIHN0 cnVjdCBkcm1fY3J0Y19zdGF0ZSAqb2xkX3N0YXRlKQo+ICB7Cj4gIAlzdHJ1Y3QgZHJtX2Rldmlj ZSAqZGV2ID0gYy0+ZGV2Owo+ICAJc3RydWN0IGF0bWVsX2hsY2RjX2NydGMgKmNydGMgPSBkcm1f Y3J0Y190b19hdG1lbF9obGNkY19jcnRjKGMpOwo+IEBAIC0zMjAsMTAgKzMyMSwxMCBAQCBzdGF0 aWMgY29uc3Qgc3RydWN0IGRybV9jcnRjX2hlbHBlcl9mdW5jcyBsY2RjX2NydGNfaGVscGVyX2Z1 bmNzID0gewo+ICAJLm1vZGVfc2V0X25vZmIgPSBhdG1lbF9obGNkY19jcnRjX21vZGVfc2V0X25v ZmIsCj4gIAkubW9kZV9zZXRfYmFzZSA9IGRybV9oZWxwZXJfY3J0Y19tb2RlX3NldF9iYXNlLAo+ ICAJLmRpc2FibGUgPSBhdG1lbF9obGNkY19jcnRjX2Rpc2FibGUsCj4gLQkuZW5hYmxlID0gYXRt ZWxfaGxjZGNfY3J0Y19lbmFibGUsCj4gIAkuYXRvbWljX2NoZWNrID0gYXRtZWxfaGxjZGNfY3J0 Y19hdG9taWNfY2hlY2ssCj4gIAkuYXRvbWljX2JlZ2luID0gYXRtZWxfaGxjZGNfY3J0Y19hdG9t aWNfYmVnaW4sCj4gIAkuYXRvbWljX2ZsdXNoID0gYXRtZWxfaGxjZGNfY3J0Y19hdG9taWNfZmx1 c2gsCj4gKwkuYXRvbWljX2VuYWJsZSA9IGF0bWVsX2hsY2RjX2NydGNfYXRvbWljX2VuYWJsZSwK PiAgfTsKPiAgCj4gIHN0YXRpYyB2b2lkIGF0bWVsX2hsY2RjX2NydGNfZGVzdHJveShzdHJ1Y3Qg ZHJtX2NydGMgKmMpCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljX2hl bHBlci5jIGIvZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWNfaGVscGVyLmMKPiBpbmRleCAyZjI2 OWU0MjY3ZGEuLjIzZTQ2NjFhNjJmZSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vZHJt X2F0b21pY19oZWxwZXIuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljX2hlbHBl ci5jCj4gQEAgLTEwNjksMTIgKzEwNjksMTMgQEAgdm9pZCBkcm1fYXRvbWljX2hlbHBlcl9jb21t aXRfbW9kZXNldF9lbmFibGVzKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCj4gIAkJCQkJICAgICAg c3RydWN0IGRybV9hdG9taWNfc3RhdGUgKm9sZF9zdGF0ZSkKPiAgewo+ICAJc3RydWN0IGRybV9j cnRjICpjcnRjOwo+ICsJc3RydWN0IGRybV9jcnRjX3N0YXRlICpvbGRfY3J0Y19zdGF0ZTsKPiAg CXN0cnVjdCBkcm1fY3J0Y19zdGF0ZSAqbmV3X2NydGNfc3RhdGU7Cj4gIAlzdHJ1Y3QgZHJtX2Nv bm5lY3RvciAqY29ubmVjdG9yOwo+ICAJc3RydWN0IGRybV9jb25uZWN0b3Jfc3RhdGUgKm5ld19j b25uX3N0YXRlOwo+ICAJaW50IGk7Cj4gIAo+IC0JZm9yX2VhY2hfbmV3X2NydGNfaW5fc3RhdGUo b2xkX3N0YXRlLCBjcnRjLCBuZXdfY3J0Y19zdGF0ZSwgaSkgewo+ICsJZm9yX2VhY2hfb2xkbmV3 X2NydGNfaW5fc3RhdGUob2xkX3N0YXRlLCBjcnRjLCBvbGRfY3J0Y19zdGF0ZSwgbmV3X2NydGNf c3RhdGUsIGkpIHsKPiAgCQljb25zdCBzdHJ1Y3QgZHJtX2NydGNfaGVscGVyX2Z1bmNzICpmdW5j czsKPiAgCj4gIAkJLyogTmVlZCB0byBmaWx0ZXIgb3V0IENSVENzIHdoZXJlIG9ubHkgcGxhbmVz IGNoYW5nZS4gKi8KPiBAQCAtMTA5MCw4ICsxMDkxLDggQEAgdm9pZCBkcm1fYXRvbWljX2hlbHBl cl9jb21taXRfbW9kZXNldF9lbmFibGVzKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCj4gIAkJCURS TV9ERUJVR19BVE9NSUMoImVuYWJsaW5nIFtDUlRDOiVkOiVzXVxuIiwKPiAgCQkJCQkgY3J0Yy0+ YmFzZS5pZCwgY3J0Yy0+bmFtZSk7Cj4gIAo+IC0JCQlpZiAoZnVuY3MtPmVuYWJsZSkKPiAtCQkJ CWZ1bmNzLT5lbmFibGUoY3J0Yyk7Cj4gKwkJCWlmIChmdW5jcy0+YXRvbWljX2VuYWJsZSkKPiAr CQkJCWZ1bmNzLT5hdG9taWNfZW5hYmxlKGNydGMsIG9sZF9jcnRjX3N0YXRlKTsKPiAgCQkJZWxz ZQo+ICAJCQkJZnVuY3MtPmNvbW1pdChjcnRjKTsKPiAgCQl9Cj4gZGlmZiAtLWdpdCBhL2RyaXZl cnMvZ3B1L2RybS9kcm1fc2ltcGxlX2ttc19oZWxwZXIuYyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1f c2ltcGxlX2ttc19oZWxwZXIuYwo+IGluZGV4IGUwODRmOWY4Y2E2Ni4uNThjMjdhYjE3NTZmIDEw MDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fc2ltcGxlX2ttc19oZWxwZXIuYwo+ICsr KyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fc2ltcGxlX2ttc19oZWxwZXIuYwo+IEBAIC00MCw3ICs0 MCw4IEBAIHN0YXRpYyBpbnQgZHJtX3NpbXBsZV9rbXNfY3J0Y19jaGVjayhzdHJ1Y3QgZHJtX2Ny dGMgKmNydGMsCj4gIAlyZXR1cm4gZHJtX2F0b21pY19hZGRfYWZmZWN0ZWRfcGxhbmVzKHN0YXRl LT5zdGF0ZSwgY3J0Yyk7Cj4gIH0KPiAgCj4gLXN0YXRpYyB2b2lkIGRybV9zaW1wbGVfa21zX2Ny dGNfZW5hYmxlKHN0cnVjdCBkcm1fY3J0YyAqY3J0YykKPiArc3RhdGljIHZvaWQgZHJtX3NpbXBs ZV9rbXNfY3J0Y19lbmFibGUoc3RydWN0IGRybV9jcnRjICpjcnRjLAo+ICsJCQkJICAgICAgIHN0 cnVjdCBkcm1fY3J0Y19zdGF0ZSAqb2xkX3N0YXRlKQo+ICB7Cj4gIAlzdHJ1Y3QgZHJtX3NpbXBs ZV9kaXNwbGF5X3BpcGUgKnBpcGU7Cj4gIAo+IEBAIC02NCw4ICs2NSw4IEBAIHN0YXRpYyB2b2lk IGRybV9zaW1wbGVfa21zX2NydGNfZGlzYWJsZShzdHJ1Y3QgZHJtX2NydGMgKmNydGMpCj4gIAo+ ICBzdGF0aWMgY29uc3Qgc3RydWN0IGRybV9jcnRjX2hlbHBlcl9mdW5jcyBkcm1fc2ltcGxlX2tt c19jcnRjX2hlbHBlcl9mdW5jcyA9IHsKPiAgCS5hdG9taWNfY2hlY2sgPSBkcm1fc2ltcGxlX2tt c19jcnRjX2NoZWNrLAo+ICsJLmF0b21pY19lbmFibGUgPSBkcm1fc2ltcGxlX2ttc19jcnRjX2Vu YWJsZSwKPiAgCS5kaXNhYmxlID0gZHJtX3NpbXBsZV9rbXNfY3J0Y19kaXNhYmxlLAo+IC0JLmVu YWJsZSA9IGRybV9zaW1wbGVfa21zX2NydGNfZW5hYmxlLAo+ICB9Owo+ICAKPiAgc3RhdGljIGNv bnN0IHN0cnVjdCBkcm1fY3J0Y19mdW5jcyBkcm1fc2ltcGxlX2ttc19jcnRjX2Z1bmNzID0gewo+ IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vZXh5bm9zL2V4eW5vc19kcm1fY3J0Yy5jIGIv ZHJpdmVycy9ncHUvZHJtL2V4eW5vcy9leHlub3NfZHJtX2NydGMuYwo+IGluZGV4IGQ3Mjc3N2Y2 NDExYS4uYjdlMmZhZGI2NDQyIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9leHlub3Mv ZXh5bm9zX2RybV9jcnRjLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vZXh5bm9zL2V4eW5vc19k cm1fY3J0Yy5jCj4gQEAgLTIxLDcgKzIxLDggQEAKPiAgI2luY2x1ZGUgImV4eW5vc19kcm1fZHJ2 LmgiCj4gICNpbmNsdWRlICJleHlub3NfZHJtX3BsYW5lLmgiCj4gIAo+IC1zdGF0aWMgdm9pZCBl eHlub3NfZHJtX2NydGNfZW5hYmxlKHN0cnVjdCBkcm1fY3J0YyAqY3J0YykKPiArc3RhdGljIHZv aWQgZXh5bm9zX2RybV9jcnRjX2F0b21pY19lbmFibGUoc3RydWN0IGRybV9jcnRjICpjcnRjLAo+ ICsJCQkJCSAgc3RydWN0IGRybV9jcnRjX3N0YXRlICpvbGRfc3RhdGUpCj4gIHsKPiAgCXN0cnVj dCBleHlub3NfZHJtX2NydGMgKmV4eW5vc19jcnRjID0gdG9fZXh5bm9zX2NydGMoY3J0Yyk7Cj4g IAo+IEBAIC04MiwxMSArODMsMTEgQEAgc3RhdGljIHZvaWQgZXh5bm9zX2NydGNfYXRvbWljX2Zs dXNoKHN0cnVjdCBkcm1fY3J0YyAqY3J0YywKPiAgfQo+ICAKPiAgc3RhdGljIGNvbnN0IHN0cnVj dCBkcm1fY3J0Y19oZWxwZXJfZnVuY3MgZXh5bm9zX2NydGNfaGVscGVyX2Z1bmNzID0gewo+IC0J LmVuYWJsZQkJPSBleHlub3NfZHJtX2NydGNfZW5hYmxlLAo+ICAJLmRpc2FibGUJPSBleHlub3Nf ZHJtX2NydGNfZGlzYWJsZSwKPiAgCS5hdG9taWNfY2hlY2sJPSBleHlub3NfY3J0Y19hdG9taWNf Y2hlY2ssCj4gIAkuYXRvbWljX2JlZ2luCT0gZXh5bm9zX2NydGNfYXRvbWljX2JlZ2luLAo+ICAJ LmF0b21pY19mbHVzaAk9IGV4eW5vc19jcnRjX2F0b21pY19mbHVzaCwKPiArCS5hdG9taWNfZW5h YmxlCT0gZXh5bm9zX2RybV9jcnRjX2F0b21pY19lbmFibGUsCj4gIH07Cj4gIAo+ICB2b2lkIGV4 eW5vc19jcnRjX2hhbmRsZV9ldmVudChzdHJ1Y3QgZXh5bm9zX2RybV9jcnRjICpleHlub3NfY3J0 YykKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2ZzbC1kY3UvZnNsX2RjdV9kcm1fY3J0 Yy5jIGIvZHJpdmVycy9ncHUvZHJtL2ZzbC1kY3UvZnNsX2RjdV9kcm1fY3J0Yy5jCj4gaW5kZXgg Y2M0ZTk0NGExZDNjLi4wZTM3NTI0MzdlNDQgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJt L2ZzbC1kY3UvZnNsX2RjdV9kcm1fY3J0Yy5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2ZzbC1k Y3UvZnNsX2RjdV9kcm1fY3J0Yy5jCj4gQEAgLTYzLDcgKzYzLDggQEAgc3RhdGljIHZvaWQgZnNs X2RjdV9kcm1fY3J0Y19hdG9taWNfZGlzYWJsZShzdHJ1Y3QgZHJtX2NydGMgKmNydGMsCj4gIAlj bGtfZGlzYWJsZV91bnByZXBhcmUoZnNsX2Rldi0+cGl4X2Nsayk7Cj4gIH0KPiAgCj4gLXN0YXRp YyB2b2lkIGZzbF9kY3VfZHJtX2NydGNfZW5hYmxlKHN0cnVjdCBkcm1fY3J0YyAqY3J0YykKPiAr c3RhdGljIHZvaWQgZnNsX2RjdV9kcm1fY3J0Y19hdG9taWNfZW5hYmxlKHN0cnVjdCBkcm1fY3J0 YyAqY3J0YywKPiArCQkJCQkgICBzdHJ1Y3QgZHJtX2NydGNfc3RhdGUgKm9sZF9zdGF0ZSkKPiAg ewo+ICAJc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IGNydGMtPmRldjsKPiAgCXN0cnVjdCBmc2xf ZGN1X2RybV9kZXZpY2UgKmZzbF9kZXYgPSBkZXYtPmRldl9wcml2YXRlOwo+IEBAIC0xMzMsNyAr MTM0LDcgQEAgc3RhdGljIHZvaWQgZnNsX2RjdV9kcm1fY3J0Y19tb2RlX3NldF9ub2ZiKHN0cnVj dCBkcm1fY3J0YyAqY3J0YykKPiAgc3RhdGljIGNvbnN0IHN0cnVjdCBkcm1fY3J0Y19oZWxwZXJf ZnVuY3MgZnNsX2RjdV9kcm1fY3J0Y19oZWxwZXJfZnVuY3MgPSB7Cj4gIAkuYXRvbWljX2Rpc2Fi bGUgPSBmc2xfZGN1X2RybV9jcnRjX2F0b21pY19kaXNhYmxlLAo+ICAJLmF0b21pY19mbHVzaCA9 IGZzbF9kY3VfZHJtX2NydGNfYXRvbWljX2ZsdXNoLAo+IC0JLmVuYWJsZSA9IGZzbF9kY3VfZHJt X2NydGNfZW5hYmxlLAo+ICsJLmF0b21pY19lbmFibGUgPSBmc2xfZGN1X2RybV9jcnRjX2F0b21p Y19lbmFibGUsCj4gIAkubW9kZV9zZXRfbm9mYiA9IGZzbF9kY3VfZHJtX2NydGNfbW9kZV9zZXRf bm9mYiwKPiAgfTsKPiAgCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9oaXNpbGljb24v aGlibWMvaGlibWNfZHJtX2RlLmMgYi9kcml2ZXJzL2dwdS9kcm0vaGlzaWxpY29uL2hpYm1jL2hp Ym1jX2RybV9kZS5jCj4gaW5kZXggNTk1NDJiZGRjOTgwLi40OWVmNDdjMGM4MWEgMTAwNjQ0Cj4g LS0tIGEvZHJpdmVycy9ncHUvZHJtL2hpc2lsaWNvbi9oaWJtYy9oaWJtY19kcm1fZGUuYwo+ICsr KyBiL2RyaXZlcnMvZ3B1L2RybS9oaXNpbGljb24vaGlibWMvaGlibWNfZHJtX2RlLmMKPiBAQCAt MTkyLDcgKzE5Miw4IEBAIHN0YXRpYyBzdHJ1Y3QgZHJtX3BsYW5lICpoaWJtY19wbGFuZV9pbml0 KHN0cnVjdCBoaWJtY19kcm1fcHJpdmF0ZSAqcHJpdikKPiAgCXJldHVybiBwbGFuZTsKPiAgfQo+ ICAKPiAtc3RhdGljIHZvaWQgaGlibWNfY3J0Y19lbmFibGUoc3RydWN0IGRybV9jcnRjICpjcnRj KQo+ICtzdGF0aWMgdm9pZCBoaWJtY19jcnRjX2F0b21pY19lbmFibGUoc3RydWN0IGRybV9jcnRj ICpjcnRjLAo+ICsJCQkJICAgICBzdHJ1Y3QgZHJtX2NydGNfc3RhdGUgKm9sZF9zdGF0ZSkKPiAg ewo+ICAJdW5zaWduZWQgaW50IHJlZzsKPiAgCXN0cnVjdCBoaWJtY19kcm1fcHJpdmF0ZSAqcHJp diA9IGNydGMtPmRldi0+ZGV2X3ByaXZhdGU7Cj4gQEAgLTQ1MywxMSArNDU0LDExIEBAIHN0YXRp YyBjb25zdCBzdHJ1Y3QgZHJtX2NydGNfZnVuY3MgaGlibWNfY3J0Y19mdW5jcyA9IHsKPiAgfTsK PiAgCj4gIHN0YXRpYyBjb25zdCBzdHJ1Y3QgZHJtX2NydGNfaGVscGVyX2Z1bmNzIGhpYm1jX2Ny dGNfaGVscGVyX2Z1bmNzID0gewo+IC0JLmVuYWJsZQkJPSBoaWJtY19jcnRjX2VuYWJsZSwKPiAg CS5kaXNhYmxlCT0gaGlibWNfY3J0Y19kaXNhYmxlLAo+ICAJLm1vZGVfc2V0X25vZmIJPSBoaWJt Y19jcnRjX21vZGVfc2V0X25vZmIsCj4gIAkuYXRvbWljX2JlZ2luCT0gaGlibWNfY3J0Y19hdG9t aWNfYmVnaW4sCj4gIAkuYXRvbWljX2ZsdXNoCT0gaGlibWNfY3J0Y19hdG9taWNfZmx1c2gsCj4g KwkuYXRvbWljX2VuYWJsZQk9IGhpYm1jX2NydGNfYXRvbWljX2VuYWJsZSwKPiAgfTsKPiAgCj4g IGludCBoaWJtY19kZV9pbml0KHN0cnVjdCBoaWJtY19kcm1fcHJpdmF0ZSAqcHJpdikKPiBkaWZm IC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2hpc2lsaWNvbi9raXJpbi9raXJpbl9kcm1fYWRlLmMg Yi9kcml2ZXJzL2dwdS9kcm0vaGlzaWxpY29uL2tpcmluL2tpcmluX2RybV9hZGUuYwo+IGluZGV4 IGM5NmMyMjhhOTg5OC4uOGUwMDgxOGIyNGZjIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2Ry bS9oaXNpbGljb24va2lyaW4va2lyaW5fZHJtX2FkZS5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJt L2hpc2lsaWNvbi9raXJpbi9raXJpbl9kcm1fYWRlLmMKPiBAQCAtNDY3LDcgKzQ2Nyw4IEBAIHN0 YXRpYyB2b2lkIGFkZV9kdW1wX3JlZ3Modm9pZCBfX2lvbWVtICpiYXNlKQo+ICBzdGF0aWMgdm9p ZCBhZGVfZHVtcF9yZWdzKHZvaWQgX19pb21lbSAqYmFzZSkgeyB9Cj4gICNlbmRpZgo+ICAKPiAt c3RhdGljIHZvaWQgYWRlX2NydGNfZW5hYmxlKHN0cnVjdCBkcm1fY3J0YyAqY3J0YykKPiArc3Rh dGljIHZvaWQgYWRlX2NydGNfYXRvbWljX2VuYWJsZShzdHJ1Y3QgZHJtX2NydGMgKmNydGMsCj4g KwkJCQkgICBzdHJ1Y3QgZHJtX2NydGNfc3RhdGUgKm9sZF9zdGF0ZSkKPiAgewo+ICAJc3RydWN0 IGFkZV9jcnRjICphY3J0YyA9IHRvX2FkZV9jcnRjKGNydGMpOwo+ICAJc3RydWN0IGFkZV9od19j dHggKmN0eCA9IGFjcnRjLT5jdHg7Cj4gQEAgLTU1MywxMSArNTU0LDExIEBAIHN0YXRpYyB2b2lk IGFkZV9jcnRjX2F0b21pY19mbHVzaChzdHJ1Y3QgZHJtX2NydGMgKmNydGMsCj4gIH0KPiAgCj4g IHN0YXRpYyBjb25zdCBzdHJ1Y3QgZHJtX2NydGNfaGVscGVyX2Z1bmNzIGFkZV9jcnRjX2hlbHBl cl9mdW5jcyA9IHsKPiAtCS5lbmFibGUJCT0gYWRlX2NydGNfZW5hYmxlLAo+ICAJLmRpc2FibGUJ PSBhZGVfY3J0Y19kaXNhYmxlLAo+ICAJLm1vZGVfc2V0X25vZmIJPSBhZGVfY3J0Y19tb2RlX3Nl dF9ub2ZiLAo+ICAJLmF0b21pY19iZWdpbgk9IGFkZV9jcnRjX2F0b21pY19iZWdpbiwKPiAgCS5h dG9taWNfZmx1c2gJPSBhZGVfY3J0Y19hdG9taWNfZmx1c2gsCj4gKwkuYXRvbWljX2VuYWJsZQk9 IGFkZV9jcnRjX2F0b21pY19lbmFibGUsCj4gIH07Cj4gIAo+ICBzdGF0aWMgY29uc3Qgc3RydWN0 IGRybV9jcnRjX2Z1bmNzIGFkZV9jcnRjX2Z1bmNzID0gewo+IGRpZmYgLS1naXQgYS9kcml2ZXJz L2dwdS9kcm0vaW14L2lwdXYzLWNydGMuYyBiL2RyaXZlcnMvZ3B1L2RybS9pbXgvaXB1djMtY3J0 Yy5jCj4gaW5kZXggNTQ1NmMxNWQ5NjJjLi41M2UwYjI0YmVkYTYgMTAwNjQ0Cj4gLS0tIGEvZHJp dmVycy9ncHUvZHJtL2lteC9pcHV2My1jcnRjLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaW14 L2lwdXYzLWNydGMuYwo+IEBAIC01MCw3ICs1MCw4IEBAIHN0YXRpYyBpbmxpbmUgc3RydWN0IGlw dV9jcnRjICp0b19pcHVfY3J0YyhzdHJ1Y3QgZHJtX2NydGMgKmNydGMpCj4gIAlyZXR1cm4gY29u dGFpbmVyX29mKGNydGMsIHN0cnVjdCBpcHVfY3J0YywgYmFzZSk7Cj4gIH0KPiAgCj4gLXN0YXRp YyB2b2lkIGlwdV9jcnRjX2VuYWJsZShzdHJ1Y3QgZHJtX2NydGMgKmNydGMpCj4gK3N0YXRpYyB2 b2lkIGlwdV9jcnRjX2F0b21pY19lbmFibGUoc3RydWN0IGRybV9jcnRjICpjcnRjLAo+ICsJCQkJ ICAgc3RydWN0IGRybV9jcnRjX3N0YXRlICpvbGRfc3RhdGUpCj4gIHsKPiAgCXN0cnVjdCBpcHVf Y3J0YyAqaXB1X2NydGMgPSB0b19pcHVfY3J0YyhjcnRjKTsKPiAgCXN0cnVjdCBpcHVfc29jICpp cHUgPSBkZXZfZ2V0X2RydmRhdGEoaXB1X2NydGMtPmRldi0+cGFyZW50KTsKPiBAQCAtMjkzLDcg KzI5NCw3IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgZHJtX2NydGNfaGVscGVyX2Z1bmNzIGlwdV9o ZWxwZXJfZnVuY3MgPSB7Cj4gIAkuYXRvbWljX2NoZWNrID0gaXB1X2NydGNfYXRvbWljX2NoZWNr LAo+ICAJLmF0b21pY19iZWdpbiA9IGlwdV9jcnRjX2F0b21pY19iZWdpbiwKPiAgCS5hdG9taWNf ZGlzYWJsZSA9IGlwdV9jcnRjX2F0b21pY19kaXNhYmxlLAo+IC0JLmVuYWJsZSA9IGlwdV9jcnRj X2VuYWJsZSwKPiArCS5hdG9taWNfZW5hYmxlID0gaXB1X2NydGNfYXRvbWljX2VuYWJsZSwKPiAg fTsKPiAgCj4gIHN0YXRpYyB2b2lkIGlwdV9wdXRfcmVzb3VyY2VzKHN0cnVjdCBpcHVfY3J0YyAq aXB1X2NydGMpCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9tZWRpYXRlay9tdGtfZHJt X2NydGMuYyBiL2RyaXZlcnMvZ3B1L2RybS9tZWRpYXRlay9tdGtfZHJtX2NydGMuYwo+IGluZGV4 IDY1ODJlMWY1NmQzNy4uNTk3MWIwODI3ZDFiIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2Ry bS9tZWRpYXRlay9tdGtfZHJtX2NydGMuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9tZWRpYXRl ay9tdGtfZHJtX2NydGMuYwo+IEBAIC0zNjYsNyArMzY2LDggQEAgc3RhdGljIHZvaWQgbXRrX2Ny dGNfZGRwX2NvbmZpZyhzdHJ1Y3QgZHJtX2NydGMgKmNydGMpCj4gIAl9Cj4gIH0KPiAgCj4gLXN0 YXRpYyB2b2lkIG10a19kcm1fY3J0Y19lbmFibGUoc3RydWN0IGRybV9jcnRjICpjcnRjKQo+ICtz dGF0aWMgdm9pZCBtdGtfZHJtX2NydGNfYXRvbWljX2VuYWJsZShzdHJ1Y3QgZHJtX2NydGMgKmNy dGMsCj4gKwkJCQkgICAgICAgc3RydWN0IGRybV9jcnRjX3N0YXRlICpvbGRfc3RhdGUpCj4gIHsK PiAgCXN0cnVjdCBtdGtfZHJtX2NydGMgKm10a19jcnRjID0gdG9fbXRrX2NydGMoY3J0Yyk7Cj4g IAlzdHJ1Y3QgbXRrX2RkcF9jb21wICpvdmwgPSBtdGtfY3J0Yy0+ZGRwX2NvbXBbMF07Cj4gQEAg LTQ4NywxMCArNDg4LDEwIEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgZHJtX2NydGNfZnVuY3MgbXRr X2NydGNfZnVuY3MgPSB7Cj4gIHN0YXRpYyBjb25zdCBzdHJ1Y3QgZHJtX2NydGNfaGVscGVyX2Z1 bmNzIG10a19jcnRjX2hlbHBlcl9mdW5jcyA9IHsKPiAgCS5tb2RlX2ZpeHVwCT0gbXRrX2RybV9j cnRjX21vZGVfZml4dXAsCj4gIAkubW9kZV9zZXRfbm9mYgk9IG10a19kcm1fY3J0Y19tb2RlX3Nl dF9ub2ZiLAo+IC0JLmVuYWJsZQkJPSBtdGtfZHJtX2NydGNfZW5hYmxlLAo+ICAJLmRpc2FibGUJ PSBtdGtfZHJtX2NydGNfZGlzYWJsZSwKPiAgCS5hdG9taWNfYmVnaW4JPSBtdGtfZHJtX2NydGNf YXRvbWljX2JlZ2luLAo+ICAJLmF0b21pY19mbHVzaAk9IG10a19kcm1fY3J0Y19hdG9taWNfZmx1 c2gsCj4gKwkuYXRvbWljX2VuYWJsZQk9IG10a19kcm1fY3J0Y19hdG9taWNfZW5hYmxlLAo+ICB9 Owo+ICAKPiAgc3RhdGljIGludCBtdGtfZHJtX2NydGNfaW5pdChzdHJ1Y3QgZHJtX2RldmljZSAq ZHJtLAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vbWVzb24vbWVzb25fY3J0Yy5jIGIv ZHJpdmVycy9ncHUvZHJtL21lc29uL21lc29uX2NydGMuYwo+IGluZGV4IGM5ODZlYjAzYjlkOS4u NmYxNDgzMDdiMGUwIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9tZXNvbi9tZXNvbl9j cnRjLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vbWVzb24vbWVzb25fY3J0Yy5jCj4gQEAgLTc5 LDcgKzc5LDggQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBkcm1fY3J0Y19mdW5jcyBtZXNvbl9jcnRj X2Z1bmNzID0gewo+ICAKPiAgfTsKPiAgCj4gLXN0YXRpYyB2b2lkIG1lc29uX2NydGNfZW5hYmxl KHN0cnVjdCBkcm1fY3J0YyAqY3J0YykKPiArc3RhdGljIHZvaWQgbWVzb25fY3J0Y19hdG9taWNf ZW5hYmxlKHN0cnVjdCBkcm1fY3J0YyAqY3J0YywKPiArCQkJCSAgICAgc3RydWN0IGRybV9jcnRj X3N0YXRlICpvbGRfc3RhdGUpCj4gIHsKPiAgCXN0cnVjdCBtZXNvbl9jcnRjICptZXNvbl9jcnRj ID0gdG9fbWVzb25fY3J0YyhjcnRjKTsKPiAgCXN0cnVjdCBkcm1fY3J0Y19zdGF0ZSAqY3J0Y19z dGF0ZSA9IGNydGMtPnN0YXRlOwo+IEBAIC0xNDksMTAgKzE1MCwxMCBAQCBzdGF0aWMgdm9pZCBt ZXNvbl9jcnRjX2F0b21pY19mbHVzaChzdHJ1Y3QgZHJtX2NydGMgKmNydGMsCj4gIH0KPiAgCj4g IHN0YXRpYyBjb25zdCBzdHJ1Y3QgZHJtX2NydGNfaGVscGVyX2Z1bmNzIG1lc29uX2NydGNfaGVs cGVyX2Z1bmNzID0gewo+IC0JLmVuYWJsZQkJPSBtZXNvbl9jcnRjX2VuYWJsZSwKPiAgCS5kaXNh YmxlCT0gbWVzb25fY3J0Y19kaXNhYmxlLAo+ICAJLmF0b21pY19iZWdpbgk9IG1lc29uX2NydGNf YXRvbWljX2JlZ2luLAo+ICAJLmF0b21pY19mbHVzaAk9IG1lc29uX2NydGNfYXRvbWljX2ZsdXNo LAo+ICsJLmF0b21pY19lbmFibGUJPSBtZXNvbl9jcnRjX2F0b21pY19lbmFibGUsCj4gIH07Cj4g IAo+ICB2b2lkIG1lc29uX2NydGNfaXJxKHN0cnVjdCBtZXNvbl9kcm0gKnByaXYpCj4gZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9tc20vbWRwL21kcDQvbWRwNF9jcnRjLmMgYi9kcml2ZXJz L2dwdS9kcm0vbXNtL21kcC9tZHA0L21kcDRfY3J0Yy5jCj4gaW5kZXggNjE1ZTFkZWY2NGQ5Li45 YzIwMTMzZjNmOGQgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL21zbS9tZHAvbWRwNC9t ZHA0X2NydGMuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9tc20vbWRwL21kcDQvbWRwNF9jcnRj LmMKPiBAQCAtMjk1LDcgKzI5NSw4IEBAIHN0YXRpYyB2b2lkIG1kcDRfY3J0Y19kaXNhYmxlKHN0 cnVjdCBkcm1fY3J0YyAqY3J0YykKPiAgCW1kcDRfY3J0Yy0+ZW5hYmxlZCA9IGZhbHNlOwo+ICB9 Cj4gIAo+IC1zdGF0aWMgdm9pZCBtZHA0X2NydGNfZW5hYmxlKHN0cnVjdCBkcm1fY3J0YyAqY3J0 YykKPiArc3RhdGljIHZvaWQgbWRwNF9jcnRjX2F0b21pY19lbmFibGUoc3RydWN0IGRybV9jcnRj ICpjcnRjLAo+ICsJCQkJICAgIHN0cnVjdCBkcm1fY3J0Y19zdGF0ZSAqb2xkX3N0YXRlKQo+ICB7 Cj4gIAlzdHJ1Y3QgbWRwNF9jcnRjICptZHA0X2NydGMgPSB0b19tZHA0X2NydGMoY3J0Yyk7Cj4g IAlzdHJ1Y3QgbWRwNF9rbXMgKm1kcDRfa21zID0gZ2V0X2ttcyhjcnRjKTsKPiBAQCAtNDkzLDEw ICs0OTQsMTAgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBkcm1fY3J0Y19mdW5jcyBtZHA0X2NydGNf ZnVuY3MgPSB7Cj4gIHN0YXRpYyBjb25zdCBzdHJ1Y3QgZHJtX2NydGNfaGVscGVyX2Z1bmNzIG1k cDRfY3J0Y19oZWxwZXJfZnVuY3MgPSB7Cj4gIAkubW9kZV9zZXRfbm9mYiA9IG1kcDRfY3J0Y19t b2RlX3NldF9ub2ZiLAo+ICAJLmRpc2FibGUgPSBtZHA0X2NydGNfZGlzYWJsZSwKPiAtCS5lbmFi bGUgPSBtZHA0X2NydGNfZW5hYmxlLAo+ICAJLmF0b21pY19jaGVjayA9IG1kcDRfY3J0Y19hdG9t aWNfY2hlY2ssCj4gIAkuYXRvbWljX2JlZ2luID0gbWRwNF9jcnRjX2F0b21pY19iZWdpbiwKPiAg CS5hdG9taWNfZmx1c2ggPSBtZHA0X2NydGNfYXRvbWljX2ZsdXNoLAo+ICsJLmF0b21pY19lbmFi bGUgPSBtZHA0X2NydGNfYXRvbWljX2VuYWJsZSwKPiAgfTsKPiAgCj4gIHN0YXRpYyB2b2lkIG1k cDRfY3J0Y192YmxhbmtfaXJxKHN0cnVjdCBtZHBfaXJxICppcnEsIHVpbnQzMl90IGlycXN0YXR1 cykKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL21zbS9tZHAvbWRwNS9tZHA1X2NydGMu YyBiL2RyaXZlcnMvZ3B1L2RybS9tc20vbWRwL21kcDUvbWRwNV9jcnRjLmMKPiBpbmRleCBjYjU0 MTVkNmMwNGIuLmQzOWQ5ZDI0ZDE2OSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vbXNt L21kcC9tZHA1L21kcDVfY3J0Yy5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL21zbS9tZHAvbWRw NS9tZHA1X2NydGMuYwo+IEBAIC00MjksNyArNDI5LDggQEAgc3RhdGljIHZvaWQgbWRwNV9jcnRj X2Rpc2FibGUoc3RydWN0IGRybV9jcnRjICpjcnRjKQo+ICAJbWRwNV9jcnRjLT5lbmFibGVkID0g ZmFsc2U7Cj4gIH0KPiAgCj4gLXN0YXRpYyB2b2lkIG1kcDVfY3J0Y19lbmFibGUoc3RydWN0IGRy bV9jcnRjICpjcnRjKQo+ICtzdGF0aWMgdm9pZCBtZHA1X2NydGNfYXRvbWljX2VuYWJsZShzdHJ1 Y3QgZHJtX2NydGMgKmNydGMsCj4gKwkJCQkgICAgc3RydWN0IGRybV9jcnRjX3N0YXRlICpvbGRf c3RhdGUpCj4gIHsKPiAgCXN0cnVjdCBtZHA1X2NydGMgKm1kcDVfY3J0YyA9IHRvX21kcDVfY3J0 YyhjcnRjKTsKPiAgCXN0cnVjdCBtZHA1X2NydGNfc3RhdGUgKm1kcDVfY3N0YXRlID0gdG9fbWRw NV9jcnRjX3N0YXRlKGNydGMtPnN0YXRlKTsKPiBAQCAtOTQwLDEwICs5NDEsMTAgQEAgc3RhdGlj IGNvbnN0IHN0cnVjdCBkcm1fY3J0Y19mdW5jcyBtZHA1X2NydGNfbm9fbG1fY3Vyc29yX2Z1bmNz ID0gewo+ICBzdGF0aWMgY29uc3Qgc3RydWN0IGRybV9jcnRjX2hlbHBlcl9mdW5jcyBtZHA1X2Ny dGNfaGVscGVyX2Z1bmNzID0gewo+ICAJLm1vZGVfc2V0X25vZmIgPSBtZHA1X2NydGNfbW9kZV9z ZXRfbm9mYiwKPiAgCS5kaXNhYmxlID0gbWRwNV9jcnRjX2Rpc2FibGUsCj4gLQkuZW5hYmxlID0g bWRwNV9jcnRjX2VuYWJsZSwKPiAgCS5hdG9taWNfY2hlY2sgPSBtZHA1X2NydGNfYXRvbWljX2No ZWNrLAo+ICAJLmF0b21pY19iZWdpbiA9IG1kcDVfY3J0Y19hdG9taWNfYmVnaW4sCj4gIAkuYXRv bWljX2ZsdXNoID0gbWRwNV9jcnRjX2F0b21pY19mbHVzaCwKPiArCS5hdG9taWNfZW5hYmxlID0g bWRwNV9jcnRjX2F0b21pY19lbmFibGUsCj4gIH07Cj4gIAo+ICBzdGF0aWMgdm9pZCBtZHA1X2Ny dGNfdmJsYW5rX2lycShzdHJ1Y3QgbWRwX2lycSAqaXJxLCB1aW50MzJfdCBpcnFzdGF0dXMpCj4g ZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9vbWFwZHJtL29tYXBfY3J0Yy5jIGIvZHJpdmVy cy9ncHUvZHJtL29tYXBkcm0vb21hcF9jcnRjLmMKPiBpbmRleCBkZDBlZjQwY2E0NjkuLjdhMWI3 YTljYzI3MCAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vb21hcGRybS9vbWFwX2NydGMu Ywo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9vbWFwZHJtL29tYXBfY3J0Yy5jCj4gQEAgLTM1Niw3 ICszNTYsOCBAQCBzdGF0aWMgdm9pZCBvbWFwX2NydGNfYXJtX2V2ZW50KHN0cnVjdCBkcm1fY3J0 YyAqY3J0YykKPiAgCX0KPiAgfQo+ICAKPiAtc3RhdGljIHZvaWQgb21hcF9jcnRjX2VuYWJsZShz dHJ1Y3QgZHJtX2NydGMgKmNydGMpCj4gK3N0YXRpYyB2b2lkIG9tYXBfY3J0Y19hdG9taWNfZW5h YmxlKHN0cnVjdCBkcm1fY3J0YyAqY3J0YywKPiArCQkJCSAgICBzdHJ1Y3QgZHJtX2NydGNfc3Rh dGUgKm9sZF9zdGF0ZSkKPiAgewo+ICAJc3RydWN0IG9tYXBfY3J0YyAqb21hcF9jcnRjID0gdG9f b21hcF9jcnRjKGNydGMpOwo+ICAJaW50IHJldDsKPiBAQCAtNTY4LDEwICs1NjksMTAgQEAgc3Rh dGljIGNvbnN0IHN0cnVjdCBkcm1fY3J0Y19mdW5jcyBvbWFwX2NydGNfZnVuY3MgPSB7Cj4gIHN0 YXRpYyBjb25zdCBzdHJ1Y3QgZHJtX2NydGNfaGVscGVyX2Z1bmNzIG9tYXBfY3J0Y19oZWxwZXJf ZnVuY3MgPSB7Cj4gIAkubW9kZV9zZXRfbm9mYiA9IG9tYXBfY3J0Y19tb2RlX3NldF9ub2ZiLAo+ ICAJLmRpc2FibGUgPSBvbWFwX2NydGNfZGlzYWJsZSwKPiAtCS5lbmFibGUgPSBvbWFwX2NydGNf ZW5hYmxlLAo+ICAJLmF0b21pY19jaGVjayA9IG9tYXBfY3J0Y19hdG9taWNfY2hlY2ssCj4gIAku YXRvbWljX2JlZ2luID0gb21hcF9jcnRjX2F0b21pY19iZWdpbiwKPiAgCS5hdG9taWNfZmx1c2gg PSBvbWFwX2NydGNfYXRvbWljX2ZsdXNoLAo+ICsJLmF0b21pY19lbmFibGUgPSBvbWFwX2NydGNf YXRvbWljX2VuYWJsZSwKPiAgfTsKPiAgCj4gIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCj4gZGlm ZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9xeGwvcXhsX2Rpc3BsYXkuYyBiL2RyaXZlcnMvZ3B1 L2RybS9xeGwvcXhsX2Rpc3BsYXkuYwo+IGluZGV4IDdlZGU1ZjEzMWE1Yy4uZWE5NWU3ZTdjYzdm IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9xeGwvcXhsX2Rpc3BsYXkuYwo+ICsrKyBi L2RyaXZlcnMvZ3B1L2RybS9xeGwvcXhsX2Rpc3BsYXkuYwo+IEBAIC00NDcsNyArNDQ3LDggQEAg c3RhdGljIHZvaWQgcXhsX21vZGVfc2V0X25vZmIoc3RydWN0IGRybV9jcnRjICpjcnRjKQo+ICAK PiAgfQo+ICAKPiAtc3RhdGljIHZvaWQgcXhsX2NydGNfZW5hYmxlKHN0cnVjdCBkcm1fY3J0YyAq Y3J0YykKPiArc3RhdGljIHZvaWQgcXhsX2NydGNfYXRvbWljX2VuYWJsZShzdHJ1Y3QgZHJtX2Ny dGMgKmNydGMsCj4gKwkJCQkgICBzdHJ1Y3QgZHJtX2NydGNfc3RhdGUgKm9sZF9zdGF0ZSkKPiAg ewo+ICAJRFJNX0RFQlVHKCJcbiIpOwo+ICB9Cj4gQEAgLTQ2Niw4ICs0NjcsOCBAQCBzdGF0aWMg Y29uc3Qgc3RydWN0IGRybV9jcnRjX2hlbHBlcl9mdW5jcyBxeGxfY3J0Y19oZWxwZXJfZnVuY3Mg PSB7Cj4gIAkuZGlzYWJsZSA9IHF4bF9jcnRjX2Rpc2FibGUsCj4gIAkubW9kZV9maXh1cCA9IHF4 bF9jcnRjX21vZGVfZml4dXAsCj4gIAkubW9kZV9zZXRfbm9mYiA9IHF4bF9tb2RlX3NldF9ub2Zi LAo+IC0JLmVuYWJsZSA9IHF4bF9jcnRjX2VuYWJsZSwKPiAgCS5hdG9taWNfZmx1c2ggPSBxeGxf Y3J0Y19hdG9taWNfZmx1c2gsCj4gKwkuYXRvbWljX2VuYWJsZSA9IHF4bF9jcnRjX2F0b21pY19l bmFibGUsCj4gIH07Cj4gIAo+ICBzdGF0aWMgaW50IHF4bF9wcmltYXJ5X2F0b21pY19jaGVjayhz dHJ1Y3QgZHJtX3BsYW5lICpwbGFuZSwKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3Jj YXItZHUvcmNhcl9kdV9jcnRjLmMgYi9kcml2ZXJzL2dwdS9kcm0vcmNhci1kdS9yY2FyX2R1X2Ny dGMuYwo+IGluZGV4IDM0NWVmZjcyZjU4MS4uNmFhM2ZhOGQwNmY5IDEwMDY0NAo+IC0tLSBhL2Ry aXZlcnMvZ3B1L2RybS9yY2FyLWR1L3JjYXJfZHVfY3J0Yy5jCj4gKysrIGIvZHJpdmVycy9ncHUv ZHJtL3JjYXItZHUvcmNhcl9kdV9jcnRjLmMKPiBAQCAtNTUyLDcgKzU1Miw4IEBAIHZvaWQgcmNh cl9kdV9jcnRjX3Jlc3VtZShzdHJ1Y3QgcmNhcl9kdV9jcnRjICpyY3J0YykKPiAgICogQ1JUQyBG dW5jdGlvbnMKPiAgICovCj4gIAo+IC1zdGF0aWMgdm9pZCByY2FyX2R1X2NydGNfZW5hYmxlKHN0 cnVjdCBkcm1fY3J0YyAqY3J0YykKPiArc3RhdGljIHZvaWQgcmNhcl9kdV9jcnRjX2F0b21pY19l bmFibGUoc3RydWN0IGRybV9jcnRjICpjcnRjLAo+ICsJCQkJICAgICAgIHN0cnVjdCBkcm1fY3J0 Y19zdGF0ZSAqb2xkX3N0YXRlKQo+ICB7Cj4gIAlzdHJ1Y3QgcmNhcl9kdV9jcnRjICpyY3J0YyA9 IHRvX3JjYXJfY3J0YyhjcnRjKTsKPiAgCj4gQEAgLTYxMCw5ICs2MTEsOSBAQCBzdGF0aWMgdm9p ZCByY2FyX2R1X2NydGNfYXRvbWljX2ZsdXNoKHN0cnVjdCBkcm1fY3J0YyAqY3J0YywKPiAgCj4g IHN0YXRpYyBjb25zdCBzdHJ1Y3QgZHJtX2NydGNfaGVscGVyX2Z1bmNzIGNydGNfaGVscGVyX2Z1 bmNzID0gewo+ICAJLmRpc2FibGUgPSByY2FyX2R1X2NydGNfZGlzYWJsZSwKPiAtCS5lbmFibGUg PSByY2FyX2R1X2NydGNfZW5hYmxlLAo+ICAJLmF0b21pY19iZWdpbiA9IHJjYXJfZHVfY3J0Y19h dG9taWNfYmVnaW4sCj4gIAkuYXRvbWljX2ZsdXNoID0gcmNhcl9kdV9jcnRjX2F0b21pY19mbHVz aCwKPiArCS5hdG9taWNfZW5hYmxlID0gcmNhcl9kdV9jcnRjX2F0b21pY19lbmFibGUsCj4gIH07 Cj4gIAo+ICBzdGF0aWMgaW50IHJjYXJfZHVfY3J0Y19lbmFibGVfdmJsYW5rKHN0cnVjdCBkcm1f Y3J0YyAqY3J0YykKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3JvY2tjaGlwL3JvY2tj aGlwX2RybV92b3AuYyBiL2RyaXZlcnMvZ3B1L2RybS9yb2NrY2hpcC9yb2NrY2hpcF9kcm1fdm9w LmMKPiBpbmRleCA1ZDQ1MDMzMmMyZmQuLmJiNTlmNzQxMDYzNCAxMDA2NDQKPiAtLS0gYS9kcml2 ZXJzL2dwdS9kcm0vcm9ja2NoaXAvcm9ja2NoaXBfZHJtX3ZvcC5jCj4gKysrIGIvZHJpdmVycy9n cHUvZHJtL3JvY2tjaGlwL3JvY2tjaGlwX2RybV92b3AuYwo+IEBAIC04NzEsNyArODcxLDggQEAg c3RhdGljIGJvb2wgdm9wX2NydGNfbW9kZV9maXh1cChzdHJ1Y3QgZHJtX2NydGMgKmNydGMsCj4g IAlyZXR1cm4gdHJ1ZTsKPiAgfQo+ICAKPiAtc3RhdGljIHZvaWQgdm9wX2NydGNfZW5hYmxlKHN0 cnVjdCBkcm1fY3J0YyAqY3J0YykKPiArc3RhdGljIHZvaWQgdm9wX2NydGNfYXRvbWljX2VuYWJs ZShzdHJ1Y3QgZHJtX2NydGMgKmNydGMsCj4gKwkJCQkgICBzdHJ1Y3QgZHJtX2NydGNfc3RhdGUg Km9sZF9zdGF0ZSkKPiAgewo+ICAJc3RydWN0IHZvcCAqdm9wID0gdG9fdm9wKGNydGMpOwo+ICAJ Y29uc3Qgc3RydWN0IHZvcF9kYXRhICp2b3BfZGF0YSA9IHZvcC0+ZGF0YTsKPiBAQCAtMTA3OSwx MSArMTA4MCwxMSBAQCBzdGF0aWMgdm9pZCB2b3BfY3J0Y19hdG9taWNfYmVnaW4oc3RydWN0IGRy bV9jcnRjICpjcnRjLAo+ICB9Cj4gIAo+ICBzdGF0aWMgY29uc3Qgc3RydWN0IGRybV9jcnRjX2hl bHBlcl9mdW5jcyB2b3BfY3J0Y19oZWxwZXJfZnVuY3MgPSB7Cj4gLQkuZW5hYmxlID0gdm9wX2Ny dGNfZW5hYmxlLAo+ICAJLmRpc2FibGUgPSB2b3BfY3J0Y19kaXNhYmxlLAo+ICAJLm1vZGVfZml4 dXAgPSB2b3BfY3J0Y19tb2RlX2ZpeHVwLAo+ICAJLmF0b21pY19mbHVzaCA9IHZvcF9jcnRjX2F0 b21pY19mbHVzaCwKPiAgCS5hdG9taWNfYmVnaW4gPSB2b3BfY3J0Y19hdG9taWNfYmVnaW4sCj4g KwkuYXRvbWljX2VuYWJsZSA9IHZvcF9jcnRjX2F0b21pY19lbmFibGUsCj4gIH07Cj4gIAo+ICBz dGF0aWMgdm9pZCB2b3BfY3J0Y19kZXN0cm95KHN0cnVjdCBkcm1fY3J0YyAqY3J0YykKPiBkaWZm IC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3N0aS9zdGlfY3J0Yy5jIGIvZHJpdmVycy9ncHUvZHJt L3N0aS9zdGlfY3J0Yy5jCj4gaW5kZXggZDQ1YTQzMzVkZjVkLi5iYjg2NDM0NWZlZGYgMTAwNjQ0 Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL3N0aS9zdGlfY3J0Yy5jCj4gKysrIGIvZHJpdmVycy9n cHUvZHJtL3N0aS9zdGlfY3J0Yy5jCj4gQEAgLTIwLDcgKzIwLDggQEAKPiAgI2luY2x1ZGUgInN0 aV92aWQuaCIKPiAgI2luY2x1ZGUgInN0aV92dGcuaCIKPiAgCj4gLXN0YXRpYyB2b2lkIHN0aV9j cnRjX2VuYWJsZShzdHJ1Y3QgZHJtX2NydGMgKmNydGMpCj4gK3N0YXRpYyB2b2lkIHN0aV9jcnRj X2F0b21pY19lbmFibGUoc3RydWN0IGRybV9jcnRjICpjcnRjLAo+ICsJCQkJICAgc3RydWN0IGRy bV9jcnRjX3N0YXRlICpvbGRfc3RhdGUpCj4gIHsKPiAgCXN0cnVjdCBzdGlfbWl4ZXIgKm1peGVy ID0gdG9fc3RpX21peGVyKGNydGMpOwo+ICAKPiBAQCAtMjIyLDEwICsyMjMsMTAgQEAgc3RhdGlj IHZvaWQgc3RpX2NydGNfYXRvbWljX2ZsdXNoKHN0cnVjdCBkcm1fY3J0YyAqY3J0YywKPiAgfQo+ ICAKPiAgc3RhdGljIGNvbnN0IHN0cnVjdCBkcm1fY3J0Y19oZWxwZXJfZnVuY3Mgc3RpX2NydGNf aGVscGVyX2Z1bmNzID0gewo+IC0JLmVuYWJsZSA9IHN0aV9jcnRjX2VuYWJsZSwKPiAgCS5kaXNh YmxlID0gc3RpX2NydGNfZGlzYWJsaW5nLAo+ICAJLm1vZGVfc2V0X25vZmIgPSBzdGlfY3J0Y19t b2RlX3NldF9ub2ZiLAo+ICAJLmF0b21pY19mbHVzaCA9IHN0aV9jcnRjX2F0b21pY19mbHVzaCwK PiArCS5hdG9taWNfZW5hYmxlID0gc3RpX2NydGNfYXRvbWljX2VuYWJsZSwKPiAgfTsKPiAgCj4g IHN0YXRpYyB2b2lkIHN0aV9jcnRjX2Rlc3Ryb3koc3RydWN0IGRybV9jcnRjICpjcnRjKQo+IGRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vc3RtL2x0ZGMuYyBiL2RyaXZlcnMvZ3B1L2RybS9z dG0vbHRkYy5jCj4gaW5kZXggMWI5NDgzZDRmMmE0Li4zMzdmY2UwMDRkMDggMTAwNjQ0Cj4gLS0t IGEvZHJpdmVycy9ncHUvZHJtL3N0bS9sdGRjLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vc3Rt L2x0ZGMuYwo+IEBAIC0zODYsNyArMzg2LDggQEAgc3RhdGljIHZvaWQgbHRkY19jcnRjX2xvYWRf bHV0KHN0cnVjdCBkcm1fY3J0YyAqY3J0YykKPiAgCQkJCSAgbGRldi0+Y2x1dFtpXSk7Cj4gIH0K PiAgCj4gLXN0YXRpYyB2b2lkIGx0ZGNfY3J0Y19lbmFibGUoc3RydWN0IGRybV9jcnRjICpjcnRj KQo+ICtzdGF0aWMgdm9pZCBsdGRjX2NydGNfYXRvbWljX2VuYWJsZShzdHJ1Y3QgZHJtX2NydGMg KmNydGMsCj4gKwkJCQkgICAgc3RydWN0IGRybV9jcnRjX3N0YXRlICpvbGRfc3RhdGUpCj4gIHsK PiAgCXN0cnVjdCBsdGRjX2RldmljZSAqbGRldiA9IGNydGNfdG9fbHRkYyhjcnRjKTsKPiAgCj4g QEAgLTUyNCwxMCArNTI1LDEwIEBAIHN0YXRpYyB2b2lkIGx0ZGNfY3J0Y19hdG9taWNfZmx1c2go c3RydWN0IGRybV9jcnRjICpjcnRjLAo+ICAKPiAgc3RhdGljIHN0cnVjdCBkcm1fY3J0Y19oZWxw ZXJfZnVuY3MgbHRkY19jcnRjX2hlbHBlcl9mdW5jcyA9IHsKPiAgCS5sb2FkX2x1dCA9IGx0ZGNf Y3J0Y19sb2FkX2x1dCwKPiAtCS5lbmFibGUgPSBsdGRjX2NydGNfZW5hYmxlLAo+ICAJLmRpc2Fi bGUgPSBsdGRjX2NydGNfZGlzYWJsZSwKPiAgCS5tb2RlX3NldF9ub2ZiID0gbHRkY19jcnRjX21v ZGVfc2V0X25vZmIsCj4gIAkuYXRvbWljX2ZsdXNoID0gbHRkY19jcnRjX2F0b21pY19mbHVzaCwK PiArCS5hdG9taWNfZW5hYmxlID0gbHRkY19jcnRjX2F0b21pY19lbmFibGUsCj4gIH07Cj4gIAo+ ICBpbnQgbHRkY19jcnRjX2VuYWJsZV92Ymxhbmsoc3RydWN0IGRybV9kZXZpY2UgKmRkZXYsIHVu c2lnbmVkIGludCBwaXBlKQo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vc3VuNGkvc3Vu NGlfY3J0Yy5jIGIvZHJpdmVycy9ncHUvZHJtL3N1bjRpL3N1bjRpX2NydGMuYwo+IGluZGV4IGY4 YzcwNDM5ZDFlMi4uNTA5ZTRkODAxNGYzIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9z dW40aS9zdW40aV9jcnRjLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vc3VuNGkvc3VuNGlfY3J0 Yy5jCj4gQEAgLTg2LDcgKzg2LDggQEAgc3RhdGljIHZvaWQgc3VuNGlfY3J0Y19kaXNhYmxlKHN0 cnVjdCBkcm1fY3J0YyAqY3J0YykKPiAgCX0KPiAgfQo+ICAKPiAtc3RhdGljIHZvaWQgc3VuNGlf Y3J0Y19lbmFibGUoc3RydWN0IGRybV9jcnRjICpjcnRjKQo+ICtzdGF0aWMgdm9pZCBzdW40aV9j cnRjX2F0b21pY19lbmFibGUoc3RydWN0IGRybV9jcnRjICpjcnRjLAo+ICsJCQkJICAgICBzdHJ1 Y3QgZHJtX2NydGNfc3RhdGUgKm9sZF9zdGF0ZSkKPiAgewo+ICAJc3RydWN0IHN1bjRpX2NydGMg KnNjcnRjID0gZHJtX2NydGNfdG9fc3VuNGlfY3J0YyhjcnRjKTsKPiAgCj4gQEAgLTk4LDggKzk5 LDggQEAgc3RhdGljIHZvaWQgc3VuNGlfY3J0Y19lbmFibGUoc3RydWN0IGRybV9jcnRjICpjcnRj KQo+ICBzdGF0aWMgY29uc3Qgc3RydWN0IGRybV9jcnRjX2hlbHBlcl9mdW5jcyBzdW40aV9jcnRj X2hlbHBlcl9mdW5jcyA9IHsKPiAgCS5hdG9taWNfYmVnaW4JPSBzdW40aV9jcnRjX2F0b21pY19i ZWdpbiwKPiAgCS5hdG9taWNfZmx1c2gJPSBzdW40aV9jcnRjX2F0b21pY19mbHVzaCwKPiArCS5h dG9taWNfZW5hYmxlCT0gc3VuNGlfY3J0Y19hdG9taWNfZW5hYmxlLAo+ICAJLmRpc2FibGUJPSBz dW40aV9jcnRjX2Rpc2FibGUsCj4gLQkuZW5hYmxlCQk9IHN1bjRpX2NydGNfZW5hYmxlLAo+ICB9 Owo+ICAKPiAgc3RhdGljIGludCBzdW40aV9jcnRjX2VuYWJsZV92Ymxhbmsoc3RydWN0IGRybV9j cnRjICpjcnRjKQo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vdGVncmEvZGMuYyBiL2Ry aXZlcnMvZ3B1L2RybS90ZWdyYS9kYy5jCj4gaW5kZXggYzg3NWYxMTc4NmI5Li4yZTBkMTY3Y2I2 NTcgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL3RlZ3JhL2RjLmMKPiArKysgYi9kcml2 ZXJzL2dwdS9kcm0vdGVncmEvZGMuYwo+IEBAIC0xMjQzLDcgKzEyNDMsOCBAQCBzdGF0aWMgdm9p ZCB0ZWdyYV9jcnRjX2Rpc2FibGUoc3RydWN0IGRybV9jcnRjICpjcnRjKQo+ICAJcG1fcnVudGlt ZV9wdXRfc3luYyhkYy0+ZGV2KTsKPiAgfQo+ICAKPiAtc3RhdGljIHZvaWQgdGVncmFfY3J0Y19l bmFibGUoc3RydWN0IGRybV9jcnRjICpjcnRjKQo+ICtzdGF0aWMgdm9pZCB0ZWdyYV9jcnRjX2F0 b21pY19lbmFibGUoc3RydWN0IGRybV9jcnRjICpjcnRjLAo+ICsJCQkJICAgICBzdHJ1Y3QgZHJt X2NydGNfc3RhdGUgKm9sZF9zdGF0ZSkKPiAgewo+ICAJc3RydWN0IGRybV9kaXNwbGF5X21vZGUg Km1vZGUgPSAmY3J0Yy0+c3RhdGUtPmFkanVzdGVkX21vZGU7Cj4gIAlzdHJ1Y3QgdGVncmFfZGNf c3RhdGUgKnN0YXRlID0gdG9fZGNfc3RhdGUoY3J0Yy0+c3RhdGUpOwo+IEBAIC0xMzUyLDEwICsx MzUzLDEwIEBAIHN0YXRpYyB2b2lkIHRlZ3JhX2NydGNfYXRvbWljX2ZsdXNoKHN0cnVjdCBkcm1f Y3J0YyAqY3J0YywKPiAgCj4gIHN0YXRpYyBjb25zdCBzdHJ1Y3QgZHJtX2NydGNfaGVscGVyX2Z1 bmNzIHRlZ3JhX2NydGNfaGVscGVyX2Z1bmNzID0gewo+ICAJLmRpc2FibGUgPSB0ZWdyYV9jcnRj X2Rpc2FibGUsCj4gLQkuZW5hYmxlID0gdGVncmFfY3J0Y19lbmFibGUsCj4gIAkuYXRvbWljX2No ZWNrID0gdGVncmFfY3J0Y19hdG9taWNfY2hlY2ssCj4gIAkuYXRvbWljX2JlZ2luID0gdGVncmFf Y3J0Y19hdG9taWNfYmVnaW4sCj4gIAkuYXRvbWljX2ZsdXNoID0gdGVncmFfY3J0Y19hdG9taWNf Zmx1c2gsCj4gKwkuYXRvbWljX2VuYWJsZSA9IHRlZ3JhX2NydGNfYXRvbWljX2VuYWJsZSwKPiAg fTsKPiAgCj4gIHN0YXRpYyBpcnFyZXR1cm5fdCB0ZWdyYV9kY19pcnEoaW50IGlycSwgdm9pZCAq ZGF0YSkKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3RpbGNkYy90aWxjZGNfY3J0Yy5j IGIvZHJpdmVycy9ncHUvZHJtL3RpbGNkYy90aWxjZGNfY3J0Yy5jCj4gaW5kZXggZDUyNGVkMGQ1 MTQ2Li42YzU4OTI3NjNkMjcgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL3RpbGNkYy90 aWxjZGNfY3J0Yy5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL3RpbGNkYy90aWxjZGNfY3J0Yy5j Cj4gQEAgLTUwNCw2ICs1MDQsMTIgQEAgc3RhdGljIHZvaWQgdGlsY2RjX2NydGNfZW5hYmxlKHN0 cnVjdCBkcm1fY3J0YyAqY3J0YykKPiAgCW11dGV4X3VubG9jaygmdGlsY2RjX2NydGMtPmVuYWJs ZV9sb2NrKTsKPiAgfQo+ICAKPiArc3RhdGljIHZvaWQgdGlsY2RjX2NydGNfYXRvbWljX2VuYWJs ZShzdHJ1Y3QgZHJtX2NydGMgKmNydGMsCj4gKwkJCQkgICAgICBzdHJ1Y3QgZHJtX2NydGNfc3Rh dGUgKm9sZF9zdGF0ZSkKPiArewo+ICsJdGlsY2RjX2NydGNfZW5hYmxlKGNydGMpOwo+ICt9Cj4g Kwo+ICBzdGF0aWMgdm9pZCB0aWxjZGNfY3J0Y19vZmYoc3RydWN0IGRybV9jcnRjICpjcnRjLCBi b29sIHNodXRkb3duKQo+ICB7Cj4gIAlzdHJ1Y3QgdGlsY2RjX2NydGMgKnRpbGNkY19jcnRjID0g dG9fdGlsY2RjX2NydGMoY3J0Yyk7Cj4gQEAgLTcyOSw5ICs3MzUsOSBAQCBzdGF0aWMgY29uc3Qg c3RydWN0IGRybV9jcnRjX2Z1bmNzIHRpbGNkY19jcnRjX2Z1bmNzID0gewo+ICAKPiAgc3RhdGlj IGNvbnN0IHN0cnVjdCBkcm1fY3J0Y19oZWxwZXJfZnVuY3MgdGlsY2RjX2NydGNfaGVscGVyX2Z1 bmNzID0gewo+ICAJCS5tb2RlX2ZpeHVwICAgICA9IHRpbGNkY19jcnRjX21vZGVfZml4dXAsCj4g LQkJLmVuYWJsZQkJPSB0aWxjZGNfY3J0Y19lbmFibGUsCj4gIAkJLmRpc2FibGUJPSB0aWxjZGNf Y3J0Y19kaXNhYmxlLAo+ICAJCS5hdG9taWNfY2hlY2sJPSB0aWxjZGNfY3J0Y19hdG9taWNfY2hl Y2ssCj4gKwkJLmF0b21pY19lbmFibGUJPSB0aWxjZGNfY3J0Y19hdG9taWNfZW5hYmxlLAo+ICB9 Owo+ICAKPiAgaW50IHRpbGNkY19jcnRjX21heF93aWR0aChzdHJ1Y3QgZHJtX2NydGMgKmNydGMp Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS92YzQvdmM0X2NydGMuYyBiL2RyaXZlcnMv Z3B1L2RybS92YzQvdmM0X2NydGMuYwo+IGluZGV4IGYyMGMwMTc1OWMwZC4uNGMwM2E1NjViMjc2 IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS92YzQvdmM0X2NydGMuYwo+ICsrKyBiL2Ry aXZlcnMvZ3B1L2RybS92YzQvdmM0X2NydGMuYwo+IEBAIC01MzMsNyArNTMzLDggQEAgc3RhdGlj IHZvaWQgdmM0X2NydGNfZGlzYWJsZShzdHJ1Y3QgZHJtX2NydGMgKmNydGMpCj4gIAl9Cj4gIH0K PiAgCj4gLXN0YXRpYyB2b2lkIHZjNF9jcnRjX2VuYWJsZShzdHJ1Y3QgZHJtX2NydGMgKmNydGMp Cj4gK3N0YXRpYyB2b2lkIHZjNF9jcnRjX2F0b21pY19lbmFibGUoc3RydWN0IGRybV9jcnRjICpj cnRjLAo+ICsJCQkJICAgc3RydWN0IGRybV9jcnRjX3N0YXRlICpvbGRfc3RhdGUpCj4gIHsKPiAg CXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBjcnRjLT5kZXY7Cj4gIAlzdHJ1Y3QgdmM0X2RldiAq dmM0ID0gdG9fdmM0X2RldihkZXYpOwo+IEBAIC04NzAsMTAgKzg3MSwxMCBAQCBzdGF0aWMgY29u c3Qgc3RydWN0IGRybV9jcnRjX2Z1bmNzIHZjNF9jcnRjX2Z1bmNzID0gewo+ICBzdGF0aWMgY29u c3Qgc3RydWN0IGRybV9jcnRjX2hlbHBlcl9mdW5jcyB2YzRfY3J0Y19oZWxwZXJfZnVuY3MgPSB7 Cj4gIAkubW9kZV9zZXRfbm9mYiA9IHZjNF9jcnRjX21vZGVfc2V0X25vZmIsCj4gIAkuZGlzYWJs ZSA9IHZjNF9jcnRjX2Rpc2FibGUsCj4gLQkuZW5hYmxlID0gdmM0X2NydGNfZW5hYmxlLAo+ICAJ Lm1vZGVfdmFsaWQgPSB2YzRfY3J0Y19tb2RlX3ZhbGlkLAo+ICAJLmF0b21pY19jaGVjayA9IHZj NF9jcnRjX2F0b21pY19jaGVjaywKPiAgCS5hdG9taWNfZmx1c2ggPSB2YzRfY3J0Y19hdG9taWNf Zmx1c2gsCj4gKwkuYXRvbWljX2VuYWJsZSA9IHZjNF9jcnRjX2F0b21pY19lbmFibGUsCj4gIH07 Cj4gIAo+ICBzdGF0aWMgY29uc3Qgc3RydWN0IHZjNF9jcnRjX2RhdGEgcHYwX2RhdGEgPSB7Cj4g ZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS92aXJ0aW8vdmlydGdwdV9kaXNwbGF5LmMgYi9k cml2ZXJzL2dwdS9kcm0vdmlydGlvL3ZpcnRncHVfZGlzcGxheS5jCj4gaW5kZXggZDUxYmQ0NTIx ZjE3Li4wM2EzYzEyZWQxMDAgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL3ZpcnRpby92 aXJ0Z3B1X2Rpc3BsYXkuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS92aXJ0aW8vdmlydGdwdV9k aXNwbGF5LmMKPiBAQCAtMTEzLDcgKzExMyw4IEBAIHN0YXRpYyB2b2lkIHZpcnRpb19ncHVfY3J0 Y19tb2RlX3NldF9ub2ZiKHN0cnVjdCBkcm1fY3J0YyAqY3J0YykKPiAgCQkJCSAgIGNydGMtPm1v ZGUudmRpc3BsYXksIDAsIDApOwo+ICB9Cj4gIAo+IC1zdGF0aWMgdm9pZCB2aXJ0aW9fZ3B1X2Ny dGNfZW5hYmxlKHN0cnVjdCBkcm1fY3J0YyAqY3J0YykKPiArc3RhdGljIHZvaWQgdmlydGlvX2dw dV9jcnRjX2F0b21pY19lbmFibGUoc3RydWN0IGRybV9jcnRjICpjcnRjLAo+ICsJCQkJCSAgc3Ry dWN0IGRybV9jcnRjX3N0YXRlICpvbGRfc3RhdGUpCj4gIHsKPiAgfQo+ICAKPiBAQCAtMTQ1LDEx ICsxNDYsMTEgQEAgc3RhdGljIHZvaWQgdmlydGlvX2dwdV9jcnRjX2F0b21pY19mbHVzaChzdHJ1 Y3QgZHJtX2NydGMgKmNydGMsCj4gIH0KPiAgCj4gIHN0YXRpYyBjb25zdCBzdHJ1Y3QgZHJtX2Ny dGNfaGVscGVyX2Z1bmNzIHZpcnRpb19ncHVfY3J0Y19oZWxwZXJfZnVuY3MgPSB7Cj4gLQkuZW5h YmxlICAgICAgICA9IHZpcnRpb19ncHVfY3J0Y19lbmFibGUsCj4gIAkuZGlzYWJsZSAgICAgICA9 IHZpcnRpb19ncHVfY3J0Y19kaXNhYmxlLAo+ICAJLm1vZGVfc2V0X25vZmIgPSB2aXJ0aW9fZ3B1 X2NydGNfbW9kZV9zZXRfbm9mYiwKPiAgCS5hdG9taWNfY2hlY2sgID0gdmlydGlvX2dwdV9jcnRj X2F0b21pY19jaGVjaywKPiAgCS5hdG9taWNfZmx1c2ggID0gdmlydGlvX2dwdV9jcnRjX2F0b21p Y19mbHVzaCwKPiArCS5hdG9taWNfZW5hYmxlID0gdmlydGlvX2dwdV9jcnRjX2F0b21pY19lbmFi bGUsCj4gIH07Cj4gIAo+ICBzdGF0aWMgdm9pZCB2aXJ0aW9fZ3B1X2VuY19tb2RlX3NldChzdHJ1 Y3QgZHJtX2VuY29kZXIgKmVuY29kZXIsCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS92 bXdnZngvdm13Z2Z4X2xkdS5jIGIvZHJpdmVycy9ncHUvZHJtL3Ztd2dmeC92bXdnZnhfbGR1LmMK PiBpbmRleCBmOGFjZDNhMTU1MjMuLjgzMmI4M2M1ODJjMiAxMDA2NDQKPiAtLS0gYS9kcml2ZXJz L2dwdS9kcm0vdm13Z2Z4L3Ztd2dmeF9sZHUuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS92bXdn Zngvdm13Z2Z4X2xkdS5jCj4gQEAgLTIwMyw3ICsyMDMsNyBAQCBzdGF0aWMgdm9pZCB2bXdfbGR1 X2NydGNfbW9kZV9zZXRfbm9mYihzdHJ1Y3QgZHJtX2NydGMgKmNydGMpCj4gIH0KPiAgCj4gIC8q Kgo+IC0gKiB2bXdfbGR1X2NydGNfaGVscGVyX2VuYWJsZSAtIE5vb3AKPiArICogdm13X2xkdV9j cnRjX2F0b21pY19lbmFibGUgLSBOb29wCj4gICAqCj4gICAqIEBjcnRjOiBDUlRDIGFzc29jaWF0 ZWQgd2l0aCB0aGUgbmV3IHNjcmVlbgo+ICAgKgo+IEBAIC0yMTIsNyArMjEyLDggQEAgc3RhdGlj IHZvaWQgdm13X2xkdV9jcnRjX21vZGVfc2V0X25vZmIoc3RydWN0IGRybV9jcnRjICpjcnRjKQo+ ICAgKiBidXQgc2luY2UgZm9yIExEVSB0aGUgZGlzcGxheSBwbGFuZSBpcyBjbG9zZWx5IHRpZWQg dG8gdGhlCj4gICAqIENSVEMsIGl0IG1ha2VzIG1vcmUgc2Vuc2UgdG8gZG8gdGhvc2UgYXQgcGxh bmUgdXBkYXRlIHRpbWUuCj4gICAqLwo+IC1zdGF0aWMgdm9pZCB2bXdfbGR1X2NydGNfaGVscGVy X2VuYWJsZShzdHJ1Y3QgZHJtX2NydGMgKmNydGMpCj4gK3N0YXRpYyB2b2lkIHZtd19sZHVfY3J0 Y19hdG9taWNfZW5hYmxlKHN0cnVjdCBkcm1fY3J0YyAqY3J0YywKPiArCQkJCSAgICAgICBzdHJ1 Y3QgZHJtX2NydGNfc3RhdGUgKm9sZF9zdGF0ZSkKPiAgewo+ICB9Cj4gIAo+IEBAIC0zNzYsMTIg KzM3NywxMiBAQCBkcm1fcGxhbmVfaGVscGVyX2Z1bmNzIHZtd19sZHVfcHJpbWFyeV9wbGFuZV9o ZWxwZXJfZnVuY3MgPSB7Cj4gIH07Cj4gIAo+ICBzdGF0aWMgY29uc3Qgc3RydWN0IGRybV9jcnRj X2hlbHBlcl9mdW5jcyB2bXdfbGR1X2NydGNfaGVscGVyX2Z1bmNzID0gewo+IC0JLmVuYWJsZSA9 IHZtd19sZHVfY3J0Y19oZWxwZXJfZW5hYmxlLAo+ICAJLmRpc2FibGUgPSB2bXdfbGR1X2NydGNf aGVscGVyX2Rpc2FibGUsCj4gIAkubW9kZV9zZXRfbm9mYiA9IHZtd19sZHVfY3J0Y19tb2RlX3Nl dF9ub2ZiLAo+ICAJLmF0b21pY19jaGVjayA9IHZtd19kdV9jcnRjX2F0b21pY19jaGVjaywKPiAg CS5hdG9taWNfYmVnaW4gPSB2bXdfZHVfY3J0Y19hdG9taWNfYmVnaW4sCj4gIAkuYXRvbWljX2Zs dXNoID0gdm13X2R1X2NydGNfYXRvbWljX2ZsdXNoLAo+ICsJLmF0b21pY19lbmFibGUgPSB2bXdf bGR1X2NydGNfYXRvbWljX2VuYWJsZSwKPiAgfTsKPiAgCj4gIAo+IGRpZmYgLS1naXQgYS9kcml2 ZXJzL2dwdS9kcm0vdm13Z2Z4L3Ztd2dmeF9zY3JuLmMgYi9kcml2ZXJzL2dwdS9kcm0vdm13Z2Z4 L3Ztd2dmeF9zY3JuLmMKPiBpbmRleCAxY2I4MjZjNTAzYmYuLjhiYTNiYWQwNjkwOSAxMDA2NDQK PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vdm13Z2Z4L3Ztd2dmeF9zY3JuLmMKPiArKysgYi9kcml2 ZXJzL2dwdS9kcm0vdm13Z2Z4L3Ztd2dmeF9zY3JuLmMKPiBAQCAtMjcwLDEzICsyNzAsMTQgQEAg c3RhdGljIHZvaWQgdm13X3NvdV9jcnRjX2hlbHBlcl9wcmVwYXJlKHN0cnVjdCBkcm1fY3J0YyAq Y3J0YykKPiAgfQo+ICAKPiAgLyoqCj4gLSAqIHZtd19zb3VfY3J0Y19oZWxwZXJfZW5hYmxlIC0g Tm9vcAo+ICsgKiB2bXdfc291X2NydGNfYXRvbWljX2VuYWJsZSAtIE5vb3AKPiAgICoKPiAgICog QGNydGM6IENSVEMgYXNzb2NpYXRlZCB3aXRoIHRoZSBuZXcgc2NyZWVuCj4gICAqCj4gICAqIFRo aXMgaXMgY2FsbGVkIGFmdGVyIGEgbW9kZSBzZXQgaGFzIGJlZW4gY29tcGxldGVkLgo+ICAgKi8K PiAtc3RhdGljIHZvaWQgdm13X3NvdV9jcnRjX2hlbHBlcl9lbmFibGUoc3RydWN0IGRybV9jcnRj ICpjcnRjKQo+ICtzdGF0aWMgdm9pZCB2bXdfc291X2NydGNfYXRvbWljX2VuYWJsZShzdHJ1Y3Qg ZHJtX2NydGMgKmNydGMsCj4gKwkJCQkgICAgICAgc3RydWN0IGRybV9jcnRjX3N0YXRlICpvbGRf c3RhdGUpCj4gIHsKPiAgfQo+ICAKPiBAQCAtNTczLDEyICs1NzQsMTIgQEAgZHJtX3BsYW5lX2hl bHBlcl9mdW5jcyB2bXdfc291X3ByaW1hcnlfcGxhbmVfaGVscGVyX2Z1bmNzID0gewo+ICAKPiAg c3RhdGljIGNvbnN0IHN0cnVjdCBkcm1fY3J0Y19oZWxwZXJfZnVuY3Mgdm13X3NvdV9jcnRjX2hl bHBlcl9mdW5jcyA9IHsKPiAgCS5wcmVwYXJlID0gdm13X3NvdV9jcnRjX2hlbHBlcl9wcmVwYXJl LAo+IC0JLmVuYWJsZSA9IHZtd19zb3VfY3J0Y19oZWxwZXJfZW5hYmxlLAo+ICAJLmRpc2FibGUg PSB2bXdfc291X2NydGNfaGVscGVyX2Rpc2FibGUsCj4gIAkubW9kZV9zZXRfbm9mYiA9IHZtd19z b3VfY3J0Y19tb2RlX3NldF9ub2ZiLAo+ICAJLmF0b21pY19jaGVjayA9IHZtd19kdV9jcnRjX2F0 b21pY19jaGVjaywKPiAgCS5hdG9taWNfYmVnaW4gPSB2bXdfZHVfY3J0Y19hdG9taWNfYmVnaW4s Cj4gIAkuYXRvbWljX2ZsdXNoID0gdm13X2R1X2NydGNfYXRvbWljX2ZsdXNoLAo+ICsJLmF0b21p Y19lbmFibGUgPSB2bXdfc291X2NydGNfYXRvbWljX2VuYWJsZSwKPiAgfTsKPiAgCj4gIAo+IGRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vdm13Z2Z4L3Ztd2dmeF9zdGR1LmMgYi9kcml2ZXJz L2dwdS9kcm0vdm13Z2Z4L3Ztd2dmeF9zdGR1LmMKPiBpbmRleCA0ZWI5M2I0N2Q2ZGIuLmYyYjM5 ZDljNTFjYyAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vdm13Z2Z4L3Ztd2dmeF9zdGR1 LmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vdm13Z2Z4L3Ztd2dmeF9zdGR1LmMKPiBAQCAtNDEy LDcgKzQxMiw4IEBAIHN0YXRpYyB2b2lkIHZtd19zdGR1X2NydGNfaGVscGVyX3ByZXBhcmUoc3Ry dWN0IGRybV9jcnRjICpjcnRjKQo+ICB9Cj4gIAo+ICAKPiAtc3RhdGljIHZvaWQgdm13X3N0ZHVf Y3J0Y19oZWxwZXJfZW5hYmxlKHN0cnVjdCBkcm1fY3J0YyAqY3J0YykKPiArc3RhdGljIHZvaWQg dm13X3N0ZHVfY3J0Y19hdG9taWNfZW5hYmxlKHN0cnVjdCBkcm1fY3J0YyAqY3J0YywKPiArCQkJ CQlzdHJ1Y3QgZHJtX2NydGNfc3RhdGUgKm9sZF9zdGF0ZSkKPiAgewo+ICAJc3RydWN0IHZtd19w cml2YXRlICpkZXZfcHJpdjsKPiAgCXN0cnVjdCB2bXdfc2NyZWVuX3RhcmdldF9kaXNwbGF5X3Vu aXQgKnN0ZHU7Cj4gQEAgLTE0MTUsMTIgKzE0MTYsMTIgQEAgZHJtX3BsYW5lX2hlbHBlcl9mdW5j cyB2bXdfc3RkdV9wcmltYXJ5X3BsYW5lX2hlbHBlcl9mdW5jcyA9IHsKPiAgCj4gIHN0YXRpYyBj b25zdCBzdHJ1Y3QgZHJtX2NydGNfaGVscGVyX2Z1bmNzIHZtd19zdGR1X2NydGNfaGVscGVyX2Z1 bmNzID0gewo+ICAJLnByZXBhcmUgPSB2bXdfc3RkdV9jcnRjX2hlbHBlcl9wcmVwYXJlLAo+IC0J LmVuYWJsZSA9IHZtd19zdGR1X2NydGNfaGVscGVyX2VuYWJsZSwKPiAgCS5kaXNhYmxlID0gdm13 X3N0ZHVfY3J0Y19oZWxwZXJfZGlzYWJsZSwKPiAgCS5tb2RlX3NldF9ub2ZiID0gdm13X3N0ZHVf Y3J0Y19tb2RlX3NldF9ub2ZiLAo+ICAJLmF0b21pY19jaGVjayA9IHZtd19kdV9jcnRjX2F0b21p Y19jaGVjaywKPiAgCS5hdG9taWNfYmVnaW4gPSB2bXdfZHVfY3J0Y19hdG9taWNfYmVnaW4sCj4g IAkuYXRvbWljX2ZsdXNoID0gdm13X2R1X2NydGNfYXRvbWljX2ZsdXNoLAo+ICsJLmF0b21pY19l bmFibGUgPSB2bXdfc3RkdV9jcnRjX2F0b21pY19lbmFibGUsCj4gIH07Cj4gIAo+ICAKPiBkaWZm IC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3p0ZS96eF92b3UuYyBiL2RyaXZlcnMvZ3B1L2RybS96 dGUvenhfdm91LmMKPiBpbmRleCA1ZmJkMTBiNjBlZTUuLmNjYjRiMGJkYjhjNiAxMDA2NDQKPiAt LS0gYS9kcml2ZXJzL2dwdS9kcm0venRlL3p4X3ZvdS5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJt L3p0ZS96eF92b3UuYwo+IEBAIC0zNTAsNyArMzUwLDggQEAgc3RhdGljIGlubGluZSB2b2lkIHZv dV9jaG5fc2V0X3VwZGF0ZShzdHJ1Y3QgenhfY3J0YyAqemNydGMpCj4gIAl6eF93cml0ZWwoemNy dGMtPmNobnJlZyArIENITl9VUERBVEUsIDEpOwo+ICB9Cj4gIAo+IC1zdGF0aWMgdm9pZCB6eF9j cnRjX2VuYWJsZShzdHJ1Y3QgZHJtX2NydGMgKmNydGMpCj4gK3N0YXRpYyB2b2lkIHp4X2NydGNf YXRvbWljX2VuYWJsZShzdHJ1Y3QgZHJtX2NydGMgKmNydGMsCj4gKwkJCQkgIHN0cnVjdCBkcm1f Y3J0Y19zdGF0ZSAqb2xkX3N0YXRlKQo+ICB7Cj4gIAlzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAq bW9kZSA9ICZjcnRjLT5zdGF0ZS0+YWRqdXN0ZWRfbW9kZTsKPiAgCWJvb2wgaW50ZXJsYWNlZCA9 IG1vZGUtPmZsYWdzICYgRFJNX01PREVfRkxBR19JTlRFUkxBQ0U7Cj4gQEAgLTQ5MCw5ICs0OTEs OSBAQCBzdGF0aWMgdm9pZCB6eF9jcnRjX2F0b21pY19mbHVzaChzdHJ1Y3QgZHJtX2NydGMgKmNy dGMsCj4gIH0KPiAgCj4gIHN0YXRpYyBjb25zdCBzdHJ1Y3QgZHJtX2NydGNfaGVscGVyX2Z1bmNz IHp4X2NydGNfaGVscGVyX2Z1bmNzID0gewo+IC0JLmVuYWJsZSA9IHp4X2NydGNfZW5hYmxlLAo+ ICAJLmRpc2FibGUgPSB6eF9jcnRjX2Rpc2FibGUsCj4gIAkuYXRvbWljX2ZsdXNoID0genhfY3J0 Y19hdG9taWNfZmx1c2gsCj4gKwkuYXRvbWljX2VuYWJsZSA9IHp4X2NydGNfYXRvbWljX2VuYWJs ZSwKPiAgfTsKPiAgCj4gIHN0YXRpYyBpbnQgenhfdm91X2VuYWJsZV92Ymxhbmsoc3RydWN0IGRy bV9jcnRjICpjcnRjKQo+IGRpZmYgLS1naXQgYS9pbmNsdWRlL2RybS9kcm1fbW9kZXNldF9oZWxw ZXJfdnRhYmxlcy5oIGIvaW5jbHVkZS9kcm0vZHJtX21vZGVzZXRfaGVscGVyX3Z0YWJsZXMuaAo+ IGluZGV4IDQ3NGExMDI5ZWM3OS4uZDc0YTJjYWZjM2RlIDEwMDY0NAo+IC0tLSBhL2luY2x1ZGUv ZHJtL2RybV9tb2Rlc2V0X2hlbHBlcl92dGFibGVzLmgKPiArKysgYi9pbmNsdWRlL2RybS9kcm1f bW9kZXNldF9oZWxwZXJfdnRhYmxlcy5oCj4gQEAgLTMxNiwyNCArMzE2LDYgQEAgc3RydWN0IGRy bV9jcnRjX2hlbHBlcl9mdW5jcyB7Cj4gIAl2b2lkICgqZGlzYWJsZSkoc3RydWN0IGRybV9jcnRj ICpjcnRjKTsKPiAgCj4gIAkvKioKPiAtCSAqIEBlbmFibGU6Cj4gLQkgKgo+IC0JICogVGhpcyBj YWxsYmFjayBzaG91bGQgYmUgdXNlZCB0byBlbmFibGUgdGhlIENSVEMuIFdpdGggdGhlIGF0b21p Ywo+IC0JICogZHJpdmVycyBpdCBpcyBjYWxsZWQgYmVmb3JlIGFsbCBlbmNvZGVycyBjb25uZWN0 ZWQgdG8gdGhpcyBDUlRDIGFyZQo+IC0JICogZW5hYmxlZCB0aHJvdWdoIHRoZSBlbmNvZGVyJ3Mg b3duICZkcm1fZW5jb2Rlcl9oZWxwZXJfZnVuY3MuZW5hYmxlCj4gLQkgKiBob29rLiAgSWYgdGhh dCBzZXF1ZW5jZSBpcyB0b28gc2ltcGxlIGRyaXZlcnMgY2FuIGp1c3QgYWRkIHRoZWlyIG93bgo+ IC0JICogaG9va3MgYW5kIGNhbGwgaXQgZnJvbSB0aGlzIENSVEMgY2FsbGJhY2sgaGVyZSBieSBs b29waW5nIG92ZXIgYWxsCj4gLQkgKiBlbmNvZGVycyBjb25uZWN0ZWQgdG8gaXQgdXNpbmcgZm9y X2VhY2hfZW5jb2Rlcl9vbl9jcnRjKCkuCj4gLQkgKgo+IC0JICogVGhpcyBob29rIGlzIHVzZWQg b25seSBieSBhdG9taWMgaGVscGVycywgZm9yIHN5bW1ldHJ5IHdpdGggQGRpc2FibGUuCj4gLQkg KiBBdG9taWMgZHJpdmVycyBkb24ndCBuZWVkIHRvIGltcGxlbWVudCBpdCBpZiB0aGVyZSdzIG5v IG5lZWQgdG8KPiAtCSAqIGVuYWJsZSBhbnl0aGluZyBhdCB0aGUgQ1JUQyBsZXZlbC4gVG8gZW5z dXJlIHRoYXQgcnVudGltZSBQTSBoYW5kbGluZwo+IC0JICogKHVzaW5nIGVpdGhlciBEUE1TIG9y IHRoZSBuZXcgIkFDVElWRSIgcHJvcGVydHkpIHdvcmtzCj4gLQkgKiBAZW5hYmxlIG11c3QgYmUg dGhlIGludmVyc2Ugb2YgQGRpc2FibGUgZm9yIGF0b21pYyBkcml2ZXJzLgo+IC0JICovCj4gLQl2 b2lkICgqZW5hYmxlKShzdHJ1Y3QgZHJtX2NydGMgKmNydGMpOwo+IC0KPiAtCS8qKgo+ICAJICog QGF0b21pY19jaGVjazoKPiAgCSAqCj4gIAkgKiBEcml2ZXJzIHNob3VsZCBjaGVjayBwbGFuZS11 cGRhdGUgcmVsYXRlZCBDUlRDIGNvbnN0cmFpbnRzIGluIHRoaXMKPiBAQCAtNDMzLDYgKzQxNSwy NiBAQCBzdHJ1Y3QgZHJtX2NydGNfaGVscGVyX2Z1bmNzIHsKPiAgCQkJICAgICBzdHJ1Y3QgZHJt X2NydGNfc3RhdGUgKm9sZF9jcnRjX3N0YXRlKTsKPiAgCj4gIAkvKioKPiArCSAqIEBhdG9taWNf ZW5hYmxlOgo+ICsJICoKPiArCSAqIFRoaXMgY2FsbGJhY2sgc2hvdWxkIGJlIHVzZWQgdG8gZW5h YmxlIHRoZSBDUlRDLiBXaXRoIHRoZSBhdG9taWMKPiArCSAqIGRyaXZlcnMgaXQgaXMgY2FsbGVk IGJlZm9yZSBhbGwgZW5jb2RlcnMgY29ubmVjdGVkIHRvIHRoaXMgQ1JUQyBhcmUKPiArCSAqIGVu YWJsZWQgdGhyb3VnaCB0aGUgZW5jb2RlcidzIG93biAmZHJtX2VuY29kZXJfaGVscGVyX2Z1bmNz LmVuYWJsZQo+ICsJICogaG9vay4gIElmIHRoYXQgc2VxdWVuY2UgaXMgdG9vIHNpbXBsZSBkcml2 ZXJzIGNhbiBqdXN0IGFkZCB0aGVpciBvd24KPiArCSAqIGhvb2tzIGFuZCBjYWxsIGl0IGZyb20g dGhpcyBDUlRDIGNhbGxiYWNrIGhlcmUgYnkgbG9vcGluZyBvdmVyIGFsbAo+ICsJICogZW5jb2Rl cnMgY29ubmVjdGVkIHRvIGl0IHVzaW5nIGZvcl9lYWNoX2VuY29kZXJfb25fY3J0YygpLgo+ICsJ ICoKPiArCSAqIFRoaXMgaG9vayBpcyB1c2VkIG9ubHkgYnkgYXRvbWljIGhlbHBlcnMsIGZvciBz eW1tZXRyeSB3aXRoCj4gKwkgKiBAYXRvbWljX2Rpc2FibGUuIEF0b21pYyBkcml2ZXJzIGRvbid0 IG5lZWQgdG8gaW1wbGVtZW50IGl0IGlmIHRoZXJlJ3MKPiArCSAqIG5vIG5lZWQgdG8gZW5hYmxl IGFueXRoaW5nIGF0IHRoZSBDUlRDIGxldmVsLiBUbyBlbnN1cmUgdGhhdCBydW50aW1lCj4gKwkg KiBQTSBoYW5kbGluZyAodXNpbmcgZWl0aGVyIERQTVMgb3IgdGhlIG5ldyAiQUNUSVZFIiBwcm9w ZXJ0eSkgd29ya3MKPiArCSAqIEBhdG9taWNfZW5hYmxlIG11c3QgYmUgdGhlIGludmVyc2Ugb2Yg QGF0b21pY19kaXNhYmxlIGZvciBhdG9taWMKPiArCSAqIGRyaXZlcnMuCj4gKwkgKi8KPiArCXZv aWQgKCphdG9taWNfZW5hYmxlKShzdHJ1Y3QgZHJtX2NydGMgKmNydGMsCj4gKwkJCSAgICAgIHN0 cnVjdCBkcm1fY3J0Y19zdGF0ZSAqb2xkX2NydGNfc3RhdGUpOwo+ICsKPiArCS8qKgo+ICAJICog QGF0b21pY19kaXNhYmxlOgo+ICAJICoKPiAgCSAqIFRoaXMgY2FsbGJhY2sgc2hvdWxkIGJlIHVz ZWQgdG8gZGlzYWJsZSB0aGUgQ1JUQy4gV2l0aCB0aGUgYXRvbWljCj4gLS0gCj4gUmVnYXJkcywK PiAKPiBMYXVyZW50IFBpbmNoYXJ0Cj4gCgotLSAKPT09PT09PT09PT09PT09PT09PT0KfCBJIHdv dWxkIGxpa2UgdG8gfAp8IGZpeCB0aGUgd29ybGQsICB8CnwgYnV0IHRoZXkncmUgbm90IHwKfCBn aXZpbmcgbWUgdGhlICAgfAogXCBzb3VyY2UgY29kZSEgIC8KICAtLS0tLS0tLS0tLS0tLS0KICAg IMKvXF8o44OEKV8vwq8KX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX18KZHJpLWRldmVsIG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Au b3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRl dmVsCg==