From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Wentland, Harry" Subject: Re: [PATCH 2/2] drm/atomic: Create and use __drm_atomic_helper_crtc_reset() everywhere Date: Mon, 12 Nov 2018 16:02:49 +0000 Message-ID: <65eabef8-1652-e4ed-aa1f-8595b6195088@amd.com> References: <20181112150114.18395-1-maarten.lankhorst@linux.intel.com> <20181112150114.18395-2-maarten.lankhorst@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20181112150114.18395-2-maarten.lankhorst-VuQAYsv1563Yd54FQh9/CA@public.gmane.org> Content-Language: en-US Content-ID: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: amd-gfx-bounces-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Sender: "amd-gfx" To: Maarten Lankhorst , "dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org" Cc: Haneen Mohammed , Alexandre Belloni , =?utf-8?B?SGVpa28gU3TDg8K8Ym5lcg==?= , David Airlie , Daniel Vetter , Joonas Lahtinen , Liviu Dudau , "linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org" , Eric Anholt , Thierry Reding , Laurent Pinchart , "Koo, Anthony" , "Zhou, David(ChunMing)" , Thomas Hellstrom , Brian Starkey , Sinclair Yeh , "Lakha, Bhawanpreet" , "Francis, David" , "amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org" , Jonathan Hunter List-Id: linux-tegra@vger.kernel.org DQoNCk9uIDIwMTgtMTEtMTIgMTA6MDEgYS5tLiwgTWFhcnRlbiBMYW5raG9yc3Qgd3JvdGU6DQo+ IFdlIGFscmVhZHkgaGF2ZSBfX2RybV9hdG9taWNfaGVscGVyX2Nvbm5lY3Rvcl9yZXNldCgpIGFu ZA0KPiBfX2RybV9hdG9taWNfaGVscGVyX3BsYW5lX3Jlc2V0KCksIGV4dGVuZCB0aGlzIHRvIGNy dGMgYXMgd2VsbC4NCj4gDQo+IE1vc3QgZHJpdmVycyBhbHJlYWR5IGhhdmUgYSBncHUgcmVzZXQg aG9vaywgY29ycmVjdCBpdC4NCj4gTm91dmVhdSBhbHJlYWR5IGltcGxlbWVudGVkIGl0cyBvd24g X19kcm1fYXRvbWljX2hlbHBlcl9jcnRjX3Jlc2V0KCksDQo+IGNvbnZlcnQgaXQgdG8gdGhlIGNv bW1vbiBvbmUuDQo+IA0KPiBTaWduZWQtb2ZmLWJ5OiBNYWFydGVuIExhbmtob3JzdCA8bWFhcnRl bi5sYW5raG9yc3RAbGludXguaW50ZWwuY29tPg0KPiBDYzogSGFycnkgV2VudGxhbmQgPGhhcnJ5 LndlbnRsYW5kQGFtZC5jb20+DQo+IENjOiBMZW8gTGkgPHN1bnBlbmcubGlAYW1kLmNvbT4NCj4g Q2M6IEFsZXggRGV1Y2hlciA8YWxleGFuZGVyLmRldWNoZXJAYW1kLmNvbT4NCj4gQ2M6ICJDaHJp c3RpYW4gS8ODwrZuaWciIDxjaHJpc3RpYW4ua29lbmlnQGFtZC5jb20+DQo+IENjOiAiRGF2aWQg KENodW5NaW5nKSBaaG91IiA8RGF2aWQxLlpob3VAYW1kLmNvbT4NCj4gQ2M6IERhdmlkIEFpcmxp ZSA8YWlybGllZEBsaW51eC5pZT4NCj4gQ2M6IExpdml1IER1ZGF1IDxsaXZpdS5kdWRhdUBhcm0u Y29tPg0KPiBDYzogQnJpYW4gU3RhcmtleSA8YnJpYW4uc3RhcmtleUBhcm0uY29tPg0KPiBDYzog TWFsaSBEUCBNYWludGFpbmVycyA8bWFsaWRwQGZvc3MuYXJtLmNvbT4NCj4gQ2M6IEJvcmlzIEJy ZXppbGxvbiA8Ym9yaXMuYnJlemlsbG9uQGJvb3RsaW4uY29tPg0KPiBDYzogTmljb2xhcyBGZXJy ZSA8bmljb2xhcy5mZXJyZUBtaWNyb2NoaXAuY29tPg0KPiBDYzogQWxleGFuZHJlIEJlbGxvbmkg PGFsZXhhbmRyZS5iZWxsb25pQGJvb3RsaW4uY29tPg0KPiBDYzogTHVkb3ZpYyBEZXNyb2NoZXMg PGx1ZG92aWMuZGVzcm9jaGVzQG1pY3JvY2hpcC5jb20+DQo+IENjOiBNYWFydGVuIExhbmtob3Jz dCA8bWFhcnRlbi5sYW5raG9yc3RAbGludXguaW50ZWwuY29tPg0KPiBDYzogTWF4aW1lIFJpcGFy ZCA8bWF4aW1lLnJpcGFyZEBib290bGluLmNvbT4NCj4gQ2M6IFNlYW4gUGF1bCA8c2VhbkBwb29y bHkucnVuPg0KPiBDYzogSmFuaSBOaWt1bGEgPGphbmkubmlrdWxhQGxpbnV4LmludGVsLmNvbT4N Cj4gQ2M6IEpvb25hcyBMYWh0aW5lbiA8am9vbmFzLmxhaHRpbmVuQGxpbnV4LmludGVsLmNvbT4N Cj4gQ2M6IFJvZHJpZ28gVml2aSA8cm9kcmlnby52aXZpQGludGVsLmNvbT4NCj4gQ2M6IFBoaWxp cHAgWmFiZWwgPHAuemFiZWxAcGVuZ3V0cm9uaXguZGU+DQo+IENjOiBDSyBIdSA8Y2suaHVAbWVk aWF0ZWsuY29tPg0KPiBDYzogTWF0dGhpYXMgQnJ1Z2dlciA8bWF0dGhpYXMuYmdnQGdtYWlsLmNv bT4NCj4gQ2M6IFJvYiBDbGFyayA8cm9iZGNsYXJrQGdtYWlsLmNvbT4NCj4gQ2M6IEJlbiBTa2Vn Z3MgPGJza2VnZ3NAcmVkaGF0LmNvbT4NCj4gQ2M6IFRvbWkgVmFsa2VpbmVuIDx0b21pLnZhbGtl aW5lbkB0aS5jb20+DQo+IENjOiBMYXVyZW50IFBpbmNoYXJ0IDxsYXVyZW50LnBpbmNoYXJ0QGlk ZWFzb25ib2FyZC5jb20+DQo+IENjOiBLaWVyYW4gQmluZ2hhbSA8a2llcmFuLmJpbmdoYW0rcmVu ZXNhc0BpZGVhc29uYm9hcmQuY29tPg0KPiBDYzogU2FuZHkgSHVhbmcgPGhqY0Byb2NrLWNoaXBz LmNvbT4NCj4gQ2M6ICJIZWlrbyBTdMODwrxibmVyIiA8aGVpa29Ac250ZWNoLmRlPg0KPiBDYzog VGhpZXJyeSBSZWRpbmcgPHRoaWVycnkucmVkaW5nQGdtYWlsLmNvbT4NCj4gQ2M6IEpvbmF0aGFu IEh1bnRlciA8am9uYXRoYW5oQG52aWRpYS5jb20+DQo+IENjOiBFcmljIEFuaG9sdCA8ZXJpY0Bh bmhvbHQubmV0Pg0KPiBDYzogVk13YXJlIEdyYXBoaWNzIDxsaW51eC1ncmFwaGljcy1tYWludGFp bmVyQHZtd2FyZS5jb20+DQo+IENjOiBTaW5jbGFpciBZZWggPHN5ZWhAdm13YXJlLmNvbT4NCj4g Q2M6IFRob21hcyBIZWxsc3Ryb20gPHRoZWxsc3Ryb21Adm13YXJlLmNvbT4NCj4gQ2M6IFRvbnkg Q2hlbmcgPFRvbnkuQ2hlbmdAYW1kLmNvbT4NCj4gQ2M6IFNoaXJpc2ggUyA8c2hpcmlzaC5zQGFt ZC5jb20+DQo+IENjOiBNaWtpdGEgTGlwc2tpIDxtaWtpdGEubGlwc2tpQGFtZC5jb20+DQo+IENj OiBCaGF3YW5wcmVldCBMYWtoYSA8Qmhhd2FucHJlZXQuTGFraGFAYW1kLmNvbT4NCj4gQ2M6IERh dmlkIEZyYW5jaXMgPERhdmlkLkZyYW5jaXNAYW1kLmNvbT4NCj4gQ2M6IEFudGhvbnkgS29vIDxB bnRob255Lktvb0BhbWQuY29tPg0KPiBDYzogSmV5a3VtYXIgU2Fua2FyYW4gPGpzYW5rYUBjb2Rl YXVyb3JhLm9yZz4NCj4gQ2M6IEpvcmRhbiBDcm91c2UgPGpjcm91c2VAY29kZWF1cm9yYS5vcmc+ DQo+IENjOiBCcnVjZSBXYW5nIDxiendhbmdAY2hyb21pdW0ub3JnPg0KPiBDYzogU3JhdmFudGhp IEtvbGx1a3VkdXJ1IDxza29sbHVrdUBjb2RlYXVyb3JhLm9yZz4NCj4gQ2M6IEFyY2hpdCBUYW5l amEgPGFyY2hpdHRAY29kZWF1cm9yYS5vcmc+DQo+IENjOiBTdGV2ZSBLb3dhbGlrIDxzdGV2ZW5A d2Vkb250c2xlZXAub3JnPg0KPiBDYzogQ2Fyc3RlbiBCZWhsaW5nIDxjYXJzdGVuLmJlaGxpbmdA Z29vZ2xlbWFpbC5jb20+DQo+IENjOiBIYW5lZW4gTW9oYW1tZWQgPGhhbW9oYW1tZWQuc2FAZ21h aWwuY29tPg0KPiBDYzogRGFuaWVsIFZldHRlciA8ZGFuaWVsLnZldHRlckBmZndsbC5jaD4NCj4g Q2M6IFJvZHJpZ28gU2lxdWVpcmEgPHJvZHJpZ29zaXF1ZWlyYW1lbG9AZ21haWwuY29tPg0KPiBD YzogTWFoZXNoIEt1bWFyIDxtYWhlc2gxLmt1bWFyQGludGVsLmNvbT4NCj4gQ2M6IGFtZC1nZnhA bGlzdHMuZnJlZWRlc2t0b3Aub3JnDQo+IENjOiBkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Au b3JnDQo+IENjOiBsaW51eC1rZXJuZWxAdmdlci5rZXJuZWwub3JnDQo+IENjOiBsaW51eC1hcm0t a2VybmVsQGxpc3RzLmluZnJhZGVhZC5vcmcNCj4gQ2M6IGludGVsLWdmeEBsaXN0cy5mcmVlZGVz a3RvcC5vcmcNCj4gQ2M6IGxpbnV4LW1lZGlhdGVrQGxpc3RzLmluZnJhZGVhZC5vcmcNCj4gQ2M6 IGxpbnV4LWFybS1tc21Admdlci5rZXJuZWwub3JnDQo+IENjOiBmcmVlZHJlbm9AbGlzdHMuZnJl ZWRlc2t0b3Aub3JnDQo+IENjOiBub3V2ZWF1QGxpc3RzLmZyZWVkZXNrdG9wLm9yZw0KPiBDYzog bGludXgtcmVuZXNhcy1zb2NAdmdlci5rZXJuZWwub3JnDQo+IENjOiBsaW51eC1yb2NrY2hpcEBs aXN0cy5pbmZyYWRlYWQub3JnDQo+IENjOiBsaW51eC10ZWdyYUB2Z2VyLmtlcm5lbC5vcmcNCg0K Rm9yIGFtZGdwdV9kbSBhbmQgY29yZSBjaGFuZ2VzDQpSZXZpZXdlZC1ieTogSGFycnkgV2VudGxh bmQgPGhhcnJ5LndlbnRsYW5kQGFtZC5jb20+DQoNCkhhcnJ5DQoNCj4gLS0tDQo+ICAuLi4vZ3B1 L2RybS9hbWQvZGlzcGxheS9hbWRncHVfZG0vYW1kZ3B1X2RtLmMgfCAgNCArLS0NCj4gIGRyaXZl cnMvZ3B1L2RybS9hcm0vbWFsaWRwX2NydGMuYyAgICAgICAgICAgICB8ICA1ICstLQ0KPiAgLi4u L2dwdS9kcm0vYXRtZWwtaGxjZGMvYXRtZWxfaGxjZGNfY3J0Yy5jICAgIHwgIDUgKy0tDQo+ICBk cml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pY19zdGF0ZV9oZWxwZXIuYyAgICAgfCAzMSArKysrKysr KysrKysrKysrLS0tDQo+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMgICAg ICAgICAgfCAgMiArLQ0KPiAgZHJpdmVycy9ncHUvZHJtL2lteC9pcHV2My1jcnRjLmMgICAgICAg ICAgICAgIHwgIDUgKy0tDQo+ICBkcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2RybV9jcnRj LmMgICAgICAgfCAgNSArLS0NCj4gIGRyaXZlcnMvZ3B1L2RybS9tc20vZGlzcC9kcHUxL2RwdV9j cnRjLmMgICAgICB8IDEyICsrLS0tLS0NCj4gIGRyaXZlcnMvZ3B1L2RybS9tc20vZGlzcC9tZHA1 L21kcDVfY3J0Yy5jICAgICB8ICA2ICstLS0NCj4gIGRyaXZlcnMvZ3B1L2RybS9ub3V2ZWF1L2Rp c3BudjUwL2hlYWQuYyAgICAgICB8IDEzICsrLS0tLS0tDQo+ICBkcml2ZXJzL2dwdS9kcm0vb21h cGRybS9vbWFwX2NydGMuYyAgICAgICAgICAgfCAgNyArKy0tLQ0KPiAgZHJpdmVycy9ncHUvZHJt L3JjYXItZHUvcmNhcl9kdV9jcnRjLmMgICAgICAgIHwgIDQgKy0tDQo+ICBkcml2ZXJzL2dwdS9k cm0vcm9ja2NoaXAvcm9ja2NoaXBfZHJtX3ZvcC5jICAgfCAgNyArKystLQ0KPiAgZHJpdmVycy9n cHUvZHJtL3RlZ3JhL2RjLmMgICAgICAgICAgICAgICAgICAgIHwgIDUgKy0tDQo+ICBkcml2ZXJz L2dwdS9kcm0vdmM0L3ZjNF9jcnRjLmMgICAgICAgICAgICAgICAgfCAgOCArKy0tLQ0KPiAgZHJp dmVycy9ncHUvZHJtL3ZrbXMvdmttc19jcnRjLmMgICAgICAgICAgICAgIHwgIDcgKy0tLS0NCj4g IGRyaXZlcnMvZ3B1L2RybS92bXdnZngvdm13Z2Z4X2ttcy5jICAgICAgICAgICB8ICA5ICstLS0t LQ0KPiAgaW5jbHVkZS9kcm0vZHJtX2F0b21pY19zdGF0ZV9oZWxwZXIuaCAgICAgICAgIHwgIDIg KysNCj4gIDE4IGZpbGVzIGNoYW5nZWQsIDU2IGluc2VydGlvbnMoKyksIDgxIGRlbGV0aW9ucygt KQ0KPiANCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxheS9hbWRncHVf ZG0vYW1kZ3B1X2RtLmMgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvYW1kZ3B1X2RtL2Ft ZGdwdV9kbS5jDQo+IGluZGV4IDUwNjQ3Njg2NDJmMy4uNzcwYTcxNzI2Y2QxIDEwMDY0NA0KPiAt LS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvYW1kZ3B1X2RtL2FtZGdwdV9kbS5jDQo+ ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxheS9hbWRncHVfZG0vYW1kZ3B1X2RtLmMN Cj4gQEAgLTI4MDIsOSArMjgwMiw3IEBAIHN0YXRpYyB2b2lkIGRtX2NydGNfcmVzZXRfc3RhdGUo c3RydWN0IGRybV9jcnRjICpjcnRjKQ0KPiAgCWlmIChXQVJOX09OKCFzdGF0ZSkpDQo+ICAJCXJl dHVybjsNCj4gIA0KPiAtCWNydGMtPnN0YXRlID0gJnN0YXRlLT5iYXNlOw0KPiAtCWNydGMtPnN0 YXRlLT5jcnRjID0gY3J0YzsNCj4gLQ0KPiArCV9fZHJtX2F0b21pY19oZWxwZXJfY3J0Y19yZXNl dChjcnRjLCAmc3RhdGUtPmJhc2UpOw0KPiAgfQ0KPiAgDQo+ICBzdGF0aWMgc3RydWN0IGRybV9j cnRjX3N0YXRlICoNCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hcm0vbWFsaWRwX2Ny dGMuYyBiL2RyaXZlcnMvZ3B1L2RybS9hcm0vbWFsaWRwX2NydGMuYw0KPiBpbmRleCBlMWI3Mjc4 Mjg0OGMuLjlhOTI0ZmYyNzE0OCAxMDA2NDQNCj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FybS9t YWxpZHBfY3J0Yy5jDQo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9hcm0vbWFsaWRwX2NydGMuYw0K PiBAQCAtNDc0LDEwICs0NzQsNyBAQCBzdGF0aWMgdm9pZCBtYWxpZHBfY3J0Y19yZXNldChzdHJ1 Y3QgZHJtX2NydGMgKmNydGMpDQo+ICANCj4gIAlrZnJlZShzdGF0ZSk7DQo+ICAJc3RhdGUgPSBr emFsbG9jKHNpemVvZigqc3RhdGUpLCBHRlBfS0VSTkVMKTsNCj4gLQlpZiAoc3RhdGUpIHsNCj4g LQkJY3J0Yy0+c3RhdGUgPSAmc3RhdGUtPmJhc2U7DQo+IC0JCWNydGMtPnN0YXRlLT5jcnRjID0g Y3J0YzsNCj4gLQl9DQo+ICsJX19kcm1fYXRvbWljX2hlbHBlcl9jcnRjX3Jlc2V0KGNydGMsICZz dGF0ZS0+YmFzZSk7DQo+ICB9DQo+ICANCj4gIHN0YXRpYyB2b2lkIG1hbGlkcF9jcnRjX2Rlc3Ry b3lfc3RhdGUoc3RydWN0IGRybV9jcnRjICpjcnRjLA0KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9n cHUvZHJtL2F0bWVsLWhsY2RjL2F0bWVsX2hsY2RjX2NydGMuYyBiL2RyaXZlcnMvZ3B1L2RybS9h dG1lbC1obGNkYy9hdG1lbF9obGNkY19jcnRjLmMNCj4gaW5kZXggOTZmNDA4MjY3MWZlLi44MDg0 ZDU0OWM3ZDEgMTAwNjQ0DQo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hdG1lbC1obGNkYy9hdG1l bF9obGNkY19jcnRjLmMNCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2F0bWVsLWhsY2RjL2F0bWVs X2hsY2RjX2NydGMuYw0KPiBAQCAtNDEyLDEwICs0MTIsNyBAQCBzdGF0aWMgdm9pZCBhdG1lbF9o bGNkY19jcnRjX3Jlc2V0KHN0cnVjdCBkcm1fY3J0YyAqY3J0YykNCj4gIAl9DQo+ICANCj4gIAlz dGF0ZSA9IGt6YWxsb2Moc2l6ZW9mKCpzdGF0ZSksIEdGUF9LRVJORUwpOw0KPiAtCWlmIChzdGF0 ZSkgew0KPiAtCQljcnRjLT5zdGF0ZSA9ICZzdGF0ZS0+YmFzZTsNCj4gLQkJY3J0Yy0+c3RhdGUt PmNydGMgPSBjcnRjOw0KPiAtCX0NCj4gKwlfX2RybV9hdG9taWNfaGVscGVyX2NydGNfcmVzZXQo Y3J0YywgJnN0YXRlLT5iYXNlKTsNCj4gIH0NCj4gIA0KPiAgc3RhdGljIHN0cnVjdCBkcm1fY3J0 Y19zdGF0ZSAqDQo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pY19zdGF0 ZV9oZWxwZXIuYyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljX3N0YXRlX2hlbHBlci5jDQo+ IGluZGV4IDNiYTk5NjA2OWQ2OS4uM2VlZTFjYTMzZmM1IDEwMDY0NA0KPiAtLS0gYS9kcml2ZXJz L2dwdS9kcm0vZHJtX2F0b21pY19zdGF0ZV9oZWxwZXIuYw0KPiArKysgYi9kcml2ZXJzL2dwdS9k cm0vZHJtX2F0b21pY19zdGF0ZV9oZWxwZXIuYw0KPiBAQCAtNTUsNiArNTUsMjkgQEANCj4gICAq IGZvciB0aGVzZSBmdW5jdGlvbnMuDQo+ICAgKi8NCj4gIA0KPiArLyoqDQo+ICsgKiBfX2RybV9h dG9taWNfaGVscGVyX2NydGNfcmVzZXQgLSByZXNldCBzdGF0ZSBvbiBDUlRDDQo+ICsgKiBAY3J0 YzogZHJtIENSVEMNCj4gKyAqIEBjcnRjX3N0YXRlOiBDUlRDIHN0YXRlIHRvIGFzc2lnbg0KPiAr ICoNCj4gKyAqIEluaXRpYWxpemVzIHRoZSBuZXdseSBhbGxvY2F0ZWQgQGNydGNfc3RhdGUgYW5k IGFzc2lnbnMgaXQgdG8NCj4gKyAqIHRoZSAmZHJtX2NvbmVjdG9yLT5zdGF0ZSBwb2ludGVyIG9m IEBjcnRjLCB1c3VhbGx5IHJlcXVpcmVkIHdoZW4NCj4gKyAqIGluaXRpYWxpemluZyB0aGUgZHJp dmVycyBvciB3aGVuIGNhbGxlZCBmcm9tIHRoZSAmZHJtX2NydGNfZnVuY3MucmVzZXQNCj4gKyAq IGhvb2suDQo+ICsgKg0KPiArICogVGhpcyBpcyB1c2VmdWwgZm9yIGRyaXZlcnMgdGhhdCBzdWJj bGFzcyB0aGUgQ1JUQyBzdGF0ZS4NCj4gKyAqLw0KPiArdm9pZA0KPiArX19kcm1fYXRvbWljX2hl bHBlcl9jcnRjX3Jlc2V0KHN0cnVjdCBkcm1fY3J0YyAqY3J0YywNCj4gKwkJCSAgICAgICBzdHJ1 Y3QgZHJtX2NydGNfc3RhdGUgKmNydGNfc3RhdGUpDQo+ICt7DQo+ICsJaWYgKGNydGNfc3RhdGUp DQo+ICsJCWNydGNfc3RhdGUtPmNydGMgPSBjcnRjOw0KPiArDQo+ICsJY3J0Yy0+c3RhdGUgPSBj cnRjX3N0YXRlOw0KPiArfQ0KPiArRVhQT1JUX1NZTUJPTChfX2RybV9hdG9taWNfaGVscGVyX2Ny dGNfcmVzZXQpOw0KPiArDQo+ICAvKioNCj4gICAqIGRybV9hdG9taWNfaGVscGVyX2NydGNfcmVz ZXQgLSBkZWZhdWx0ICZkcm1fY3J0Y19mdW5jcy5yZXNldCBob29rIGZvciBDUlRDcw0KPiAgICog QGNydGM6IGRybSBDUlRDDQo+IEBAIC02NCwxNCArODcsMTQgQEANCj4gICAqLw0KPiAgdm9pZCBk cm1fYXRvbWljX2hlbHBlcl9jcnRjX3Jlc2V0KHN0cnVjdCBkcm1fY3J0YyAqY3J0YykNCj4gIHsN Cj4gKwlzdHJ1Y3QgZHJtX2NydGNfc3RhdGUgKmNydGNfc3RhdGUgPQ0KPiArCQlremFsbG9jKHNp emVvZigqY3J0Yy0+c3RhdGUpLCBHRlBfS0VSTkVMKTsNCj4gKw0KPiAgCWlmIChjcnRjLT5zdGF0 ZSkNCj4gIAkJX19kcm1fYXRvbWljX2hlbHBlcl9jcnRjX2Rlc3Ryb3lfc3RhdGUoY3J0Yy0+c3Rh dGUpOw0KPiAgDQo+ICAJa2ZyZWUoY3J0Yy0+c3RhdGUpOw0KPiAtCWNydGMtPnN0YXRlID0ga3ph bGxvYyhzaXplb2YoKmNydGMtPnN0YXRlKSwgR0ZQX0tFUk5FTCk7DQo+IC0NCj4gLQlpZiAoY3J0 Yy0+c3RhdGUpDQo+IC0JCWNydGMtPnN0YXRlLT5jcnRjID0gY3J0YzsNCj4gKwlfX2RybV9hdG9t aWNfaGVscGVyX2NydGNfcmVzZXQoY3J0YywgY3J0Y19zdGF0ZSk7DQo+ICB9DQo+ICBFWFBPUlRf U1lNQk9MKGRybV9hdG9taWNfaGVscGVyX2NydGNfcmVzZXQpOw0KPiAgDQo+IGRpZmYgLS1naXQg YS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMgYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9kaXNwbGF5LmMNCj4gaW5kZXggZjM4MzQxNzU3MWVjLi45MDdmZmViNjQ3ODEg MTAwNjQ0DQo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYw0KPiAr KysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMNCj4gQEAgLTE1NDU3LDcg KzE1NDU3LDcgQEAgc3RhdGljIHZvaWQgaW50ZWxfbW9kZXNldF9yZWFkb3V0X2h3X3N0YXRlKHN0 cnVjdCBkcm1fZGV2aWNlICpkZXYpDQo+ICANCj4gIAkJX19kcm1fYXRvbWljX2hlbHBlcl9jcnRj X2Rlc3Ryb3lfc3RhdGUoJmNydGNfc3RhdGUtPmJhc2UpOw0KPiAgCQltZW1zZXQoY3J0Y19zdGF0 ZSwgMCwgc2l6ZW9mKCpjcnRjX3N0YXRlKSk7DQo+IC0JCWNydGNfc3RhdGUtPmJhc2UuY3J0YyA9 ICZjcnRjLT5iYXNlOw0KPiArCQlfX2RybV9hdG9taWNfaGVscGVyX2NydGNfcmVzZXQoJmNydGMt PmJhc2UsICZjcnRjX3N0YXRlLT5iYXNlKTsNCj4gIA0KPiAgCQljcnRjX3N0YXRlLT5iYXNlLmFj dGl2ZSA9IGNydGNfc3RhdGUtPmJhc2UuZW5hYmxlID0NCj4gIAkJCWRldl9wcml2LT5kaXNwbGF5 LmdldF9waXBlX2NvbmZpZyhjcnRjLCBjcnRjX3N0YXRlKTsNCj4gZGlmZiAtLWdpdCBhL2RyaXZl cnMvZ3B1L2RybS9pbXgvaXB1djMtY3J0Yy5jIGIvZHJpdmVycy9ncHUvZHJtL2lteC9pcHV2My1j cnRjLmMNCj4gaW5kZXggN2Q0YjcxMGI4MzdhLi44YmMzNmYwZDJiNmIgMTAwNjQ0DQo+IC0tLSBh L2RyaXZlcnMvZ3B1L2RybS9pbXgvaXB1djMtY3J0Yy5jDQo+ICsrKyBiL2RyaXZlcnMvZ3B1L2Ry bS9pbXgvaXB1djMtY3J0Yy5jDQo+IEBAIC0xMjAsMTIgKzEyMCw5IEBAIHN0YXRpYyB2b2lkIGlt eF9kcm1fY3J0Y19yZXNldChzdHJ1Y3QgZHJtX2NydGMgKmNydGMpDQo+ICAJCW1lbXNldChzdGF0 ZSwgMCwgc2l6ZW9mKCpzdGF0ZSkpOw0KPiAgCX0gZWxzZSB7DQo+ICAJCXN0YXRlID0ga3phbGxv YyhzaXplb2YoKnN0YXRlKSwgR0ZQX0tFUk5FTCk7DQo+IC0JCWlmICghc3RhdGUpDQo+IC0JCQly ZXR1cm47DQo+IC0JCWNydGMtPnN0YXRlID0gJnN0YXRlLT5iYXNlOw0KPiAgCX0NCj4gIA0KPiAt CXN0YXRlLT5iYXNlLmNydGMgPSBjcnRjOw0KPiArCV9fZHJtX2F0b21pY19oZWxwZXJfY3J0Y19y ZXNldChjcnRjLCAmc3RhdGUtPmJhc2UpOw0KPiAgfQ0KPiAgDQo+ICBzdGF0aWMgc3RydWN0IGRy bV9jcnRjX3N0YXRlICppbXhfZHJtX2NydGNfZHVwbGljYXRlX3N0YXRlKHN0cnVjdCBkcm1fY3J0 YyAqY3J0YykNCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9tZWRpYXRlay9tdGtfZHJt X2NydGMuYyBiL2RyaXZlcnMvZ3B1L2RybS9tZWRpYXRlay9tdGtfZHJtX2NydGMuYw0KPiBpbmRl eCA5MmVjYjliZjk4MmMuLmE3NDNlNWVkMTE3NyAxMDA2NDQNCj4gLS0tIGEvZHJpdmVycy9ncHUv ZHJtL21lZGlhdGVrL210a19kcm1fY3J0Yy5jDQo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9tZWRp YXRlay9tdGtfZHJtX2NydGMuYw0KPiBAQCAtMTE5LDEyICsxMTksOSBAQCBzdGF0aWMgdm9pZCBt dGtfZHJtX2NydGNfcmVzZXQoc3RydWN0IGRybV9jcnRjICpjcnRjKQ0KPiAgCQltZW1zZXQoc3Rh dGUsIDAsIHNpemVvZigqc3RhdGUpKTsNCj4gIAl9IGVsc2Ugew0KPiAgCQlzdGF0ZSA9IGt6YWxs b2Moc2l6ZW9mKCpzdGF0ZSksIEdGUF9LRVJORUwpOw0KPiAtCQlpZiAoIXN0YXRlKQ0KPiAtCQkJ cmV0dXJuOw0KPiAtCQljcnRjLT5zdGF0ZSA9ICZzdGF0ZS0+YmFzZTsNCj4gIAl9DQo+ICANCj4g LQlzdGF0ZS0+YmFzZS5jcnRjID0gY3J0YzsNCj4gKwlfX2RybV9hdG9taWNfaGVscGVyX2NydGNf cmVzZXQoY3J0YywgJnN0YXRlLT5iYXNlKTsNCj4gIH0NCj4gIA0KPiAgc3RhdGljIHN0cnVjdCBk cm1fY3J0Y19zdGF0ZSAqbXRrX2RybV9jcnRjX2R1cGxpY2F0ZV9zdGF0ZShzdHJ1Y3QgZHJtX2Ny dGMgKmNydGMpDQo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9k cHVfY3J0Yy5jIGIvZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X2NydGMuYw0KPiBp bmRleCBkNDUzMGQ2MDc2N2IuLmM4NmU2MDNmNDg2YSAxMDA2NDQNCj4gLS0tIGEvZHJpdmVycy9n cHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X2NydGMuYw0KPiArKysgYi9kcml2ZXJzL2dwdS9kcm0v bXNtL2Rpc3AvZHB1MS9kcHVfY3J0Yy5jDQo+IEBAIC04OTQsMjAgKzg5NCwxMiBAQCBzdGF0aWMg dm9pZCBkcHVfY3J0Y19yZXNldChzdHJ1Y3QgZHJtX2NydGMgKmNydGMpDQo+ICAJCV9kcHVfY3J0 Y19zZXRfc3VzcGVuZChjcnRjLCBmYWxzZSk7DQo+ICANCj4gIAkvKiByZW1vdmUgcHJldmlvdXMg c3RhdGUsIGlmIHByZXNlbnQgKi8NCj4gLQlpZiAoY3J0Yy0+c3RhdGUpIHsNCj4gKwlpZiAoY3J0 Yy0+c3RhdGUpDQo+ICAJCWRwdV9jcnRjX2Rlc3Ryb3lfc3RhdGUoY3J0YywgY3J0Yy0+c3RhdGUp Ow0KPiAtCQljcnRjLT5zdGF0ZSA9IDA7DQo+IC0JfQ0KPiAgDQo+ICAJZHB1X2NydGMgPSB0b19k cHVfY3J0YyhjcnRjKTsNCj4gIAljc3RhdGUgPSBremFsbG9jKHNpemVvZigqY3N0YXRlKSwgR0ZQ X0tFUk5FTCk7DQo+IC0JaWYgKCFjc3RhdGUpIHsNCj4gLQkJRFBVX0VSUk9SKCJmYWlsZWQgdG8g YWxsb2NhdGUgc3RhdGVcbiIpOw0KPiAtCQlyZXR1cm47DQo+IC0JfQ0KPiAtDQo+IC0JY3N0YXRl LT5iYXNlLmNydGMgPSBjcnRjOw0KPiAtCWNydGMtPnN0YXRlID0gJmNzdGF0ZS0+YmFzZTsNCj4g KwlfX2RybV9hdG9taWNfaGVscGVyX2NydGNfcmVzZXQoY3J0YywgJmNzdGF0ZS0+YmFzZSk7DQo+ ICB9DQo+ICANCj4gIHN0YXRpYyB2b2lkIGRwdV9jcnRjX2hhbmRsZV9wb3dlcl9ldmVudCh1MzIg ZXZlbnRfdHlwZSwgdm9pZCAqYXJnKQ0KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL21z bS9kaXNwL21kcDUvbWRwNV9jcnRjLmMgYi9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvbWRwNS9t ZHA1X2NydGMuYw0KPiBpbmRleCBiMWRhOWNlNTQzNzkuLjEzOGRhNjZiMTUzMCAxMDA2NDQNCj4g LS0tIGEvZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL21kcDUvbWRwNV9jcnRjLmMNCj4gKysrIGIv ZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL21kcDUvbWRwNV9jcnRjLmMNCj4gQEAgLTEwMTksMTEg KzEwMTksNyBAQCBzdGF0aWMgdm9pZCBtZHA1X2NydGNfcmVzZXQoc3RydWN0IGRybV9jcnRjICpj cnRjKQ0KPiAgCX0NCj4gIA0KPiAgCW1kcDVfY3N0YXRlID0ga3phbGxvYyhzaXplb2YoKm1kcDVf Y3N0YXRlKSwgR0ZQX0tFUk5FTCk7DQo+IC0NCj4gLQlpZiAobWRwNV9jc3RhdGUpIHsNCj4gLQkJ bWRwNV9jc3RhdGUtPmJhc2UuY3J0YyA9IGNydGM7DQo+IC0JCWNydGMtPnN0YXRlID0gJm1kcDVf Y3N0YXRlLT5iYXNlOw0KPiAtCX0NCj4gKwlfX2RybV9hdG9taWNfaGVscGVyX2NydGNfcmVzZXQo Y3J0YywgJm1kcDVfY3N0YXRlLT5iYXNlKTsNCj4gIH0NCj4gIA0KPiAgc3RhdGljIHN0cnVjdCBk cm1fY3J0Y19zdGF0ZSAqDQo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vbm91dmVhdS9k aXNwbnY1MC9oZWFkLmMgYi9kcml2ZXJzL2dwdS9kcm0vbm91dmVhdS9kaXNwbnY1MC9oZWFkLmMN Cj4gaW5kZXggNGY1N2U1Mzc5Nzk2Li4zNDE2MDA0MDY1ODkgMTAwNjQ0DQo+IC0tLSBhL2RyaXZl cnMvZ3B1L2RybS9ub3V2ZWF1L2Rpc3BudjUwL2hlYWQuYw0KPiArKysgYi9kcml2ZXJzL2dwdS9k cm0vbm91dmVhdS9kaXNwbnY1MC9oZWFkLmMNCj4gQEAgLTQxOCwxNiArNDE4LDYgQEAgbnY1MF9o ZWFkX2F0b21pY19kdXBsaWNhdGVfc3RhdGUoc3RydWN0IGRybV9jcnRjICpjcnRjKQ0KPiAgCXJl dHVybiAmYXN5aC0+c3RhdGU7DQo+ICB9DQo+ICANCj4gLXN0YXRpYyB2b2lkDQo+IC1fX2RybV9h dG9taWNfaGVscGVyX2NydGNfcmVzZXQoc3RydWN0IGRybV9jcnRjICpjcnRjLA0KPiAtCQkJICAg ICAgIHN0cnVjdCBkcm1fY3J0Y19zdGF0ZSAqc3RhdGUpDQo+IC17DQo+IC0JaWYgKGNydGMtPnN0 YXRlKQ0KPiAtCQljcnRjLT5mdW5jcy0+YXRvbWljX2Rlc3Ryb3lfc3RhdGUoY3J0YywgY3J0Yy0+ c3RhdGUpOw0KPiAtCWNydGMtPnN0YXRlID0gc3RhdGU7DQo+IC0JY3J0Yy0+c3RhdGUtPmNydGMg PSBjcnRjOw0KPiAtfQ0KPiAtDQo+ICBzdGF0aWMgdm9pZA0KPiAgbnY1MF9oZWFkX3Jlc2V0KHN0 cnVjdCBkcm1fY3J0YyAqY3J0YykNCj4gIHsNCj4gQEAgLTQzNiw2ICs0MjYsOSBAQCBudjUwX2hl YWRfcmVzZXQoc3RydWN0IGRybV9jcnRjICpjcnRjKQ0KPiAgCWlmIChXQVJOX09OKCEoYXN5aCA9 IGt6YWxsb2Moc2l6ZW9mKCphc3loKSwgR0ZQX0tFUk5FTCkpKSkNCj4gIAkJcmV0dXJuOw0KPiAg DQo+ICsJaWYgKGNydGMtPnN0YXRlKQ0KPiArCQljcnRjLT5mdW5jcy0+YXRvbWljX2Rlc3Ryb3lf c3RhdGUoY3J0YywgY3J0Yy0+c3RhdGUpOw0KPiArDQo+ICAJX19kcm1fYXRvbWljX2hlbHBlcl9j cnRjX3Jlc2V0KGNydGMsICZhc3loLT5zdGF0ZSk7DQo+ICB9DQo+ICANCj4gZGlmZiAtLWdpdCBh L2RyaXZlcnMvZ3B1L2RybS9vbWFwZHJtL29tYXBfY3J0Yy5jIGIvZHJpdmVycy9ncHUvZHJtL29t YXBkcm0vb21hcF9jcnRjLmMNCj4gaW5kZXggY2FmZmM1NDdlZjk3Li45YzVmODEwOTkxM2MgMTAw NjQ0DQo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9vbWFwZHJtL29tYXBfY3J0Yy5jDQo+ICsrKyBi L2RyaXZlcnMvZ3B1L2RybS9vbWFwZHJtL29tYXBfY3J0Yy5jDQo+IEBAIC01NTQsMTQgKzU1NCwx MyBAQCBzdGF0aWMgaW50IG9tYXBfY3J0Y19hdG9taWNfZ2V0X3Byb3BlcnR5KHN0cnVjdCBkcm1f Y3J0YyAqY3J0YywNCj4gIA0KPiAgc3RhdGljIHZvaWQgb21hcF9jcnRjX3Jlc2V0KHN0cnVjdCBk cm1fY3J0YyAqY3J0YykNCj4gIHsNCj4gKwlzdHJ1Y3Qgb21hcF9jcnRjX3N0YXRlICpjcnRjX3N0 YXRlID0NCj4gKwkJa3phbGxvYyhzaXplb2YoKmNydGNfc3RhdGUpLCBHRlBfS0VSTkVMKTsNCj4g IAlpZiAoY3J0Yy0+c3RhdGUpDQo+ICAJCV9fZHJtX2F0b21pY19oZWxwZXJfY3J0Y19kZXN0cm95 X3N0YXRlKGNydGMtPnN0YXRlKTsNCj4gIA0KPiAgCWtmcmVlKGNydGMtPnN0YXRlKTsNCj4gLQlj cnRjLT5zdGF0ZSA9IGt6YWxsb2Moc2l6ZW9mKHN0cnVjdCBvbWFwX2NydGNfc3RhdGUpLCBHRlBf S0VSTkVMKTsNCj4gLQ0KPiAtCWlmIChjcnRjLT5zdGF0ZSkNCj4gLQkJY3J0Yy0+c3RhdGUtPmNy dGMgPSBjcnRjOw0KPiArCV9fZHJtX2F0b21pY19oZWxwZXJfY3J0Y19yZXNldChjcnRjLCAmY3J0 Y19zdGF0ZS0+YmFzZSk7DQo+ICB9DQo+ICANCj4gIHN0YXRpYyBzdHJ1Y3QgZHJtX2NydGNfc3Rh dGUgKg0KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3JjYXItZHUvcmNhcl9kdV9jcnRj LmMgYi9kcml2ZXJzL2dwdS9kcm0vcmNhci1kdS9yY2FyX2R1X2NydGMuYw0KPiBpbmRleCAxNzc0 MTg0M2NmNTEuLjdiZWFiMjJiNDY3NCAxMDA2NDQNCj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL3Jj YXItZHUvcmNhcl9kdV9jcnRjLmMNCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL3JjYXItZHUvcmNh cl9kdV9jcnRjLmMNCj4gQEAgLTg1NywxNCArODU3LDEyIEBAIHN0YXRpYyB2b2lkIHJjYXJfZHVf Y3J0Y19yZXNldChzdHJ1Y3QgZHJtX2NydGMgKmNydGMpDQo+ICAJfQ0KPiAgDQo+ICAJc3RhdGUg PSBremFsbG9jKHNpemVvZigqc3RhdGUpLCBHRlBfS0VSTkVMKTsNCj4gKwlfX2RybV9hdG9taWNf aGVscGVyX2NydGNfcmVzZXQoY3J0YywgJnN0YXRlLT5zdGF0ZSk7DQo+ICAJaWYgKHN0YXRlID09 IE5VTEwpDQo+ICAJCXJldHVybjsNCj4gIA0KPiAgCXN0YXRlLT5jcmMuc291cmNlID0gVlNQMV9E VV9DUkNfTk9ORTsNCj4gIAlzdGF0ZS0+Y3JjLmluZGV4ID0gMDsNCj4gLQ0KPiAtCWNydGMtPnN0 YXRlID0gJnN0YXRlLT5zdGF0ZTsNCj4gLQljcnRjLT5zdGF0ZS0+Y3J0YyA9IGNydGM7DQo+ICB9 DQo+ICANCj4gIHN0YXRpYyBpbnQgcmNhcl9kdV9jcnRjX2VuYWJsZV92Ymxhbmsoc3RydWN0IGRy bV9jcnRjICpjcnRjKQ0KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3JvY2tjaGlwL3Jv Y2tjaGlwX2RybV92b3AuYyBiL2RyaXZlcnMvZ3B1L2RybS9yb2NrY2hpcC9yb2NrY2hpcF9kcm1f dm9wLmMNCj4gaW5kZXggZmI3MGZiNDg2ZmJmLi5kMmQ1YWE2NzYwODQgMTAwNjQ0DQo+IC0tLSBh L2RyaXZlcnMvZ3B1L2RybS9yb2NrY2hpcC9yb2NrY2hpcF9kcm1fdm9wLmMNCj4gKysrIGIvZHJp dmVycy9ncHUvZHJtL3JvY2tjaGlwL3JvY2tjaGlwX2RybV92b3AuYw0KPiBAQCAtMTA3MSwxMyAr MTA3MSwxNCBAQCBzdGF0aWMgdm9pZCB2b3BfY3J0Y19kZXN0cm95KHN0cnVjdCBkcm1fY3J0YyAq Y3J0YykNCj4gIA0KPiAgc3RhdGljIHZvaWQgdm9wX2NydGNfcmVzZXQoc3RydWN0IGRybV9jcnRj ICpjcnRjKQ0KPiAgew0KPiArCXN0cnVjdCByb2NrY2hpcF9jcnRjX3N0YXRlICpjcnRjX3N0YXRl ID0NCj4gKwkJa3phbGxvYyhzaXplb2YoKmNydGNfc3RhdGUpLCBHRlBfS0VSTkVMKTsNCj4gKw0K PiAgCWlmIChjcnRjLT5zdGF0ZSkNCj4gIAkJX19kcm1fYXRvbWljX2hlbHBlcl9jcnRjX2Rlc3Ry b3lfc3RhdGUoY3J0Yy0+c3RhdGUpOw0KPiAgCWtmcmVlKGNydGMtPnN0YXRlKTsNCj4gIA0KPiAt CWNydGMtPnN0YXRlID0ga3phbGxvYyhzaXplb2Yoc3RydWN0IHJvY2tjaGlwX2NydGNfc3RhdGUp LCBHRlBfS0VSTkVMKTsNCj4gLQlpZiAoY3J0Yy0+c3RhdGUpDQo+IC0JCWNydGMtPnN0YXRlLT5j cnRjID0gY3J0YzsNCj4gKwlfX2RybV9hdG9taWNfaGVscGVyX2NydGNfcmVzZXQoY3J0YywgJmNy dGNfc3RhdGUtPmJhc2UpOw0KPiAgfQ0KPiAgDQo+ICBzdGF0aWMgc3RydWN0IGRybV9jcnRjX3N0 YXRlICp2b3BfY3J0Y19kdXBsaWNhdGVfc3RhdGUoc3RydWN0IGRybV9jcnRjICpjcnRjKQ0KPiBk aWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3RlZ3JhL2RjLmMgYi9kcml2ZXJzL2dwdS9kcm0v dGVncmEvZGMuYw0KPiBpbmRleCBmODBlODJlMTY0NzUuLjE0MGQ2MTkxZDhkMiAxMDA2NDQNCj4g LS0tIGEvZHJpdmVycy9ncHUvZHJtL3RlZ3JhL2RjLmMNCj4gKysrIGIvZHJpdmVycy9ncHUvZHJt L3RlZ3JhL2RjLmMNCj4gQEAgLTExNjQsMTAgKzExNjQsNyBAQCBzdGF0aWMgdm9pZCB0ZWdyYV9j cnRjX3Jlc2V0KHN0cnVjdCBkcm1fY3J0YyAqY3J0YykNCj4gIAljcnRjLT5zdGF0ZSA9IE5VTEw7 DQo+ICANCj4gIAlzdGF0ZSA9IGt6YWxsb2Moc2l6ZW9mKCpzdGF0ZSksIEdGUF9LRVJORUwpOw0K PiAtCWlmIChzdGF0ZSkgew0KPiAtCQljcnRjLT5zdGF0ZSA9ICZzdGF0ZS0+YmFzZTsNCj4gLQkJ Y3J0Yy0+c3RhdGUtPmNydGMgPSBjcnRjOw0KPiAtCX0NCj4gKwlfX2RybV9hdG9taWNfaGVscGVy X2NydGNfcmVzZXQoY3J0YywgJnN0YXRlLT5iYXNlKTsNCj4gIA0KPiAgCWRybV9jcnRjX3ZibGFu a19yZXNldChjcnRjKTsNCj4gIH0NCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS92YzQv dmM0X2NydGMuYyBiL2RyaXZlcnMvZ3B1L2RybS92YzQvdmM0X2NydGMuYw0KPiBpbmRleCBjZDIy NmU2M2Q1NTcuLjc2YmVlZGExNTdmYyAxMDA2NDQNCj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL3Zj NC92YzRfY3J0Yy5jDQo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS92YzQvdmM0X2NydGMuYw0KPiBA QCAtOTk4LDEyICs5OTgsMTIgQEAgc3RhdGljIHZvaWQgdmM0X2NydGNfZGVzdHJveV9zdGF0ZShz dHJ1Y3QgZHJtX2NydGMgKmNydGMsDQo+ICBzdGF0aWMgdm9pZA0KPiAgdmM0X2NydGNfcmVzZXQo c3RydWN0IGRybV9jcnRjICpjcnRjKQ0KPiAgew0KPiAtCWlmIChjcnRjLT5zdGF0ZSkNCj4gLQkJ dmM0X2NydGNfZGVzdHJveV9zdGF0ZShjcnRjLT5zdGF0ZSk7DQo+ICsJc3RydWN0IHZjNF9jcnRj X3N0YXRlICpjcnRjX3N0YXRlID0NCj4gKwkJa3phbGxvYyhzaXplb2YoKmNydGNfc3RhdGUpLCBH RlBfS0VSTkVMKTsNCj4gIA0KPiAtCWNydGMtPnN0YXRlID0ga3phbGxvYyhzaXplb2Yoc3RydWN0 IHZjNF9jcnRjX3N0YXRlKSwgR0ZQX0tFUk5FTCk7DQo+ICAJaWYgKGNydGMtPnN0YXRlKQ0KPiAt CQljcnRjLT5zdGF0ZS0+Y3J0YyA9IGNydGM7DQo+ICsJCXZjNF9jcnRjX2Rlc3Ryb3lfc3RhdGUo Y3J0YywgY3J0Yy0+c3RhdGUpOw0KPiArCV9fZHJtX2F0b21pY19oZWxwZXJfY3J0Y19yZXNldChj cnRjLCAmY3J0Y19zdGF0ZS0+YmFzZSk7DQo+ICB9DQo+ICANCj4gIHN0YXRpYyBjb25zdCBzdHJ1 Y3QgZHJtX2NydGNfZnVuY3MgdmM0X2NydGNfZnVuY3MgPSB7DQo+IGRpZmYgLS1naXQgYS9kcml2 ZXJzL2dwdS9kcm0vdmttcy92a21zX2NydGMuYyBiL2RyaXZlcnMvZ3B1L2RybS92a21zL3ZrbXNf Y3J0Yy5jDQo+IGluZGV4IDE3N2JiY2IzODMwNi4uN2IwMThmNmVlOTcxIDEwMDY0NA0KPiAtLS0g YS9kcml2ZXJzL2dwdS9kcm0vdmttcy92a21zX2NydGMuYw0KPiArKysgYi9kcml2ZXJzL2dwdS9k cm0vdmttcy92a21zX2NydGMuYw0KPiBAQCAtOTgsMTUgKzk4LDEwIEBAIHN0YXRpYyB2b2lkIHZr bXNfYXRvbWljX2NydGNfcmVzZXQoc3RydWN0IGRybV9jcnRjICpjcnRjKQ0KPiAgCQl2a21zX3N0 YXRlID0gdG9fdmttc19jcnRjX3N0YXRlKGNydGMtPnN0YXRlKTsNCj4gIAkJX19kcm1fYXRvbWlj X2hlbHBlcl9jcnRjX2Rlc3Ryb3lfc3RhdGUoY3J0Yy0+c3RhdGUpOw0KPiAgCQlrZnJlZSh2a21z X3N0YXRlKTsNCj4gLQkJY3J0Yy0+c3RhdGUgPSBOVUxMOw0KPiAgCX0NCj4gIA0KPiAgCXZrbXNf c3RhdGUgPSBremFsbG9jKHNpemVvZigqdmttc19zdGF0ZSksIEdGUF9LRVJORUwpOw0KPiAtCWlm ICghdmttc19zdGF0ZSkNCj4gLQkJcmV0dXJuOw0KPiAtDQo+IC0JY3J0Yy0+c3RhdGUgPSAmdmtt c19zdGF0ZS0+YmFzZTsNCj4gLQljcnRjLT5zdGF0ZS0+Y3J0YyA9IGNydGM7DQo+ICsJX19kcm1f YXRvbWljX2hlbHBlcl9jcnRjX3Jlc2V0KGNydGMsICZ2a21zX3N0YXRlLT5iYXNlKTsNCj4gIH0N Cj4gIA0KPiAgc3RhdGljIHN0cnVjdCBkcm1fY3J0Y19zdGF0ZSAqDQo+IGRpZmYgLS1naXQgYS9k cml2ZXJzL2dwdS9kcm0vdm13Z2Z4L3Ztd2dmeF9rbXMuYyBiL2RyaXZlcnMvZ3B1L2RybS92bXdn Zngvdm13Z2Z4X2ttcy5jDQo+IGluZGV4IGU2YjExZjZhZTJlNC4uMjg3OGJjMGE0NzE4IDEwMDY0 NA0KPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vdm13Z2Z4L3Ztd2dmeF9rbXMuYw0KPiArKysgYi9k cml2ZXJzL2dwdS9kcm0vdm13Z2Z4L3Ztd2dmeF9rbXMuYw0KPiBAQCAtNjMzLDE0ICs2MzMsNyBA QCB2b2lkIHZtd19kdV9jcnRjX3Jlc2V0KHN0cnVjdCBkcm1fY3J0YyAqY3J0YykNCj4gIAl9DQo+ ICANCj4gIAl2Y3MgPSBremFsbG9jKHNpemVvZigqdmNzKSwgR0ZQX0tFUk5FTCk7DQo+IC0NCj4g LQlpZiAoIXZjcykgew0KPiAtCQlEUk1fRVJST1IoIkNhbm5vdCBhbGxvY2F0ZSB2bXdfY3J0Y19z dGF0ZVxuIik7DQo+IC0JCXJldHVybjsNCj4gLQl9DQo+IC0NCj4gLQljcnRjLT5zdGF0ZSA9ICZ2 Y3MtPmJhc2U7DQo+IC0JY3J0Yy0+c3RhdGUtPmNydGMgPSBjcnRjOw0KPiArCV9fZHJtX2F0b21p Y19oZWxwZXJfY3J0Y19yZXNldChjcnRjLCAmdmNzLT5iYXNlKTsNCj4gIH0NCj4gIA0KPiAgDQo+ IGRpZmYgLS1naXQgYS9pbmNsdWRlL2RybS9kcm1fYXRvbWljX3N0YXRlX2hlbHBlci5oIGIvaW5j bHVkZS9kcm0vZHJtX2F0b21pY19zdGF0ZV9oZWxwZXIuaA0KPiBpbmRleCA1YjgyY2NmZGI1MDIu LmFiMmI1YTQ5OTQ4YyAxMDA2NDQNCj4gLS0tIGEvaW5jbHVkZS9kcm0vZHJtX2F0b21pY19zdGF0 ZV9oZWxwZXIuaA0KPiArKysgYi9pbmNsdWRlL2RybS9kcm1fYXRvbWljX3N0YXRlX2hlbHBlci5o DQo+IEBAIC0zNyw2ICszNyw4IEBAIHN0cnVjdCBkcm1fcHJpdmF0ZV9zdGF0ZTsNCj4gIHN0cnVj dCBkcm1fbW9kZXNldF9hY3F1aXJlX2N0eDsNCj4gIHN0cnVjdCBkcm1fZGV2aWNlOw0KPiAgDQo+ ICt2b2lkIF9fZHJtX2F0b21pY19oZWxwZXJfY3J0Y19yZXNldChzdHJ1Y3QgZHJtX2NydGMgKmNy dGMsDQo+ICsJCQkJICAgIHN0cnVjdCBkcm1fY3J0Y19zdGF0ZSAqc3RhdGUpOw0KPiAgdm9pZCBk cm1fYXRvbWljX2hlbHBlcl9jcnRjX3Jlc2V0KHN0cnVjdCBkcm1fY3J0YyAqY3J0Yyk7DQo+ICB2 b2lkIF9fZHJtX2F0b21pY19oZWxwZXJfY3J0Y19kdXBsaWNhdGVfc3RhdGUoc3RydWN0IGRybV9j cnRjICpjcnRjLA0KPiAgCQkJCQkgICAgICBzdHJ1Y3QgZHJtX2NydGNfc3RhdGUgKnN0YXRlKTsN Cj4gDQpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwphbWQt Z2Z4IG1haWxpbmcgbGlzdAphbWQtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xp c3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2FtZC1nZngK