From mboxrd@z Thu Jan 1 00:00:00 1970 From: Maarten Lankhorst Subject: Re: [PATCH v9 2/6] drm/i915: Convert requests to use struct fence Date: Tue, 7 Jun 2016 13:42:03 +0200 Message-ID: <1c085f1f-ead4-74b1-3524-aaafa2fe2a14@linux.intel.com> References: <1464800848-36672-1-git-send-email-John.C.Harrison@Intel.com> <1464800848-36672-3-git-send-email-John.C.Harrison@Intel.com> <57501377.8010202@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" 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 E79766E728 for ; Tue, 7 Jun 2016 11:42:05 +0000 (UTC) In-Reply-To: <57501377.8010202@linux.intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Tvrtko Ursulin , John.C.Harrison@Intel.com, Intel-GFX@Lists.FreeDesktop.Org List-Id: intel-gfx@lists.freedesktop.org T3AgMDItMDYtMTYgb20gMTM6MDcgc2NocmVlZiBUdnJ0a28gVXJzdWxpbjoKPgo+IE9uIDAxLzA2 LzE2IDE4OjA3LCBKb2huLkMuSGFycmlzb25ASW50ZWwuY29tIHdyb3RlOgo+PiBGcm9tOiBKb2hu IEhhcnJpc29uIDxKb2huLkMuSGFycmlzb25ASW50ZWwuY29tPgo+Pgo+PiBUaGVyZSBpcyBhIGNv bnN0cnVjdCBpbiB0aGUgbGludXgga2VybmVsIGNhbGxlZCAnc3RydWN0IGZlbmNlJyB0aGF0IGlz Cj4+IGludGVuZGVkIHRvIGtlZXAgdHJhY2sgb2Ygd29yayB0aGF0IGlzIGV4ZWN1dGVkIG9uIGhh cmR3YXJlLiBJLmUuIGl0Cj4+IHNvbHZlcyB0aGUgYmFzaWMgcHJvYmxlbSB0aGF0IHRoZSBkcml2 ZXJzICdzdHJ1Y3QKPj4gZHJtX2k5MTVfZ2VtX3JlcXVlc3QnIGlzIHRyeWluZyB0byBhZGRyZXNz LiBUaGUgcmVxdWVzdCBzdHJ1Y3R1cmUgZG9lcwo+PiBxdWl0ZSBhIGxvdCBtb3JlIHRoYW4gc2lt cGx5IHRyYWNrIHRoZSBleGVjdXRpb24gcHJvZ3Jlc3Mgc28gaXMgdmVyeQo+PiBkZWZpbml0ZWx5 IHN0aWxsIHJlcXVpcmVkLiBIb3dldmVyLCB0aGUgYmFzaWMgY29tcGxldGlvbiBzdGF0dXMgc2lk ZQo+PiBjb3VsZCBiZSB1cGRhdGVkIHRvIHVzZSB0aGUgcmVhZHkgbWFkZSBmZW5jZSBpbXBsZW1l bnRhdGlvbiBhbmQgZ2Fpbgo+PiBhbGwgdGhlIGFkdmFudGFnZXMgdGhhdCBwcm92aWRlcy4KPj4K Pj4gVGhpcyBwYXRjaCBtYWtlcyB0aGUgZmlyc3Qgc3RlcCBvZiBpbnRlZ3JhdGluZyBhIHN0cnVj dCBmZW5jZSBpbnRvIHRoZQo+PiByZXF1ZXN0LiBJdCByZXBsYWNlcyB0aGUgZXhwbGljaXQgcmVm ZXJlbmNlIGNvdW50IHdpdGggdGhhdCBvZiB0aGUKPj4gZmVuY2UuIEl0IGFsc28gcmVwbGFjZXMg dGhlICdpcyBjb21wbGV0ZWQnIHRlc3Qgd2l0aCB0aGUgZmVuY2Uncwo+PiBlcXVpdmFsZW50LiBD dXJyZW50bHksIHRoYXQgc2ltcGx5IGNoYWlucyBvbiB0byB0aGUgb3JpZ2luYWwgcmVxdWVzdAo+ PiBpbXBsZW1lbnRhdGlvbi4gQSBmdXR1cmUgcGF0Y2ggd2lsbCBpbXByb3ZlIHRoaXMuCj4+Cj4+ IHYzOiBVcGRhdGVkIGFmdGVyIHJldmlldyBjb21tZW50cyBieSBUdnJ0a28gVXJzdWxpbi4gQWRk ZWQgZmVuY2UKPj4gY29udGV4dC9zZXFubyBwYWlyIHRvIHRoZSBkZWJ1Z2ZzIHJlcXVlc3QgaW5m by4gUmVuYW1lZCBmZW5jZSAnZHJpdmVyCj4+IG5hbWUnIHRvIGp1c3QgJ2k5MTUnLiBSZW1vdmVk IEJVR19PTnMuCj4+Cj4+IHY1OiBDaGFuZ2VkIHNlcW5vIGZvcm1hdCBpbiBkZWJ1Z2ZzIHRvICV4 IHJhdGhlciB0aGFuICV1IGFzIHRoYXQgaXMKPj4gYXBwYXJlbnRseSB0aGUgcHJlZmVycmVkIGFw cGVhcmFuY2UuIExpbmUgd3JhcHBlZCBzb21lIGxvbmcgbGluZXMgdG8KPj4ga2VlcCB0aGUgc3R5 bGUgY2hlY2tlciBoYXBweS4KPj4KPj4gdjY6IFVwZGF0ZWQgdG8gbmV3ZXIgbmlndGhseSBhbmQg cmVzb2x2ZWQgY29uZmxpY3RzLiBUaGUgYmlnZ2VzdCBpc3N1ZQo+PiB3YXMgd2l0aCB0aGUgcmUt d29ya2VkIGJ1c3kgc3BpbiBwcmVjdXJzb3IgdG8gd2FpdGluZyBvbiBhIHJlcXVlc3QuIEluCj4+ IHBhcnRpY3VsYXIsIHRoZSBhZGRpdGlvbiBvZiBhICdyZXF1ZXN0X3N0YXJ0ZWQnIGhlbHBlciBm dW5jdGlvbi4gVGhpcwo+PiBoYXMgbm8gY29ycmVzcG9uZGluZyBjb25jZXB0IHdpdGhpbiB0aGUg ZmVuY2UgZnJhbWV3b3JrLiBIb3dldmVyLCBpdAo+PiBpcyBvbmx5IGV2ZXIgdXNlZCBpbiBvbmUg cGxhY2UgYW5kIHRoZSB3aG9sZSBwb2ludCBvZiB0aGF0IHBsYWNlIGlzIHRvCj4+IGFsd2F5cyBk aXJlY3RseSByZWFkIHRoZSBzZXFubyBmb3IgYWJzb2x1dGVseSBsb3dlc3QgbGF0ZW5jeSBwb3Nz aWJsZS4KPj4gU28gdGhlIHNpbXBsZSBzb2x1dGlvbiBpcyB0byBqdXN0IG1ha2UgdGhlIHNlcW5v IHRlc3QgZXhwbGljaXQgYXQgdGhhdAo+PiBwb2ludCBub3cgcmF0aGVyIHRoYW4gbGF0ZXIgaW4g dGhlIHNlcmllcyAoaXQgd2FzIHByZXZpb3VzbHkgYmVpbmcKPj4gZG9uZSBhbnl3YXkgd2hlbiBm ZW5jZXMgYmVjb21lIGludGVycnVwdCBkcml2ZW4pLgo+Pgo+PiB2NzogUmViYXNlZCB0byBuZXdl ciBuaWdodGx5IC0gbG90cyBvZiByaW5nIC0+IGVuZ2luZSByZW5hbWluZyBhbmQKPj4gaW50ZXJm YWNlIGNoYW5nZSB0byBnZXRfc2Vxbm8oKS4KPj4KPj4gdjg6IFJlYmFzZWQgdG8gbmV3ZXIgbmln aHRseSAtIG5vIGxvbmdlciBuZWVkcyB0byB3b3JyeSBhYm91dCBtdXRleAo+PiBsb2NraW5nIGlu IHRoZSByZXF1ZXN0IGZyZWUgY29kZSBwYXRoLiBNb3ZlZCB0byBhZnRlciBmZW5jZSB0aW1lbGlu ZQo+PiBwYXRjaCBzbyBubyBsb25nZXIgbmVlZHMgdG8gYWRkIGEgaG9ycmlkIGhhY2sgdGltZWxp bmUuCj4+Cj4+IFJlbW92ZWQgY29tbWVudGVkIG91dCBjb2RlIGJsb2NrLiBBZGRlZCBzdXBwb3J0 IGZvciBwb3NzaWJsZSBSQ1UgdXNhZ2UKPj4gb2YgZmVuY2Ugb2JqZWN0IChSZXZpZXcgY29tbWVu dHMgYnkgTWFhcnRlbiBMYW5raG9yc3QpLgo+Pgo+PiBGb3I6IFZJWi01MTkwCj4+IFNpZ25lZC1v ZmYtYnk6IEpvaG4gSGFycmlzb24gPEpvaG4uQy5IYXJyaXNvbkBJbnRlbC5jb20+Cj4+IENjOiBU dnJ0a28gVXJzdWxpbiA8dHZydGtvLnVyc3VsaW5AaW50ZWwuY29tPgo+PiBDYzogTWFhcnRlbiBM YW5raG9yc3QgPG1hYXJ0ZW4ubGFua2hvcnN0QGxpbnV4LmludGVsLmNvbT4KPj4gUmV2aWV3ZWQt Ynk6IEplc3NlIEJhcm5lcyA8amJhcm5lc0B2aXJ0dW91c2dlZWsub3JnPgo+Cj4gV2FzIGl0IGFu IHItYiBvciBhbiBhY2sgZnJvbSBKZXNzZT8gSWYgdGhlIGZvcm1lciBkb2VzIGl0IG5lZWQgYSAi KHY/KSIgc3VmZml4LCBkZXBlbmRpbmcgb24gdGhlIGFtb3VudCBvZiBjb2RlIGNoYW5nZXMgYWZ0 ZXIgaGlzIHItYj8KPgo+PiAtLS0KPj4gICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2RlYnVn ZnMuYyAgICAgfCAgIDUgKy0KPj4gICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oICAg ICAgICAgfCAgNDMgKysrKystLS0tLS0tLS0KPj4gICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1 X2dlbS5jICAgICAgICAgfCAxMDEgKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0KPj4g ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9scmMuYyAgICAgICAgfCAgIDEgKwo+PiAgIGRy aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3JpbmdidWZmZXIuYyB8ICAgMSArCj4+ICAgZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfcmluZ2J1ZmZlci5oIHwgICAyICsKPj4gICA2IGZpbGVzIGNo YW5nZWQsIDExNSBpbnNlcnRpb25zKCspLCAzOCBkZWxldGlvbnMoLSkKPj4KPj4gZGlmZiAtLWdp dCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZGVidWdmcy5jIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvaTkxNV9kZWJ1Z2ZzLmMKPj4gaW5kZXggYWM3ZTU2OS4uODQ0Y2M0YiAxMDA2NDQKPj4g LS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kZWJ1Z2ZzLmMKPj4gKysrIGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaTkxNV9kZWJ1Z2ZzLmMKPj4gQEAgLTc2NywxMSArNzY3LDEyIEBAIHN0 YXRpYyBpbnQgaTkxNV9nZW1fcmVxdWVzdF9pbmZvKHN0cnVjdCBzZXFfZmlsZSAqbSwgdm9pZCAq ZGF0YSkKPj4gICAgICAgICAgICAgICB0YXNrID0gTlVMTDsKPj4gICAgICAgICAgICAgICBpZiAo cmVxLT5waWQpCj4+ICAgICAgICAgICAgICAgICAgIHRhc2sgPSBwaWRfdGFzayhyZXEtPnBpZCwg UElEVFlQRV9QSUQpOwo+PiAtICAgICAgICAgICAgc2VxX3ByaW50ZihtLCAiICAgICV4IEAgJWQ6 ICVzIFslZF1cbiIsCj4+ICsgICAgICAgICAgICBzZXFfcHJpbnRmKG0sICIgICAgJXggQCAlZDog JXMgWyVkXSwgZmVuY2UgPSAleDoleFxuIiwKPgo+IEluIHRoZSBwcmV2aW91cyBwYXRjaCBmZW5j ZSBjb250ZXh0IGFuZCBzZXFubyB3ZXJlICVkIGluIHRoZSB0aW1lbGluZS0+bmFtZSBzbyBpdCB3 b3VsZCBwcm9iYWJseSBiZSBtb3JlIGNvbnNpc3RlbnQuCj4KPj4gICAgICAgICAgICAgICAgICAg ICAgcmVxLT5zZXFubywKPj4gICAgICAgICAgICAgICAgICAgICAgKGludCkgKGppZmZpZXMgLSBy ZXEtPmVtaXR0ZWRfamlmZmllcyksCj4+ICAgICAgICAgICAgICAgICAgICAgIHRhc2sgPyB0YXNr LT5jb21tIDogIjx1bmtub3duPiIsCj4+IC0gICAgICAgICAgICAgICAgICAgdGFzayA/IHRhc2st PnBpZCA6IC0xKTsKPj4gKyAgICAgICAgICAgICAgICAgICB0YXNrID8gdGFzay0+cGlkIDogLTEs Cj4+ICsgICAgICAgICAgICAgICAgICAgcmVxLT5mZW5jZS5jb250ZXh0LCByZXEtPmZlbmNlLnNl cW5vKTsKcmVxLT5mZW5jZS5jb250ZXh0IGlzIDY0LWJpdHMsIHdpbGwgcHJvYmFibHkgY2F1c2Ug YSBjb21waWxlciB3YXJuaW5nLgo+PiAgICAgICAgICAgICAgIHJjdV9yZWFkX3VubG9jaygpOwo+ PiAgICAgICAgICAgfQo+Pgo+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkx NV9kcnYuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKPj4gaW5kZXggYTVmOGFk OC4uOTA1ZmVhZSAxMDA2NDQKPj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYu aAo+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCj4+IEBAIC00Miw2ICs0 Miw3IEBACj4+ICAgI2luY2x1ZGUgPGxpbnV4L2tyZWYuaD4KPj4gICAjaW5jbHVkZSA8bGludXgv cG1fcW9zLmg+Cj4+ICAgI2luY2x1ZGUgPGxpbnV4L3NobWVtX2ZzLmg+Cj4+ICsjaW5jbHVkZSA8 bGludXgvZmVuY2UuaD4KPj4KPj4gICAjaW5jbHVkZSA8ZHJtL2RybVAuaD4KPj4gICAjaW5jbHVk ZSA8ZHJtL2ludGVsLWd0dC5oPgo+PiBAQCAtMjM1Myw3ICsyMzU0LDExIEBAIHN0YXRpYyBpbmxp bmUgc3RydWN0IHNjYXR0ZXJsaXN0ICpfX3NnX25leHQoc3RydWN0IHNjYXR0ZXJsaXN0ICpzZykK Pj4gICAgKiBpbml0aWFsIHJlZmVyZW5jZSB0YWtlbiB1c2luZyBrcmVmX2luaXQKPj4gICAgKi8K Pj4gICBzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3JlcXVlc3Qgewo+PiAtICAgIHN0cnVjdCBrcmVmIHJl ZjsKPj4gKyAgICAvKioKPj4gKyAgICAgKiBVbmRlcmx5aW5nIG9iamVjdCBmb3IgaW1wbGVtZW50 aW5nIHRoZSBzaWduYWwvd2FpdCBzdHVmZi4KPj4gKyAgICAgKi8KPj4gKyAgICBzdHJ1Y3QgZmVu Y2UgZmVuY2U7Cj4+ICsgICAgc3RydWN0IHJjdV9oZWFkIHJjdV9oZWFkOwpmZW5lY2UucmN1IGNh biBiZSB1c2VkLCBubyBuZWVkIHRvIGR1cGxpY2F0ZS4gOikKPj4gICAgICAgLyoqIE9uIFdoaWNo IHJpbmcgdGhpcyByZXF1ZXN0IHdhcyBnZW5lcmF0ZWQgKi8KPj4gICAgICAgc3RydWN0IGRybV9p OTE1X3ByaXZhdGUgKmk5MTU7Cj4+IEBAIC0yNDU1LDcgKzI0NjAsMTMgQEAgc3RydWN0IGRybV9p OTE1X2dlbV9yZXF1ZXN0IHsKPj4gICBzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3JlcXVlc3QgKiBfX211 c3RfY2hlY2sKPj4gICBpOTE1X2dlbV9yZXF1ZXN0X2FsbG9jKHN0cnVjdCBpbnRlbF9lbmdpbmVf Y3MgKmVuZ2luZSwKPj4gICAgICAgICAgICAgICAgICBzdHJ1Y3QgaTkxNV9nZW1fY29udGV4dCAq Y3R4KTsKPj4gLXZvaWQgaTkxNV9nZW1fcmVxdWVzdF9mcmVlKHN0cnVjdCBrcmVmICpyZXFfcmVm KTsKPj4gKwo+PiArc3RhdGljIGlubGluZSBib29sIGk5MTVfZ2VtX3JlcXVlc3RfY29tcGxldGVk KHN0cnVjdCBkcm1faTkxNV9nZW1fcmVxdWVzdCAqcmVxLAo+PiArICAgICAgICAgICAgICAgICAg ICAgICAgICBib29sIGxhenlfY29oZXJlbmN5KQo+PiArewo+PiArICAgIHJldHVybiBmZW5jZV9p c19zaWduYWxlZCgmcmVxLT5mZW5jZSk7Cj4+ICt9Cj4KPiBJIHdvdWxkIHNxdWFzaCB0aGUgZm9s bG93aW5nIHBhdGNoIGludG8gdGhpcyBvbmUsIGl0IG1ha2VzIG5vIHNlbnNlIHRvIGtlZXAgYSBm dW5jdGlvbiB3aXRoIGFuIHVudXNlZCBwYXJhbWV0ZXIuIEFuZCBmZXdlciBwYXRjaGVzIGluIHRo ZSBzZXJpZXMgbWFrZXMgaXQgbGVzcyBzY2FyeSB0byByZXZpZXcuIDopIE9mIGNvdXJzZSBpZiB0 aGV5IGFyZSBhbHNvIG5vdCB0b28gYmlnLiA6RApJdCdzIGVhc2llciB0byByZWFkIHdpdGggYWxs IHRoZSBmdW5jdGlvbiBwYXJhbWV0ZXIgY2hhbmdlcyBpbiBhIHNlcGFyYXRlIHBhdGNoLgo+PiAr Cj4+ICAgaW50IGk5MTVfZ2VtX3JlcXVlc3RfYWRkX3RvX2NsaWVudChzdHJ1Y3QgZHJtX2k5MTVf Z2VtX3JlcXVlc3QgKnJlcSwKPj4gICAgICAgICAgICAgICAgICAgICAgc3RydWN0IGRybV9maWxl ICpmaWxlKTsKPj4KPj4gQEAgLTI0NzUsMTQgKzI0ODYsMTQgQEAgc3RhdGljIGlubGluZSBzdHJ1 Y3QgZHJtX2k5MTVfZ2VtX3JlcXVlc3QgKgo+PiAgIGk5MTVfZ2VtX3JlcXVlc3RfcmVmZXJlbmNl KHN0cnVjdCBkcm1faTkxNV9nZW1fcmVxdWVzdCAqcmVxKQo+PiAgIHsKPj4gICAgICAgaWYgKHJl cSkKPj4gLSAgICAgICAga3JlZl9nZXQoJnJlcS0+cmVmKTsKPj4gKyAgICAgICAgZmVuY2VfZ2V0 KCZyZXEtPmZlbmNlKTsKPj4gICAgICAgcmV0dXJuIHJlcTsKPj4gICB9Cj4+Cj4+ICAgc3RhdGlj IGlubGluZSB2b2lkCj4+ICAgaTkxNV9nZW1fcmVxdWVzdF91bnJlZmVyZW5jZShzdHJ1Y3QgZHJt X2k5MTVfZ2VtX3JlcXVlc3QgKnJlcSkKPj4gICB7Cj4+IC0gICAga3JlZl9wdXQoJnJlcS0+cmVm LCBpOTE1X2dlbV9yZXF1ZXN0X2ZyZWUpOwo+PiArICAgIGZlbmNlX3B1dCgmcmVxLT5mZW5jZSk7 Cj4+ICAgfQo+Pgo+PiAgIHN0YXRpYyBpbmxpbmUgdm9pZCBpOTE1X2dlbV9yZXF1ZXN0X2Fzc2ln bihzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3JlcXVlc3QgKipwZHN0LAo+PiBAQCAtMjQ5OCwxMiArMjUw OSw2IEBAIHN0YXRpYyBpbmxpbmUgdm9pZCBpOTE1X2dlbV9yZXF1ZXN0X2Fzc2lnbihzdHJ1Y3Qg ZHJtX2k5MTVfZ2VtX3JlcXVlc3QgKipwZHN0LAo+PiAgIH0KPj4KPj4gICAvKgo+PiAtICogWFhY OiBpOTE1X2dlbV9yZXF1ZXN0X2NvbXBsZXRlZCBzaG91bGQgYmUgaGVyZSBidXQgY3VycmVudGx5 IG5lZWRzIHRoZQo+PiAtICogZGVmaW5pdGlvbiBvZiBpOTE1X3NlcW5vX3Bhc3NlZCgpIHdoaWNo IGlzIGJlbG93LiBJdCB3aWxsIGJlIG1vdmVkIGluCj4+IC0gKiBhIGxhdGVyIHBhdGNoIHdoZW4g dGhlIGNhbGwgdG8gaTkxNV9zZXFub19wYXNzZWQoKSBpcyBvYnNvbGV0ZWQuLi4KPj4gLSAqLwo+ PiAtCj4+IC0vKgo+PiAgICAqIEEgY29tbWFuZCB0aGF0IHJlcXVpcmVzIHNwZWNpYWwgaGFuZGxp bmcgYnkgdGhlIGNvbW1hbmQgcGFyc2VyLgo+PiAgICAqLwo+PiAgIHN0cnVjdCBkcm1faTkxNV9j bWRfZGVzY3JpcHRvciB7Cj4+IEBAIC0zMjExLDI0ICszMjE2LDYgQEAgaTkxNV9zZXFub19wYXNz ZWQodWludDMyX3Qgc2VxMSwgdWludDMyX3Qgc2VxMikKPj4gICAgICAgcmV0dXJuIChpbnQzMl90 KShzZXExIC0gc2VxMikgPj0gMDsKPj4gICB9Cj4+Cj4+IC1zdGF0aWMgaW5saW5lIGJvb2wgaTkx NV9nZW1fcmVxdWVzdF9zdGFydGVkKHN0cnVjdCBkcm1faTkxNV9nZW1fcmVxdWVzdCAqcmVxLAo+ PiAtICAgICAgICAgICAgICAgICAgICAgICBib29sIGxhenlfY29oZXJlbmN5KQo+PiAtewo+PiAt ICAgIGlmICghbGF6eV9jb2hlcmVuY3kgJiYgcmVxLT5lbmdpbmUtPmlycV9zZXFub19iYXJyaWVy KQo+PiAtICAgICAgICByZXEtPmVuZ2luZS0+aXJxX3NlcW5vX2JhcnJpZXIocmVxLT5lbmdpbmUp Owo+PiAtICAgIHJldHVybiBpOTE1X3NlcW5vX3Bhc3NlZChyZXEtPmVuZ2luZS0+Z2V0X3NlcW5v KHJlcS0+ZW5naW5lKSwKPj4gLSAgICAgICAgICAgICAgICAgcmVxLT5wcmV2aW91c19zZXFubyk7 Cj4+IC19Cj4+IC0KPj4gLXN0YXRpYyBpbmxpbmUgYm9vbCBpOTE1X2dlbV9yZXF1ZXN0X2NvbXBs ZXRlZChzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3JlcXVlc3QgKnJlcSwKPj4gLSAgICAgICAgICAgICAg ICAgICAgICAgICAgYm9vbCBsYXp5X2NvaGVyZW5jeSkKPj4gLXsKPj4gLSAgICBpZiAoIWxhenlf Y29oZXJlbmN5ICYmIHJlcS0+ZW5naW5lLT5pcnFfc2Vxbm9fYmFycmllcikKPj4gLSAgICAgICAg cmVxLT5lbmdpbmUtPmlycV9zZXFub19iYXJyaWVyKHJlcS0+ZW5naW5lKTsKPj4gLSAgICByZXR1 cm4gaTkxNV9zZXFub19wYXNzZWQocmVxLT5lbmdpbmUtPmdldF9zZXFubyhyZXEtPmVuZ2luZSks Cj4+IC0gICAgICAgICAgICAgICAgIHJlcS0+c2Vxbm8pOwo+PiAtfQo+PiAtCj4+ICAgaW50IF9f bXVzdF9jaGVjayBpOTE1X2dlbV9nZXRfc2Vxbm8oc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRl dl9wcml2LCB1MzIgKnNlcW5vKTsKPj4gICBpbnQgX19tdXN0X2NoZWNrIGk5MTVfZ2VtX3NldF9z ZXFubyhzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB1MzIgc2Vxbm8pOwo+Pgo+PiBkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW0uYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2k5MTVfZ2VtLmMKPj4gaW5kZXggNTdkMzU5My4uYjY3ZmQ3YyAxMDA2NDQKPj4gLS0tIGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW0uYwo+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pOTE1X2dlbS5jCj4+IEBAIC0xMTcwLDYgKzExNzAsNyBAQCBzdGF0aWMgaW50IF9faTkxNV9z cGluX3JlcXVlc3Qoc3RydWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0ICpyZXEsIGludCBzdGF0ZSkK Pj4gICB7Cj4+ICAgICAgIHVuc2lnbmVkIGxvbmcgdGltZW91dDsKPj4gICAgICAgdW5zaWduZWQg Y3B1Owo+PiArICAgIHVpbnQzMl90IHNlcW5vOwo+Pgo+PiAgICAgICAvKiBXaGVuIHdhaXRpbmcg Zm9yIGhpZ2ggZnJlcXVlbmN5IHJlcXVlc3RzLCBlLmcuIGR1cmluZyBzeW5jaHJvbm91cwo+PiAg ICAgICAgKiByZW5kZXJpbmcgc3BsaXQgYmV0d2VlbiB0aGUgQ1BVIGFuZCBHUFUsIHRoZSBmaW5p dGUgYW1vdW50IG9mIHRpbWUKPj4gQEAgLTExODUsMTIgKzExODYsMTQgQEAgc3RhdGljIGludCBf X2k5MTVfc3Bpbl9yZXF1ZXN0KHN0cnVjdCBkcm1faTkxNV9nZW1fcmVxdWVzdCAqcmVxLCBpbnQg c3RhdGUpCj4+ICAgICAgICAgICByZXR1cm4gLUVCVVNZOwo+Pgo+PiAgICAgICAvKiBPbmx5IHNw aW4gaWYgd2Uga25vdyB0aGUgR1BVIGlzIHByb2Nlc3NpbmcgdGhpcyByZXF1ZXN0ICovCj4+IC0g ICAgaWYgKCFpOTE1X2dlbV9yZXF1ZXN0X3N0YXJ0ZWQocmVxLCB0cnVlKSkKPj4gKyAgICBzZXFu byA9IHJlcS0+ZW5naW5lLT5nZXRfc2Vxbm8ocmVxLT5lbmdpbmUpOwo+PiArICAgIGlmICghaTkx NV9zZXFub19wYXNzZWQoc2Vxbm8sIHJlcS0+cHJldmlvdXNfc2Vxbm8pKQo+PiAgICAgICAgICAg cmV0dXJuIC1FQUdBSU47Cj4+Cj4+ICAgICAgIHRpbWVvdXQgPSBsb2NhbF9jbG9ja191cygmY3B1 KSArIDU7Cj4+ICAgICAgIHdoaWxlICghbmVlZF9yZXNjaGVkKCkpIHsKPj4gLSAgICAgICAgaWYg KGk5MTVfZ2VtX3JlcXVlc3RfY29tcGxldGVkKHJlcSwgdHJ1ZSkpCj4+ICsgICAgICAgIHNlcW5v ID0gcmVxLT5lbmdpbmUtPmdldF9zZXFubyhyZXEtPmVuZ2luZSk7Cj4+ICsgICAgICAgIGlmIChp OTE1X3NlcW5vX3Bhc3NlZChzZXFubywgcmVxLT5zZXFubykpCj4+ICAgICAgICAgICAgICAgcmV0 dXJuIDA7Cj4+Cj4+ICAgICAgICAgICBpZiAoc2lnbmFsX3BlbmRpbmdfc3RhdGUoc3RhdGUsIGN1 cnJlbnQpKQo+PiBAQCAtMTIwMiw3ICsxMjA1LDEwIEBAIHN0YXRpYyBpbnQgX19pOTE1X3NwaW5f cmVxdWVzdChzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3JlcXVlc3QgKnJlcSwgaW50IHN0YXRlKQo+PiAg ICAgICAgICAgY3B1X3JlbGF4X2xvd2xhdGVuY3koKTsKPj4gICAgICAgfQo+Pgo+PiAtICAgIGlm IChpOTE1X2dlbV9yZXF1ZXN0X2NvbXBsZXRlZChyZXEsIGZhbHNlKSkKPj4gKyAgICBpZiAocmVx LT5lbmdpbmUtPmlycV9zZXFub19iYXJyaWVyKQo+PiArICAgICAgICByZXEtPmVuZ2luZS0+aXJx X3NlcW5vX2JhcnJpZXIocmVxLT5lbmdpbmUpOwo+PiArICAgIHNlcW5vID0gcmVxLT5lbmdpbmUt PmdldF9zZXFubyhyZXEtPmVuZ2luZSk7Cj4+ICsgICAgaWYgKGk5MTVfc2Vxbm9fcGFzc2VkKHNl cW5vLCByZXEtPnNlcW5vKSkKPj4gICAgICAgICAgIHJldHVybiAwOwo+Pgo+PiAgICAgICByZXR1 cm4gLUVBR0FJTjsKPj4gQEAgLTI3MzYsMTMgKzI3NDIsODkgQEAgc3RhdGljIHZvaWQgaTkxNV9z ZXRfcmVzZXRfc3RhdHVzKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKPj4gICAg ICAgfQo+PiAgIH0KPj4KPj4gLXZvaWQgaTkxNV9nZW1fcmVxdWVzdF9mcmVlKHN0cnVjdCBrcmVm ICpyZXFfcmVmKQo+PiArc3RhdGljIHZvaWQgaTkxNV9nZW1fcmVxdWVzdF9mcmVlX3JjdShzdHJ1 Y3QgcmN1X2hlYWQgKmhlYWQpCj4+ICAgewo+PiAtICAgIHN0cnVjdCBkcm1faTkxNV9nZW1fcmVx dWVzdCAqcmVxID0gY29udGFpbmVyX29mKHJlcV9yZWYsCj4+IC0gICAgICAgICAgICAgICAgICAg ICAgICAgdHlwZW9mKCpyZXEpLCByZWYpOwo+PiArICAgIHN0cnVjdCBkcm1faTkxNV9nZW1fcmVx dWVzdCAqcmVxOwo+PiArCj4+ICsgICAgcmVxID0gY29udGFpbmVyX29mKGhlYWQsIHR5cGVvZigq cmVxKSwgcmN1X2hlYWQpOwo+PiAgICAgICBrbWVtX2NhY2hlX2ZyZWUocmVxLT5pOTE1LT5yZXF1 ZXN0cywgcmVxKTsKPj4gICB9Cj4+Cj4+ICtzdGF0aWMgdm9pZCBpOTE1X2dlbV9yZXF1ZXN0X2Zy ZWUoc3RydWN0IGZlbmNlICpyZXFfZmVuY2UpCj4+ICt7Cj4+ICsgICAgc3RydWN0IGRybV9pOTE1 X2dlbV9yZXF1ZXN0ICpyZXE7Cj4+ICsKPj4gKyAgICByZXEgPSBjb250YWluZXJfb2YocmVxX2Zl bmNlLCB0eXBlb2YoKnJlcSksIGZlbmNlKTsKPj4gKyAgICBjYWxsX3JjdSgmcmVxLT5yY3VfaGVh ZCwgaTkxNV9nZW1fcmVxdWVzdF9mcmVlX3JjdSk7Cj4+ICt9Cj4+ICsKPj4gK3N0YXRpYyBib29s IGk5MTVfZ2VtX3JlcXVlc3RfZW5hYmxlX3NpZ25hbGluZyhzdHJ1Y3QgZmVuY2UgKnJlcV9mZW5j ZSkKPj4gK3sKPj4gKyAgICAvKiBJbnRlcnJ1cHQgZHJpdmVuIGZlbmNlcyBhcmUgbm90IGltcGxl bWVudGVkIHlldC4qLwo+PiArICAgIFdBUk4odHJ1ZSwgIlRoaXMgc2hvdWxkIG5vdCBiZSBjYWxs ZWQhIik7Cj4+ICsgICAgcmV0dXJuIHRydWU7Cj4+ICt9Cj4+ICsKPj4gK3N0YXRpYyBib29sIGk5 MTVfZ2VtX3JlcXVlc3RfaXNfY29tcGxldGVkKHN0cnVjdCBmZW5jZSAqcmVxX2ZlbmNlKQo+PiAr ewo+PiArICAgIHN0cnVjdCBkcm1faTkxNV9nZW1fcmVxdWVzdCAqcmVxID0gY29udGFpbmVyX29m KHJlcV9mZW5jZSwKPj4gKyAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlb2YoKnJlcSksIGZl bmNlKTsKPj4gKyAgICB1MzIgc2Vxbm87Cj4+ICsKPj4gKyAgICBzZXFubyA9IHJlcS0+ZW5naW5l LT5nZXRfc2Vxbm8ocmVxLT5lbmdpbmUpOwo+PiArCj4+ICsgICAgcmV0dXJuIGk5MTVfc2Vxbm9f cGFzc2VkKHNlcW5vLCByZXEtPnNlcW5vKTsKPj4gK30KPj4gKwo+PiArc3RhdGljIGNvbnN0IGNo YXIgKmk5MTVfZ2VtX3JlcXVlc3RfZ2V0X2RyaXZlcl9uYW1lKHN0cnVjdCBmZW5jZSAqcmVxX2Zl bmNlKQo+PiArewo+PiArICAgIHJldHVybiAiaTkxNSI7Cj4+ICt9Cj4+ICsKPj4gK3N0YXRpYyBj b25zdCBjaGFyICppOTE1X2dlbV9yZXF1ZXN0X2dldF90aW1lbGluZV9uYW1lKHN0cnVjdCBmZW5j ZSAqcmVxX2ZlbmNlKQo+PiArewo+PiArICAgIHN0cnVjdCBkcm1faTkxNV9nZW1fcmVxdWVzdCAq cmVxOwo+PiArICAgIHN0cnVjdCBpOTE1X2ZlbmNlX3RpbWVsaW5lICp0aW1lbGluZTsKPj4gKwo+ PiArICAgIHJlcSA9IGNvbnRhaW5lcl9vZihyZXFfZmVuY2UsIHR5cGVvZigqcmVxKSwgZmVuY2Up Owo+PiArICAgIHRpbWVsaW5lID0gJnJlcS0+Y3R4LT5lbmdpbmVbcmVxLT5lbmdpbmUtPmlkXS5m ZW5jZV90aW1lbGluZTsKPj4gKwo+PiArICAgIHJldHVybiB0aW1lbGluZS0+bmFtZTsKPj4gK30K Pj4gKwo+PiArc3RhdGljIHZvaWQgaTkxNV9nZW1fcmVxdWVzdF90aW1lbGluZV92YWx1ZV9zdHIo c3RydWN0IGZlbmNlICpyZXFfZmVuY2UsCj4+ICsgICAgICAgICAgICAgICAgICAgICAgICBjaGFy ICpzdHIsIGludCBzaXplKQo+PiArewo+PiArICAgIHN0cnVjdCBkcm1faTkxNV9nZW1fcmVxdWVz dCAqcmVxOwo+PiArCj4+ICsgICAgcmVxID0gY29udGFpbmVyX29mKHJlcV9mZW5jZSwgdHlwZW9m KCpyZXEpLCBmZW5jZSk7Cj4+ICsKPj4gKyAgICAvKiBMYXN0IHNpZ25hbGxlZCB0aW1lbGluZSB2 YWx1ZSA/Pz8gKi8KPj4gKyAgICBzbnByaW50ZihzdHIsIHNpemUsICI/IFslZF0iLyosIHRpbWVs aW5lLT52YWx1ZSovLAo+Cj4gUmVmZXJlbmNlIHRvIHRpbWVsaW5lLT52YWx1ZSBhIGxlZnRvdmVy IGZyb20gdGhlIHBhc3Q/Cj4KPiBJcyB0aGUgc3RyaW5nIGZvcm1hdCBkZWZpbmVkIGJ5IHRoZSBB UEk/IEFza2luZyBiZWNhdXNlICI/IFslZF0iIGxvb2tzIGludHJpZ3VpbmcuCj4KPj4gKyAgICAg ICAgIHJlcS0+ZW5naW5lLT5nZXRfc2Vxbm8ocmVxLT5lbmdpbmUpKTsKPj4gK30KPj4gKwo+PiAr c3RhdGljIHZvaWQgaTkxNV9nZW1fcmVxdWVzdF9mZW5jZV92YWx1ZV9zdHIoc3RydWN0IGZlbmNl ICpyZXFfZmVuY2UsCj4+ICsgICAgICAgICAgICAgICAgICAgICAgICAgY2hhciAqc3RyLCBpbnQg c2l6ZSkKPj4gK3sKPj4gKyAgICBzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3JlcXVlc3QgKnJlcTsKPj4g Kwo+PiArICAgIHJlcSA9IGNvbnRhaW5lcl9vZihyZXFfZmVuY2UsIHR5cGVvZigqcmVxKSwgZmVu Y2UpOwo+PiArCj4+ICsgICAgc25wcmludGYoc3RyLCBzaXplLCAiJWQgWyVkXSIsIHJlcS0+ZmVu Y2Uuc2Vxbm8sIHJlcS0+c2Vxbm8pOwo+Cj4gSXMgaXQgT0sgdG8gcHV0IHJlcS0+c2Vxbm8gaW4g dGhpcyBvbmU/IE9SIGl0IGlzIGp1c3QgZm9yIGRlYnVnIGFueXdheSBzbyBpdCBoZWxwcyB1cyBh bmQgZmVuY2UgZnJhbWV3b3JrIGRvZXMgbm90IGNhcmU/CkkgdGhpbmsgdGhpcyBpcyB1c2VkIGZv ciBnZXR0aW5nIGFsbCBpbmZvIGZyb20gZGVidWdmcyBvbmx5LCBzbyByZXEtPnNlcW5vIGlzIGZp bmUuCj4+ICt9Cj4+ICsKPj4gK3N0YXRpYyBjb25zdCBzdHJ1Y3QgZmVuY2Vfb3BzIGk5MTVfZ2Vt X3JlcXVlc3RfZm9wcyA9IHsKPj4gKyAgICAuZW5hYmxlX3NpZ25hbGluZyAgICA9IGk5MTVfZ2Vt X3JlcXVlc3RfZW5hYmxlX3NpZ25hbGluZywKPj4gKyAgICAuc2lnbmFsZWQgICAgICAgID0gaTkx NV9nZW1fcmVxdWVzdF9pc19jb21wbGV0ZWQsCj4+ICsgICAgLndhaXQgICAgICAgICAgICA9IGZl bmNlX2RlZmF1bHRfd2FpdCwKPj4gKyAgICAucmVsZWFzZSAgICAgICAgPSBpOTE1X2dlbV9yZXF1 ZXN0X2ZyZWUsCj4+ICsgICAgLmdldF9kcml2ZXJfbmFtZSAgICA9IGk5MTVfZ2VtX3JlcXVlc3Rf Z2V0X2RyaXZlcl9uYW1lLAo+PiArICAgIC5nZXRfdGltZWxpbmVfbmFtZSAgICA9IGk5MTVfZ2Vt X3JlcXVlc3RfZ2V0X3RpbWVsaW5lX25hbWUsCj4+ICsgICAgLmZlbmNlX3ZhbHVlX3N0ciAgICA9 IGk5MTVfZ2VtX3JlcXVlc3RfZmVuY2VfdmFsdWVfc3RyLAo+PiArICAgIC50aW1lbGluZV92YWx1 ZV9zdHIgICAgPSBpOTE1X2dlbV9yZXF1ZXN0X3RpbWVsaW5lX3ZhbHVlX3N0ciwKPj4gK307Cj4+ ICsKPj4gICBpbnQgaTkxNV9jcmVhdGVfZmVuY2VfdGltZWxpbmUoc3RydWN0IGRybV9kZXZpY2Ug KmRldiwKPj4gICAgICAgICAgICAgICAgICAgICAgc3RydWN0IGk5MTVfZ2VtX2NvbnRleHQgKmN0 eCwKPj4gICAgICAgICAgICAgICAgICAgICAgc3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5l KQo+PiBAQCAtMjc3MCw3ICsyODUyLDcgQEAgaW50IGk5MTVfY3JlYXRlX2ZlbmNlX3RpbWVsaW5l KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCj4+ICAgICAgIHJldHVybiAwOwo+PiAgIH0KPj4KPj4g LXVuc2lnbmVkIGk5MTVfZmVuY2VfdGltZWxpbmVfZ2V0X25leHRfc2Vxbm8oc3RydWN0IGk5MTVf ZmVuY2VfdGltZWxpbmUgKnRpbWVsaW5lKQo+PiArc3RhdGljIHVuc2lnbmVkIGk5MTVfZmVuY2Vf dGltZWxpbmVfZ2V0X25leHRfc2Vxbm8oc3RydWN0IGk5MTVfZmVuY2VfdGltZWxpbmUgKnRpbWVs aW5lKQo+PiAgIHsKPj4gICAgICAgdW5zaWduZWQgc2Vxbm87Cj4+Cj4+IEBAIC0yODE0LDEzICsy ODk2LDE2IEBAIF9faTkxNV9nZW1fcmVxdWVzdF9hbGxvYyhzdHJ1Y3QgaW50ZWxfZW5naW5lX2Nz ICplbmdpbmUsCj4+ICAgICAgIGlmIChyZXQpCj4+ICAgICAgICAgICBnb3RvIGVycjsKPj4KPj4g LSAgICBrcmVmX2luaXQoJnJlcS0+cmVmKTsKPj4gICAgICAgcmVxLT5pOTE1ID0gZGV2X3ByaXY7 Cj4+ICAgICAgIHJlcS0+ZW5naW5lID0gZW5naW5lOwo+PiAgICAgICByZXEtPnJlc2V0X2NvdW50 ZXIgPSByZXNldF9jb3VudGVyOwo+PiAgICAgICByZXEtPmN0eCAgPSBjdHg7Cj4+ICAgICAgIGk5 MTVfZ2VtX2NvbnRleHRfcmVmZXJlbmNlKHJlcS0+Y3R4KTsKPj4KPj4gKyAgICBmZW5jZV9pbml0 KCZyZXEtPmZlbmNlLCAmaTkxNV9nZW1fcmVxdWVzdF9mb3BzLCAmZW5naW5lLT5mZW5jZV9sb2Nr LAo+PiArICAgICAgICAgICBjdHgtPmVuZ2luZVtlbmdpbmUtPmlkXS5mZW5jZV90aW1lbGluZS5m ZW5jZV9jb250ZXh0LAo+PiArICAgICAgICAgICBpOTE1X2ZlbmNlX3RpbWVsaW5lX2dldF9uZXh0 X3NlcW5vKCZjdHgtPmVuZ2luZVtlbmdpbmUtPmlkXS5mZW5jZV90aW1lbGluZSkpOwo+PiArCj4+ ICAgICAgIC8qCj4+ICAgICAgICAqIFJlc2VydmUgc3BhY2UgaW4gdGhlIHJpbmcgYnVmZmVyIGZv ciBhbGwgdGhlIGNvbW1hbmRzIHJlcXVpcmVkIHRvCj4+ICAgICAgICAqIGV2ZW50dWFsbHkgZW1p dCB0aGlzIHJlcXVlc3QuIFRoaXMgaXMgdG8gZ3VhcmFudGVlIHRoYXQgdGhlCj4+IGRpZmYgLS1n aXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9scmMuYyBiL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX2xyYy5jCj4+IGluZGV4IDE0YmNmYjcuLmYxMjZiY2IgMTAwNjQ0Cj4+IC0tLSBh L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2xyYy5jCj4+ICsrKyBiL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX2xyYy5jCj4+IEBAIC0yMDMwLDYgKzIwMzAsNyBAQCBsb2dpY2FsX3Jpbmdf c2V0dXAoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgZW51bSBpbnRlbF9lbmdpbmVfaWQgaWQpCj4+ ICAgICAgIElOSVRfTElTVF9IRUFEKCZlbmdpbmUtPmJ1ZmZlcnMpOwo+PiAgICAgICBJTklUX0xJ U1RfSEVBRCgmZW5naW5lLT5leGVjbGlzdF9xdWV1ZSk7Cj4+ICAgICAgIHNwaW5fbG9ja19pbml0 KCZlbmdpbmUtPmV4ZWNsaXN0X2xvY2spOwo+PiArICAgIHNwaW5fbG9ja19pbml0KCZlbmdpbmUt PmZlbmNlX2xvY2spOwo+Pgo+PiAgICAgICB0YXNrbGV0X2luaXQoJmVuZ2luZS0+aXJxX3Rhc2ts ZXQsCj4+ICAgICAgICAgICAgICAgIGludGVsX2xyY19pcnFfaGFuZGxlciwgKHVuc2lnbmVkIGxv bmcpZW5naW5lKTsKPj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3Jp bmdidWZmZXIuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3JpbmdidWZmZXIuYwo+PiBp bmRleCA4ZDM1YTM5Li5mYmQzZjEyIDEwMDY0NAo+PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9yaW5nYnVmZmVyLmMKPj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf cmluZ2J1ZmZlci5jCj4+IEBAIC0yMjU0LDYgKzIyNTQsNyBAQCBzdGF0aWMgaW50IGludGVsX2lu aXRfcmluZ19idWZmZXIoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKPj4gICAgICAgSU5JVF9MSVNU X0hFQUQoJmVuZ2luZS0+cmVxdWVzdF9saXN0KTsKPj4gICAgICAgSU5JVF9MSVNUX0hFQUQoJmVu Z2luZS0+ZXhlY2xpc3RfcXVldWUpOwo+PiAgICAgICBJTklUX0xJU1RfSEVBRCgmZW5naW5lLT5i dWZmZXJzKTsKPj4gKyAgICBzcGluX2xvY2tfaW5pdCgmZW5naW5lLT5mZW5jZV9sb2NrKTsKPj4g ICAgICAgaTkxNV9nZW1fYmF0Y2hfcG9vbF9pbml0KGRldiwgJmVuZ2luZS0+YmF0Y2hfcG9vbCk7 Cj4+ICAgICAgIG1lbXNldChlbmdpbmUtPnNlbWFwaG9yZS5zeW5jX3NlcW5vLCAwLAo+PiAgICAg ICAgICAgICAgc2l6ZW9mKGVuZ2luZS0+c2VtYXBob3JlLnN5bmNfc2Vxbm8pKTsKPj4gZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3JpbmdidWZmZXIuaCBiL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX3JpbmdidWZmZXIuaAo+PiBpbmRleCBiMzNjODc2Li4zZjM5ZGFm IDEwMDY0NAo+PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9yaW5nYnVmZmVyLmgK Pj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcmluZ2J1ZmZlci5oCj4+IEBAIC0z NDUsNiArMzQ1LDggQEAgc3RydWN0IGludGVsX2VuZ2luZV9jcyB7Cj4+ICAgICAgICAqIHRvIGVu Y29kZSB0aGUgY29tbWFuZCBsZW5ndGggaW4gdGhlIGhlYWRlcikuCj4+ICAgICAgICAqLwo+PiAg ICAgICB1MzIgKCpnZXRfY21kX2xlbmd0aF9tYXNrKSh1MzIgY21kX2hlYWRlcik7Cj4+ICsKPj4g KyAgICBzcGlubG9ja190IGZlbmNlX2xvY2s7Cj4KPiBXaHkgaXMgdGhpcyBsb2NrIHBlci1lbmdp bmUsIGFuZCBub3QgZm9yIGV4YW1wbGUgcGVyIHRpbWVsaW5lPyBBcmVuJ3QgZmVuY2VlcyBsaXZp bmcgY29tcGxldGVseSBpc29sYXRlZCBpbiB0aGVpciBwZXItY29udGV4dC1wZXItZW5naW5lIGRv bWFpbnM/IFNvIHByZXN1bWFibHkgdGhlcmUgaXMgc29tZXRoaW5nIHNvbWV3aGVyZSB3aGljaCBp cyBzaGFyZWQgb3V0c2lkZSB0aGF0IGRvbWFpbiB0byBuZWVkIGEgbG9jayBhdCB0aGUgZW5naW5l IGxldmVsPyAKQWxsIG91dHN0YW5kaW5nIHJlcXVlc3RzIGFyZSBhZGRlZCB0byBlbmdpbmUtPmZl bmNlX3NpZ25hbF9saXN0IGluIHBhdGNoIDQsIHdoaWNoIG1lYW5zIGEgcGVyIGVuZ2luZSBsb2Nr IGlzIHJlcXVpcmVkLgoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9w Lm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVs LWdmeAo=