From mboxrd@z Thu Jan 1 00:00:00 1970 From: =?UTF-8?Q?Nicolai_H=c3=a4hnle?= Subject: Re: [PATCH 5/5] drm/amd/sched: signal and free remaining fences in amd_sched_entity_fini Date: Mon, 9 Oct 2017 13:04:30 +0200 Message-ID: References: <20170928145530.12844-1-nhaehnle@gmail.com> <20170928145530.12844-5-nhaehnle@gmail.com> <3032bef3-4829-8cae-199a-11353b38c49a@gmail.com> <11f21e54-16b8-68e4-c63e-d791ef8bbffa@gmail.com> <7e338e23-540c-4e2e-982f-f0eb623c75b1@amd.com> <760c1434-0739-81ff-82c3-a5210c5575d3@amd.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <760c1434-0739-81ff-82c3-a5210c5575d3-5C7GfCeVMHo@public.gmane.org> Content-Language: en-US List-Id: Discussion list for AMD gfx List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: amd-gfx-bounces-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Sender: "amd-gfx" To: =?UTF-8?Q?Christian_K=c3=b6nig?= , "Liu, Monk" , =?UTF-8?Q?Nicolai_H=c3=a4hnle?= , "amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org" , "Olsak, Marek" Cc: "Li, Bingley" T24gMDkuMTAuMjAxNyAxMjo1OSwgQ2hyaXN0aWFuIEvDtm5pZyB3cm90ZToKPiBOaWNvbGFpLCBo b3cgaGFyZCB3b3VsZCBpdCBiZSB0byBoYW5kbGUgRU5PREVWIGFzIGZhaWx1cmUgZm9yIGFsbCAK PiBjdXJyZW50bHkgZXhpc3RpbmcgY29udGV4dHM/CgpJbXBvc3NpYmxlPyAiQWxsIGN1cnJlbnRs eSBleGlzdGluZyBjb250ZXh0cyIgaXMgbm90IGEgd2VsbC1kZWZpbmVkIApjb25jZXB0IHdoZW4g bXVsdGlwbGUgZHJpdmVycyBjby1leGlzdCBpbiB0aGUgc2FtZSBwcm9jZXNzLgoKQW5kIHdoYXQg d291bGQgYmUgdGhlIHB1cnBvc2Ugb2YgdGhpcz8gSWYgaXQncyB0byBzdXBwb3J0IFZSQU0gbG9z cywgCmhhdmluZyBhIHBlci1jb250ZXh0IFZSQU0gbG9zcyBjb3VudGVyIHdvdWxkIGVuYWJsZSBl YWNoIGNvbnRleHQgdG8gCnNpZ25hbCBFQ0FOQ0VMRUQgc2VwYXJhdGVseS4KCkNoZWVycywKTmlj b2xhaQoKCj4gCj4gTW9uaywgd291bGQgaXQgYmUgb2sgd2l0aCB5b3Ugd2hlbiB3ZSByZXR1cm4g RU5PREVWIG9ubHkgZm9yIGV4aXN0aW5nIAo+IGNvbnRleHQgd2hlbiBWUkFNIGlzIGxvc3QgYW5k L29yIHdlIGhhdmUgYSBzdHJpY3QgbW9kZSBHUFUgcmVzZXQ/IEUuZy4gCj4gbmV3bHkgY3JlYXRl ZCBjb250ZXh0cyB3b3VsZCBjb250aW51ZSB3b3JrIGFzIHRoZXkgc2hvdWxkLgo+IAo+IFJlZ2Fy ZHMsCj4gQ2hyaXN0aWFuLgo+IAo+IEFtIDA5LjEwLjIwMTcgdW0gMTI6NDkgc2NocmllYiBOaWNv bGFpIEjDpGhubGU6Cj4+IEhpIE1vbmssCj4+Cj4+IFllcywgeW91J3JlIHJpZ2h0LCB3ZSdyZSBv bmx5IHVzaW5nIEVDQU5DRUxFRCBpbnRlcm5hbGx5LiBCdXQgYXMgYSAKPj4gY29uc2VxdWVuY2Us IE1lc2Egd291bGQgYWxyZWFkeSBoYW5kbGUgYSBrZXJuZWwgZXJyb3Igb2YgRUNBTkNFTEVEIG9u IAo+PiBjb250ZXh0IGxvc3MgY29ycmVjdGx5IDopCj4+Cj4+IENoZWVycywKPj4gTmljb2xhaQo+ Pgo+PiBPbiAwOS4xMC4yMDE3IDEyOjM1LCBMaXUsIE1vbmsgd3JvdGU6Cj4+PiBIaSBDaHJpc3Rp YW4KPj4+Cj4+PiBZb3UgcmVqZWN0IHNvbWUgb2YgbXkgcGF0Y2hlcyB0aGF0IHJldHVybnMgLUVO T0RFViwgd2l0aCB0aGUgY2F1c2UgCj4+PiB0aGF0IE1FU0EgZG9lc24ndCBkbyB0aGUgaGFuZGxp bmcgb24gLUVOT0RFVgo+Pj4KPj4+IEJ1dCBpZiBOaWNvbGFpIGNhbiBjb25maXJtIHRoYXQgTUVT QSBkbyBoYXZlIGEgaGFuZGxpbmcgb24gCj4+PiAtRUNBTkNFTEVELCB0aGVuIHdlIG5lZWQgdG8g b3ZlcmFsbCBhbGlnbiBvdXIgZXJyb3IgY29kZSwgb24gZGV0YWlsIAo+Pj4gYmVsb3cgSU9DVEwg Y2FuIHJldHVybiBlcnJvciBjb2RlOgo+Pj4KPj4+IEFtZGdwdV9jc19pb2N0bAo+Pj4gQW1kZ3B1 X2NzX3dhaXRfaW9jdGwKPj4+IEFtZGdwdV9jc193YWl0X2ZlbmNlc19pb2N0bAo+Pj4gQW1kZ3B1 X2luZm9faW9jdGwKPj4+Cj4+Pgo+Pj4gTXkgcGF0Y2hlcyBpczoKPj4+IHJldHVybiAtRU5PREVW IG9uIGNzX2lvY3RsIGlmIHRoZSBjb250ZXh0IGlzIGRldGVjdGVkIGd1aWx0eSwKPj4+IGFsc28g cmV0dXJuIC1FTk9ERVYgb24gY3Nfd2FpdHxjc193YWl0X2ZlbmNlcyBpZiB0aGUgZmVuY2UgaXMg Cj4+PiBzaWduYWxlZCBidXQgd2l0aCBlcnJvciAtRVRJTUUsCj4+PiBhbHNvIHJldHVybiAtRU5P REVWIG9uIGluZm9faW9jdGwgc28gVU1EIGNhbiBxdWVyeSBpZiBncHUgcmVzZXQgCj4+PiBoYXBw ZW5lZCBhZnRlciB0aGUgcHJvY2VzcyBjcmVhdGVkIChiZWNhdXNlIGZvciBzdHJpY3QgbW9kZSB3 ZSBibG9jayAKPj4+IHByb2Nlc3MgaW5zdGVhZCBvZiBjb250ZXh0KQo+Pj4KPj4+Cj4+PiBhY2Nv cmRpbmcgdG8gTmljb2xhaToKPj4+Cj4+PiBhbWRncHVfY3NfaW9jdGwgKmNhbiogcmV0dXJuIC1F Q0FOQ0VMRUQsIGJ1dCB0byBiZSBmcmFua2x5IHNwZWFraW5nLCAKPj4+IGtlcm5lbCBwYXJ0IGRv ZXNuJ3QgaGF2ZSBhbnkgcGxhY2Ugd2l0aCAiLUVDQU5DRUxFRCIgc28gdGhpcyBzb2x1dGlvbiAK Pj4+IG9uIE1FU0Egc2lkZSBkb2Vzbid0IGFsaWduIHdpdGggKmN1cnJlbnQqIGFtZGdwdSBkcml2 ZXIsCj4+PiB3aGljaCBvbmx5IHJldHVybiAwIG9uIHN1Y2Nlc3Mgb3IgLUVJTlZBTElEIG9uIG90 aGVyIGVycm9yIGJ1dCAKPj4+IGRlZmluaXRlbHkgbm8gIi1FQ0FOQ0VMRUQiIGVycm9yIGNvZGUs Cj4+Pgo+Pj4gc28gaWYgd2UgdGFsa2luZyBhYm91dCBjb21tdW5pdHkgcnVsZXMgd2Ugc2hvdWxk bid0IGxldCBNRVNBIGhhbmRsZSAKPj4+IC1FQ0FOQ0VMRUQgLMKgIHdlIHNob3VsZCBoYXZlIGEg dW5pZmllZCBlcnJvciBjb2RlCj4+Pgo+Pj4gKyBNYXJlawo+Pj4KPj4+IEJSIE1vbmsKPj4+Cj4+ Pgo+Pj4KPj4+Cj4+PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQo+Pj4gRnJvbTogSGFlaG5s ZSwgTmljb2xhaQo+Pj4gU2VudDogMjAxN+W5tDEw5pyIOeaXpSAxODoxNAo+Pj4gVG86IEtvZW5p ZywgQ2hyaXN0aWFuIDxDaHJpc3RpYW4uS29lbmlnQGFtZC5jb20+OyBMaXUsIE1vbmsgCj4+PiA8 TW9uay5MaXVAYW1kLmNvbT47IE5pY29sYWkgSMOkaG5sZSA8bmhhZWhubGVAZ21haWwuY29tPjsg Cj4+PiBhbWQtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwo+Pj4gU3ViamVjdDogUmU6IFtQQVRD SCA1LzVdIGRybS9hbWQvc2NoZWQ6IHNpZ25hbCBhbmQgZnJlZSByZW1haW5pbmcgCj4+PiBmZW5j ZXMgaW4gYW1kX3NjaGVkX2VudGl0eV9maW5pCj4+Pgo+Pj4gT24gMDkuMTAuMjAxNyAxMDowMiwg Q2hyaXN0aWFuIEvDtm5pZyB3cm90ZToKPj4+Pj4gRm9yIGdwdSByZXNldCBwYXRjaGVzIChhbHJl YWR5IHN1Ym1pdHRlZCB0byBwdWIpIEkgd291bGQgbWFrZSBrZXJuZWwKPj4+Pj4gcmV0dXJuIC1F Tk9ERVYgaWYgdGhlIHdhaXRpbmcgZmVuY2UgKGluIGNzX3dhaXQgb3Igd2FpdF9mZW5jZXMgSU9D VEwpCj4+Pj4+IGZvdW5kZWQgYXMgZXJyb3IsIHRoYXQgd2F5IFVNRCB3b3VsZCBydW4gaW50byBy b2J1c3QgZXh0ZW5zaW9uIHBhdGgKPj4+Pj4gYW5kIGNvbnNpZGVyaW5nIHRoZSBHUFUgaGFuZyBv Y2N1cnJlZCwKPj4+PiBXZWxsIHRoYXQgaXMgb25seSBjbG9zZWQgc291cmNlIGJlaGF2aW9yIHdo aWNoIGlzIGNvbXBsZXRlbHkKPj4+PiBpcnJlbGV2YW50IGZvciB1cHN0cmVhbSBkZXZlbG9wbWVu dC4KPj4+Pgo+Pj4+IEFzIGZhciBhcyBJIGtub3cgd2UgaGF2ZW4ndCBwdXNoZWQgdGhlIGNoYW5n ZSB0byByZXR1cm4gLUVOT0RFViAKPj4+PiB1cHN0cmVhbS4KPj4+Cj4+PiBGV0lXLCByYWRlb25z aSBjdXJyZW50bHkgZXhwZWN0cyAtRUNBTkNFTEVEIG9uIENTIHN1Ym1pc3Npb25zIGFuZCAKPj4+ IHRyZWF0cyB0aG9zZSBhcyBjb250ZXh0IGxvc3QuIFBlcmhhcHMgd2UgY291bGQgdXNlIHRoZSBz YW1lIGVycm9yIG9uIAo+Pj4gZmVuY2VzPwo+Pj4gVGhhdCBtYWtlcyBtb3JlIHNlbnNlIHRvIG1l IHRoYW4gLUVOT0RFVi4KPj4+Cj4+PiBDaGVlcnMsCj4+PiBOaWNvbGFpCj4+Pgo+Pj4+Cj4+Pj4g UmVnYXJkcywKPj4+PiBDaHJpc3RpYW4uCj4+Pj4KPj4+PiBBbSAwOS4xMC4yMDE3IHVtIDA4OjQy IHNjaHJpZWIgTGl1LCBNb25rOgo+Pj4+PiBDaHJpc3RpYW4KPj4+Pj4KPj4+Pj4+IEl0IHdvdWxk IGJlIHJlYWxseSBuaWNlIHRvIGhhdmUgYW4gZXJyb3IgY29kZSBzZXQgb24KPj4+Pj4+IHNfZmVu Y2UtPmZpbmlzaGVkIGJlZm9yZSBpdCBpcyBzaWduYWxlZCwgdXNlIGRtYV9mZW5jZV9zZXRfZXJy b3IoKQo+Pj4+Pj4gZm9yIHRoaXMuCj4+Pj4+IEZvciBncHUgcmVzZXQgcGF0Y2hlcyAoYWxyZWFk eSBzdWJtaXR0ZWQgdG8gcHViKSBJIHdvdWxkIG1ha2Uga2VybmVsCj4+Pj4+IHJldHVybiAtRU5P REVWIGlmIHRoZSB3YWl0aW5nIGZlbmNlIChpbiBjc193YWl0IG9yIHdhaXRfZmVuY2VzIElPQ1RM KQo+Pj4+PiBmb3VuZGVkIGFzIGVycm9yLCB0aGF0IHdheSBVTUQgd291bGQgcnVuIGludG8gcm9i dXN0IGV4dGVuc2lvbiBwYXRoCj4+Pj4+IGFuZCBjb25zaWRlcmluZyB0aGUgR1BVIGhhbmcgb2Nj dXJyZWQsCj4+Pj4+Cj4+Pj4+IERvbid0IGtub3cgaWYgdGhpcyBpcyBleHBlY3RlZCBmb3IgdGhl IGNhc2Ugb2Ygbm9ybWFsIHByb2Nlc3MgYmVpbmcKPj4+Pj4ga2lsbGVkIG9yIGNyYXNoZWQgbGlr ZSBOaWNvbGFpIGhpdCAuLi4gc2luY2UgdGhlcmUgaXMgbm8gZ3B1IGhhbmcgaGl0Cj4+Pj4+Cj4+ Pj4+Cj4+Pj4+IEJSIE1vbmsKPj4+Pj4KPj4+Pj4KPj4+Pj4KPj4+Pj4KPj4+Pj4gLS0tLS1Pcmln aW5hbCBNZXNzYWdlLS0tLS0KPj4+Pj4gRnJvbTogYW1kLWdmeCBbbWFpbHRvOmFtZC1nZngtYm91 bmNlc0BsaXN0cy5mcmVlZGVza3RvcC5vcmddIE9uCj4+Pj4+IEJlaGFsZiBPZiBDaHJpc3RpYW4g Sz9uaWcKPj4+Pj4gU2VudDogMjAxN+W5tDnmnIgyOOaXpSAyMzowMQo+Pj4+PiBUbzogTmljb2xh aSBIw6RobmxlIDxuaGFlaG5sZUBnbWFpbC5jb20+Owo+Pj4+PiBhbWQtZ2Z4QGxpc3RzLmZyZWVk ZXNrdG9wLm9yZwo+Pj4+PiBDYzogSGFlaG5sZSwgTmljb2xhaSA8Tmljb2xhaS5IYWVobmxlQGFt ZC5jb20+Cj4+Pj4+IFN1YmplY3Q6IFJlOiBbUEFUQ0ggNS81XSBkcm0vYW1kL3NjaGVkOiBzaWdu YWwgYW5kIGZyZWUgcmVtYWluaW5nCj4+Pj4+IGZlbmNlcyBpbiBhbWRfc2NoZWRfZW50aXR5X2Zp bmkKPj4+Pj4KPj4+Pj4gQW0gMjguMDkuMjAxNyB1bSAxNjo1NSBzY2hyaWViIE5pY29sYWkgSMOk aG5sZToKPj4+Pj4+IEZyb206IE5pY29sYWkgSMOkaG5sZSA8bmljb2xhaS5oYWVobmxlQGFtZC5j b20+Cj4+Pj4+Pgo+Pj4+Pj4gSGlnaGx5IGNvbmN1cnJlbnQgUGlnbGl0IHJ1bnMgY2FuIHRyaWdn ZXIgYSByYWNlIGNvbmRpdGlvbiB3aGVyZSBhCj4+Pj4+PiBwZW5kaW5nIFNETUEgam9iIG9uIGEg YnVmZmVyIG9iamVjdCBpcyBuZXZlciBleGVjdXRlZCBiZWNhdXNlIHRoZQo+Pj4+Pj4gY29ycmVz cG9uZGluZyBwcm9jZXNzIGlzIGtpbGxlZCAocGVyaGFwcyBkdWUgdG8gYSBjcmFzaCkuIFNpbmNl IHRoZQo+Pj4+Pj4gam9iJ3MgZmVuY2VzIHdlcmUgbmV2ZXIgc2lnbmFsZWQsIHRoZSBidWZmZXIg b2JqZWN0IHdhcyBlZmZlY3RpdmVseQo+Pj4+Pj4gbGVha2VkLiBXb3JzZSwgdGhlIGJ1ZmZlciB3 YXMgc3R1Y2sgd2hlcmV2ZXIgaXQgaGFwcGVuZWQgdG8gYmUgYXQKPj4+Pj4+IHRoZSB0aW1lLCBw b3NzaWJseSBpbiBWUkFNLgo+Pj4+Pj4KPj4+Pj4+IFRoZSBzeW1wdG9tIHdhcyB1c2VyIHNwYWNl IHByb2Nlc3NlcyBzdHVjayBpbiBpbnRlcnJ1cHRpYmxlIHdhaXRzCj4+Pj4+PiB3aXRoIGtlcm5l bCBzdGFja3MgbGlrZToKPj4+Pj4+Cj4+Pj4+PiDCoMKgwqDCoMKgwqAgWzxmZmZmZmZmZmJjNWU2 NzIyPl0gZG1hX2ZlbmNlX2RlZmF1bHRfd2FpdCsweDExMi8weDI1MAo+Pj4+Pj4gwqDCoMKgwqDC oMKgIFs8ZmZmZmZmZmZiYzVlNjM5OT5dIGRtYV9mZW5jZV93YWl0X3RpbWVvdXQrMHgzOS8weGYw Cj4+Pj4+PiDCoMKgwqDCoMKgwqAgWzxmZmZmZmZmZmJjNWU4MmQyPl0KPj4+Pj4+IHJlc2VydmF0 aW9uX29iamVjdF93YWl0X3RpbWVvdXRfcmN1KzB4MWMyLzB4MzAwCj4+Pj4+PiDCoMKgwqDCoMKg wqAgWzxmZmZmZmZmZmMwM2NlNTZmPl0gdHRtX2JvX2NsZWFudXBfcmVmc19hbmRfdW5sb2NrKzB4 ZmYvMHgxYTAKPj4+Pj4+IFt0dG1dCj4+Pj4+PiDCoMKgwqDCoMKgwqAgWzxmZmZmZmZmZmMwM2Nm MWVhPl0gdHRtX21lbV9ldmljdF9maXJzdCsweGJhLzB4MWEwIFt0dG1dCj4+Pj4+PiDCoMKgwqDC oMKgwqAgWzxmZmZmZmZmZmMwM2NmNjExPl0gdHRtX2JvX21lbV9zcGFjZSsweDM0MS8weDRjMCBb dHRtXQo+Pj4+Pj4gwqDCoMKgwqDCoMKgIFs8ZmZmZmZmZmZjMDNjZmM1ND5dIHR0bV9ib192YWxp ZGF0ZSsweGQ0LzB4MTUwIFt0dG1dCj4+Pj4+PiDCoMKgwqDCoMKgwqAgWzxmZmZmZmZmZmMwM2Nm ZmJkPl0gdHRtX2JvX2luaXRfcmVzZXJ2ZWQrMHgyZWQvMHg0MjAgW3R0bV0KPj4+Pj4+IMKgwqDC oMKgwqDCoCBbPGZmZmZmZmZmYzA0MmY1MjM+XSBhbWRncHVfYm9fY3JlYXRlX3Jlc3RyaWN0ZWQr MHgxZjMvMHg0NzAKPj4+Pj4+IFthbWRncHVdCj4+Pj4+PiDCoMKgwqDCoMKgwqAgWzxmZmZmZmZm ZmMwNDJmOWZhPl0gYW1kZ3B1X2JvX2NyZWF0ZSsweGRhLzB4MjIwIFthbWRncHVdCj4+Pj4+PiDC oMKgwqDCoMKgwqAgWzxmZmZmZmZmZmMwNDM0OWVhPl0gYW1kZ3B1X2dlbV9vYmplY3RfY3JlYXRl KzB4YWEvMHgxNDAKPj4+Pj4+IFthbWRncHVdCj4+Pj4+PiDCoMKgwqDCoMKgwqAgWzxmZmZmZmZm ZmMwNDM0Zjk3Pl0gYW1kZ3B1X2dlbV9jcmVhdGVfaW9jdGwrMHg5Ny8weDEyMAo+Pj4+Pj4gW2Ft ZGdwdV0KPj4+Pj4+IMKgwqDCoMKgwqDCoCBbPGZmZmZmZmZmYzAzN2RkYmE+XSBkcm1faW9jdGwr MHgxZmEvMHg0ODAgW2RybV0KPj4+Pj4+IMKgwqDCoMKgwqDCoCBbPGZmZmZmZmZmYzA0MTkwNGY+ XSBhbWRncHVfZHJtX2lvY3RsKzB4NGYvMHg5MCBbYW1kZ3B1XQo+Pj4+Pj4gwqDCoMKgwqDCoMKg IFs8ZmZmZmZmZmZiYzIzZGIzMz5dIGRvX3Zmc19pb2N0bCsweGEzLzB4NWYwCj4+Pj4+PiDCoMKg wqDCoMKgwqAgWzxmZmZmZmZmZmJjMjNlMGY5Pl0gU3lTX2lvY3RsKzB4NzkvMHg5MAo+Pj4+Pj4g wqDCoMKgwqDCoMKgIFs8ZmZmZmZmZmZiYzg2NGZmYj5dIGVudHJ5X1NZU0NBTExfNjRfZmFzdHBh dGgrMHgxZS8weGFkCj4+Pj4+PiDCoMKgwqDCoMKgwqAgWzxmZmZmZmZmZmZmZmZmZmZmPl0gMHhm ZmZmZmZmZmZmZmZmZmZmCj4+Pj4+Pgo+Pj4+Pj4gU2lnbmVkLW9mZi1ieTogTmljb2xhaSBIw6Ro bmxlIDxuaWNvbGFpLmhhZWhubGVAYW1kLmNvbT4KPj4+Pj4+IEFja2VkLWJ5OiBDaHJpc3RpYW4g S8O2bmlnIDxjaHJpc3RpYW4ua29lbmlnQGFtZC5jb20+Cj4+Pj4+PiAtLS0KPj4+Pj4+IMKgwqDC oCBkcml2ZXJzL2dwdS9kcm0vYW1kL3NjaGVkdWxlci9ncHVfc2NoZWR1bGVyLmMgfCA3ICsrKysr Ky0KPj4+Pj4+IMKgwqDCoCAxIGZpbGUgY2hhbmdlZCwgNiBpbnNlcnRpb25zKCspLCAxIGRlbGV0 aW9uKC0pCj4+Pj4+Pgo+Pj4+Pj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvc2No ZWR1bGVyL2dwdV9zY2hlZHVsZXIuYwo+Pj4+Pj4gYi9kcml2ZXJzL2dwdS9kcm0vYW1kL3NjaGVk dWxlci9ncHVfc2NoZWR1bGVyLmMKPj4+Pj4+IGluZGV4IDU0ZWI3N2NmZmQ5Yi4uMzJhOTllOTgw ZDc4IDEwMDY0NAo+Pj4+Pj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9zY2hlZHVsZXIvZ3B1 X3NjaGVkdWxlci5jCj4+Pj4+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL3NjaGVkdWxlci9n cHVfc2NoZWR1bGVyLmMKPj4+Pj4+IEBAIC0yMjAsMjIgKzIyMCwyNyBAQCB2b2lkIGFtZF9zY2hl ZF9lbnRpdHlfZmluaShzdHJ1Y3QKPj4+Pj4+IGFtZF9ncHVfc2NoZWR1bGVyICpzY2hlZCwKPj4+ Pj4+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgYW1kX3Nj aGVkX2VudGl0eV9pc19pZGxlKGVudGl0eSkpOwo+Pj4+Pj4gwqDCoMKgwqDCoMKgwqAgYW1kX3Nj aGVkX3JxX3JlbW92ZV9lbnRpdHkocnEsIGVudGl0eSk7Cj4+Pj4+PiDCoMKgwqDCoMKgwqDCoCBp ZiAocikgewo+Pj4+Pj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBzdHJ1Y3QgYW1kX3NjaGVkX2pv YiAqam9iOwo+Pj4+Pj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAvKiBQYXJrIHRoZSBrZXJuZWwg Zm9yIGEgbW9tZW50IHRvIG1ha2Ugc3VyZSBpdCBpc24ndAo+Pj4+Pj4gcHJvY2Vzc2luZwo+Pj4+ Pj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgICogb3VyIGVuaXR5Lgo+Pj4+Pj4gwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgICovCj4+Pj4+PiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGt0aHJlYWRf cGFyayhzY2hlZC0+dGhyZWFkKTsKPj4+Pj4+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAga3RocmVh ZF91bnBhcmsoc2NoZWQtPnRocmVhZCk7Cj4+Pj4+PiAtwqDCoMKgwqDCoMKgwqAgd2hpbGUgKGtm aWZvX291dCgmZW50aXR5LT5qb2JfcXVldWUsICZqb2IsIHNpemVvZihqb2IpKSkKPj4+Pj4+ICvC oMKgwqDCoMKgwqDCoCB3aGlsZSAoa2ZpZm9fb3V0KCZlbnRpdHktPmpvYl9xdWV1ZSwgJmpvYiwg c2l6ZW9mKGpvYikpKSB7Cj4+Pj4+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBzdHJ1Y3QgYW1k X3NjaGVkX2ZlbmNlICpzX2ZlbmNlID0gam9iLT5zX2ZlbmNlOwo+Pj4+Pj4gK8KgwqDCoMKgwqDC oMKgwqDCoMKgwqAgYW1kX3NjaGVkX2ZlbmNlX3NjaGVkdWxlZChzX2ZlbmNlKTsKPj4+Pj4gSXQg d291bGQgYmUgcmVhbGx5IG5pY2UgdG8gaGF2ZSBhbiBlcnJvciBjb2RlIHNldCBvbgo+Pj4+PiBz X2ZlbmNlLT5maW5pc2hlZCBiZWZvcmUgaXQgaXMgc2lnbmFsZWQsIHVzZSBkbWFfZmVuY2Vfc2V0 X2Vycm9yKCkgCj4+Pj4+IGZvciB0aGlzLgo+Pj4+Pgo+Pj4+PiBBZGRpdGlvbmFsIHRvIHRoYXQg aXQgd291bGQgYmUgbmljZSB0byBub3RlIGluIHRoZSBzdWJqZWN0IGxpbmUgdGhhdAo+Pj4+PiB0 aGlzIGlzIGEgcmF0aGVyIGltcG9ydGFudCBidWcgZml4Lgo+Pj4+Pgo+Pj4+PiBXaXRoIHRoYXQg Zml4ZWQgdGhlIHdob2xlIHNlcmllcyBpcyBSZXZpZXdlZC1ieTogQ2hyaXN0aWFuIEvDtm5pZwo+ Pj4+PiA8Y2hyaXN0aWFuLmtvZW5pZ0BhbWQuY29tPi4KPj4+Pj4KPj4+Pj4gUmVnYXJkcywKPj4+ Pj4gQ2hyaXN0aWFuLgo+Pj4+Pgo+Pj4+Pj4gKyBhbWRfc2NoZWRfZmVuY2VfZmluaXNoZWQoc19m ZW5jZSk7Cj4+Pj4+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBkbWFfZmVuY2VfcHV0KCZzX2Zl bmNlLT5maW5pc2hlZCk7Cj4+Pj4+PiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgc2No ZWQtPm9wcy0+ZnJlZV9qb2Ioam9iKTsKPj4+Pj4+ICvCoMKgwqDCoMKgwqDCoCB9Cj4+Pj4+PiDC oMKgwqDCoMKgwqDCoCB9Cj4+Pj4+PiDCoMKgwqDCoMKgwqDCoCBrZmlmb19mcmVlKCZlbnRpdHkt PmpvYl9xdWV1ZSk7Cj4+Pj4+PiDCoMKgwqAgfQo+Pj4+Pj4gwqDCoMKgIHN0YXRpYyB2b2lkIGFt ZF9zY2hlZF9lbnRpdHlfd2FrZXVwKHN0cnVjdCBkbWFfZmVuY2UgKmYsIHN0cnVjdAo+Pj4+Pj4g ZG1hX2ZlbmNlX2NiICpjYikKPj4+Pj4+IMKgwqDCoCB7Cj4+Pj4+PiDCoMKgwqDCoMKgwqDCoCBz dHJ1Y3QgYW1kX3NjaGVkX2VudGl0eSAqZW50aXR5ID0KPj4+Pj4+IMKgwqDCoMKgwqDCoMKgwqDC oMKgwqAgY29udGFpbmVyX29mKGNiLCBzdHJ1Y3QgYW1kX3NjaGVkX2VudGl0eSwgY2IpOwo+Pj4+ Pj4gwqDCoMKgwqDCoMKgwqAgZW50aXR5LT5kZXBlbmRlbmN5ID0gTlVMTDsKPj4+Pj4KPj4+Pj4g X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KPj4+Pj4gYW1k LWdmeCBtYWlsaW5nIGxpc3QKPj4+Pj4gYW1kLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKPj4+ Pj4gaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9hbWQtZ2Z4 Cj4+Pj4+IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCj4+ Pj4+IGFtZC1nZnggbWFpbGluZyBsaXN0Cj4+Pj4+IGFtZC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Au b3JnCj4+Pj4+IGh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8v YW1kLWdmeAo+Pj4+Cj4+Pj4KPj4+Cj4+Cj4gCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fXwphbWQtZ2Z4IG1haWxpbmcgbGlzdAphbWQtZ2Z4QGxpc3RzLmZy ZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3Rp bmZvL2FtZC1nZngK