From mboxrd@z Thu Jan 1 00:00:00 1970 From: =?UTF-8?Q?Christian_K=c3=b6nig?= Subject: Re: [PATCH 5/5] drm/amd/sched: signal and free remaining fences in amd_sched_entity_fini Date: Mon, 9 Oct 2017 13:12:07 +0200 Message-ID: <9619ebd2-f218-7568-3b24-0a9d2b008a6a@amd.com> 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: 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?Nicolai_H=c3=a4hnle?= , "Liu, Monk" , =?UTF-8?Q?Nicolai_H=c3=a4hnle?= , "amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org" , "Olsak, Marek" Cc: "Li, Bingley" Pgo+PiBOaWNvbGFpLCBob3cgaGFyZCB3b3VsZCBpdCBiZSB0byBoYW5kbGUgRU5PREVWIGFzIGZh aWx1cmUgZm9yIGFsbCAKPj4gY3VycmVudGx5IGV4aXN0aW5nIGNvbnRleHRzPwo+Cj4gSW1wb3Nz aWJsZT8gIkFsbCBjdXJyZW50bHkgZXhpc3RpbmcgY29udGV4dHMiIGlzIG5vdCBhIHdlbGwtZGVm aW5lZCAKPiBjb25jZXB0IHdoZW4gbXVsdGlwbGUgZHJpdmVycyBjby1leGlzdCBpbiB0aGUgc2Ft ZSBwcm9jZXNzLgoKT2ssIGxldCBtZSByZWZpbmUgdGhlIHF1ZXN0aW9uOiBJIGFzc3VtZSB0aGVy ZSBhcmUgcmVzb3VyY2VzICJzaGFyZWQiIApiZXR3ZWVuIGNvbnRleHRzIGxpa2UgYmluYXJ5IHNo YWRlciBjb2RlIGZvciBleGFtcGxlIHdoaWNoIG5lZWRzIHRvIGJlIApyZXVwbG9hZGVkIHdoZW4g VlJBTSBpcyBsb3N0LgoKSG93IGhhcmQgd291bGQgaXQgYmUgdG8gaGFuZGxlIHRoYXQgY29ycmVj dGx5PwoKPiBBbmQgd2hhdCB3b3VsZCBiZSB0aGUgcHVycG9zZSBvZiB0aGlzPyBJZiBpdCdzIHRv IHN1cHBvcnQgVlJBTSBsb3NzLCAKPiBoYXZpbmcgYSBwZXItY29udGV4dCBWUkFNIGxvc3MgY291 bnRlciB3b3VsZCBlbmFibGUgZWFjaCBjb250ZXh0IHRvIAo+IHNpZ25hbCBFQ0FOQ0VMRUQgc2Vw YXJhdGVseS4KCkkgdGhvdWdodCBvZiB0aGF0IG9uIHRvcCBvZiB0aGUgLUVOT0RFViBoYW5kbGlu Zy4KCkluIG90aGVyIHdvcmRzIHdoZW4gd2Ugc2VlIC1FTk9ERVYgd2UgY2FsbCBhbiBJT0NUTCB0 byBsZXQgdGhlIGtlcm5lbCAKa25vdyB3ZSBub3RpY2VkIHRoYXQgc29tZXRoaW5nIGlzIHdyb25n IGFuZCB0aGVuIHJlaW5pdCBhbGwgc2hhcmVkIApyZXNvdXJjZXMgaW4gdXNlcnNwYWNlLgoKQWxs IGV4aXN0aW5nIGNvbnRleHQgd2lsbCBzdGlsbCBzZWUgLUVDQU5DRUxFRCB3aGVuIHdlIGRyb3Ag dGhlaXIgCmNvbW1hbmQgc3VibWlzc2lvbiwgYnV0IG5ldyBjb250ZXh0cyB3b3VsZCBhdCBsZWFz dCBub3QgY2F1c2UgYSBuZXcgCmxvY2t1cCBpbW1lZGlhdGVseSBiZWNhdXNlIHRoZWlyIHNoYWRl ciBiaW5hcmllcyBhcmUgY29ycnVwdGVkLgoKUmVnYXJkcywKQ2hyaXN0aWFuLgoKQW0gMDkuMTAu MjAxNyB1bSAxMzowNCBzY2hyaWViIE5pY29sYWkgSMOkaG5sZToKPiBPbiAwOS4xMC4yMDE3IDEy OjU5LCBDaHJpc3RpYW4gS8O2bmlnIHdyb3RlOgo+PiBOaWNvbGFpLCBob3cgaGFyZCB3b3VsZCBp dCBiZSB0byBoYW5kbGUgRU5PREVWIGFzIGZhaWx1cmUgZm9yIGFsbCAKPj4gY3VycmVudGx5IGV4 aXN0aW5nIGNvbnRleHRzPwo+Cj4gSW1wb3NzaWJsZT8gIkFsbCBjdXJyZW50bHkgZXhpc3Rpbmcg Y29udGV4dHMiIGlzIG5vdCBhIHdlbGwtZGVmaW5lZCAKPiBjb25jZXB0IHdoZW4gbXVsdGlwbGUg ZHJpdmVycyBjby1leGlzdCBpbiB0aGUgc2FtZSBwcm9jZXNzLgo+Cj4gQW5kIHdoYXQgd291bGQg YmUgdGhlIHB1cnBvc2Ugb2YgdGhpcz8gSWYgaXQncyB0byBzdXBwb3J0IFZSQU0gbG9zcywgCj4g aGF2aW5nIGEgcGVyLWNvbnRleHQgVlJBTSBsb3NzIGNvdW50ZXIgd291bGQgZW5hYmxlIGVhY2gg Y29udGV4dCB0byAKPiBzaWduYWwgRUNBTkNFTEVEIHNlcGFyYXRlbHkuCj4KPiBDaGVlcnMsCj4g Tmljb2xhaQo+Cj4KPj4KPj4gTW9uaywgd291bGQgaXQgYmUgb2sgd2l0aCB5b3Ugd2hlbiB3ZSBy ZXR1cm4gRU5PREVWIG9ubHkgZm9yIGV4aXN0aW5nIAo+PiBjb250ZXh0IHdoZW4gVlJBTSBpcyBs b3N0IGFuZC9vciB3ZSBoYXZlIGEgc3RyaWN0IG1vZGUgR1BVIHJlc2V0PyAKPj4gRS5nLiBuZXds eSBjcmVhdGVkIGNvbnRleHRzIHdvdWxkIGNvbnRpbnVlIHdvcmsgYXMgdGhleSBzaG91bGQuCj4+ Cj4+IFJlZ2FyZHMsCj4+IENocmlzdGlhbi4KPj4KPj4gQW0gMDkuMTAuMjAxNyB1bSAxMjo0OSBz Y2hyaWViIE5pY29sYWkgSMOkaG5sZToKPj4+IEhpIE1vbmssCj4+Pgo+Pj4gWWVzLCB5b3UncmUg cmlnaHQsIHdlJ3JlIG9ubHkgdXNpbmcgRUNBTkNFTEVEIGludGVybmFsbHkuIEJ1dCBhcyBhIAo+ Pj4gY29uc2VxdWVuY2UsIE1lc2Egd291bGQgYWxyZWFkeSBoYW5kbGUgYSBrZXJuZWwgZXJyb3Ig b2YgRUNBTkNFTEVEIAo+Pj4gb24gY29udGV4dCBsb3NzIGNvcnJlY3RseSA6KQo+Pj4KPj4+IENo ZWVycywKPj4+IE5pY29sYWkKPj4+Cj4+PiBPbiAwOS4xMC4yMDE3IDEyOjM1LCBMaXUsIE1vbmsg d3JvdGU6Cj4+Pj4gSGkgQ2hyaXN0aWFuCj4+Pj4KPj4+PiBZb3UgcmVqZWN0IHNvbWUgb2YgbXkg cGF0Y2hlcyB0aGF0IHJldHVybnMgLUVOT0RFViwgd2l0aCB0aGUgY2F1c2UgCj4+Pj4gdGhhdCBN RVNBIGRvZXNuJ3QgZG8gdGhlIGhhbmRsaW5nIG9uIC1FTk9ERVYKPj4+Pgo+Pj4+IEJ1dCBpZiBO aWNvbGFpIGNhbiBjb25maXJtIHRoYXQgTUVTQSBkbyBoYXZlIGEgaGFuZGxpbmcgb24gCj4+Pj4g LUVDQU5DRUxFRCwgdGhlbiB3ZSBuZWVkIHRvIG92ZXJhbGwgYWxpZ24gb3VyIGVycm9yIGNvZGUs IG9uIGRldGFpbCAKPj4+PiBiZWxvdyBJT0NUTCBjYW4gcmV0dXJuIGVycm9yIGNvZGU6Cj4+Pj4K Pj4+PiBBbWRncHVfY3NfaW9jdGwKPj4+PiBBbWRncHVfY3Nfd2FpdF9pb2N0bAo+Pj4+IEFtZGdw dV9jc193YWl0X2ZlbmNlc19pb2N0bAo+Pj4+IEFtZGdwdV9pbmZvX2lvY3RsCj4+Pj4KPj4+Pgo+ Pj4+IE15IHBhdGNoZXMgaXM6Cj4+Pj4gcmV0dXJuIC1FTk9ERVYgb24gY3NfaW9jdGwgaWYgdGhl IGNvbnRleHQgaXMgZGV0ZWN0ZWQgZ3VpbHR5LAo+Pj4+IGFsc28gcmV0dXJuIC1FTk9ERVYgb24g Y3Nfd2FpdHxjc193YWl0X2ZlbmNlcyBpZiB0aGUgZmVuY2UgaXMgCj4+Pj4gc2lnbmFsZWQgYnV0 IHdpdGggZXJyb3IgLUVUSU1FLAo+Pj4+IGFsc28gcmV0dXJuIC1FTk9ERVYgb24gaW5mb19pb2N0 bCBzbyBVTUQgY2FuIHF1ZXJ5IGlmIGdwdSByZXNldCAKPj4+PiBoYXBwZW5lZCBhZnRlciB0aGUg cHJvY2VzcyBjcmVhdGVkIChiZWNhdXNlIGZvciBzdHJpY3QgbW9kZSB3ZSAKPj4+PiBibG9jayBw cm9jZXNzIGluc3RlYWQgb2YgY29udGV4dCkKPj4+Pgo+Pj4+Cj4+Pj4gYWNjb3JkaW5nIHRvIE5p Y29sYWk6Cj4+Pj4KPj4+PiBhbWRncHVfY3NfaW9jdGwgKmNhbiogcmV0dXJuIC1FQ0FOQ0VMRUQs IGJ1dCB0byBiZSBmcmFua2x5IAo+Pj4+IHNwZWFraW5nLCBrZXJuZWwgcGFydCBkb2Vzbid0IGhh dmUgYW55IHBsYWNlIHdpdGggIi1FQ0FOQ0VMRUQiIHNvIAo+Pj4+IHRoaXMgc29sdXRpb24gb24g TUVTQSBzaWRlIGRvZXNuJ3QgYWxpZ24gd2l0aCAqY3VycmVudCogYW1kZ3B1IGRyaXZlciwKPj4+ PiB3aGljaCBvbmx5IHJldHVybiAwIG9uIHN1Y2Nlc3Mgb3IgLUVJTlZBTElEIG9uIG90aGVyIGVy cm9yIGJ1dCAKPj4+PiBkZWZpbml0ZWx5IG5vICItRUNBTkNFTEVEIiBlcnJvciBjb2RlLAo+Pj4+ Cj4+Pj4gc28gaWYgd2UgdGFsa2luZyBhYm91dCBjb21tdW5pdHkgcnVsZXMgd2Ugc2hvdWxkbid0 IGxldCBNRVNBIGhhbmRsZSAKPj4+PiAtRUNBTkNFTEVEICwgIHdlIHNob3VsZCBoYXZlIGEgdW5p ZmllZCBlcnJvciBjb2RlCj4+Pj4KPj4+PiArIE1hcmVrCj4+Pj4KPj4+PiBCUiBNb25rCj4+Pj4K Pj4+Pgo+Pj4+Cj4+Pj4KPj4+PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQo+Pj4+IEZyb206 IEhhZWhubGUsIE5pY29sYWkKPj4+PiBTZW50OiAyMDE35bm0MTDmnIg55pelIDE4OjE0Cj4+Pj4g VG86IEtvZW5pZywgQ2hyaXN0aWFuIDxDaHJpc3RpYW4uS29lbmlnQGFtZC5jb20+OyBMaXUsIE1v bmsgCj4+Pj4gPE1vbmsuTGl1QGFtZC5jb20+OyBOaWNvbGFpIEjDpGhubGUgPG5oYWVobmxlQGdt YWlsLmNvbT47IAo+Pj4+IGFtZC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCj4+Pj4gU3ViamVj dDogUmU6IFtQQVRDSCA1LzVdIGRybS9hbWQvc2NoZWQ6IHNpZ25hbCBhbmQgZnJlZSByZW1haW5p bmcgCj4+Pj4gZmVuY2VzIGluIGFtZF9zY2hlZF9lbnRpdHlfZmluaQo+Pj4+Cj4+Pj4gT24gMDku MTAuMjAxNyAxMDowMiwgQ2hyaXN0aWFuIEvDtm5pZyB3cm90ZToKPj4+Pj4+IEZvciBncHUgcmVz ZXQgcGF0Y2hlcyAoYWxyZWFkeSBzdWJtaXR0ZWQgdG8gcHViKSBJIHdvdWxkIG1ha2Uga2VybmVs Cj4+Pj4+PiByZXR1cm4gLUVOT0RFViBpZiB0aGUgd2FpdGluZyBmZW5jZSAoaW4gY3Nfd2FpdCBv ciB3YWl0X2ZlbmNlcyAKPj4+Pj4+IElPQ1RMKQo+Pj4+Pj4gZm91bmRlZCBhcyBlcnJvciwgdGhh dCB3YXkgVU1EIHdvdWxkIHJ1biBpbnRvIHJvYnVzdCBleHRlbnNpb24gcGF0aAo+Pj4+Pj4gYW5k IGNvbnNpZGVyaW5nIHRoZSBHUFUgaGFuZyBvY2N1cnJlZCwKPj4+Pj4gV2VsbCB0aGF0IGlzIG9u bHkgY2xvc2VkIHNvdXJjZSBiZWhhdmlvciB3aGljaCBpcyBjb21wbGV0ZWx5Cj4+Pj4+IGlycmVs ZXZhbnQgZm9yIHVwc3RyZWFtIGRldmVsb3BtZW50Lgo+Pj4+Pgo+Pj4+PiBBcyBmYXIgYXMgSSBr bm93IHdlIGhhdmVuJ3QgcHVzaGVkIHRoZSBjaGFuZ2UgdG8gcmV0dXJuIC1FTk9ERVYgCj4+Pj4+ IHVwc3RyZWFtLgo+Pj4+Cj4+Pj4gRldJVywgcmFkZW9uc2kgY3VycmVudGx5IGV4cGVjdHMgLUVD QU5DRUxFRCBvbiBDUyBzdWJtaXNzaW9ucyBhbmQgCj4+Pj4gdHJlYXRzIHRob3NlIGFzIGNvbnRl eHQgbG9zdC4gUGVyaGFwcyB3ZSBjb3VsZCB1c2UgdGhlIHNhbWUgZXJyb3IgCj4+Pj4gb24gZmVu Y2VzPwo+Pj4+IFRoYXQgbWFrZXMgbW9yZSBzZW5zZSB0byBtZSB0aGFuIC1FTk9ERVYuCj4+Pj4K Pj4+PiBDaGVlcnMsCj4+Pj4gTmljb2xhaQo+Pj4+Cj4+Pj4+Cj4+Pj4+IFJlZ2FyZHMsCj4+Pj4+ IENocmlzdGlhbi4KPj4+Pj4KPj4+Pj4gQW0gMDkuMTAuMjAxNyB1bSAwODo0MiBzY2hyaWViIExp dSwgTW9uazoKPj4+Pj4+IENocmlzdGlhbgo+Pj4+Pj4KPj4+Pj4+PiBJdCB3b3VsZCBiZSByZWFs bHkgbmljZSB0byBoYXZlIGFuIGVycm9yIGNvZGUgc2V0IG9uCj4+Pj4+Pj4gc19mZW5jZS0+Zmlu aXNoZWQgYmVmb3JlIGl0IGlzIHNpZ25hbGVkLCB1c2UgZG1hX2ZlbmNlX3NldF9lcnJvcigpCj4+ Pj4+Pj4gZm9yIHRoaXMuCj4+Pj4+PiBGb3IgZ3B1IHJlc2V0IHBhdGNoZXMgKGFscmVhZHkgc3Vi bWl0dGVkIHRvIHB1YikgSSB3b3VsZCBtYWtlIGtlcm5lbAo+Pj4+Pj4gcmV0dXJuIC1FTk9ERVYg aWYgdGhlIHdhaXRpbmcgZmVuY2UgKGluIGNzX3dhaXQgb3Igd2FpdF9mZW5jZXMgCj4+Pj4+PiBJ T0NUTCkKPj4+Pj4+IGZvdW5kZWQgYXMgZXJyb3IsIHRoYXQgd2F5IFVNRCB3b3VsZCBydW4gaW50 byByb2J1c3QgZXh0ZW5zaW9uIHBhdGgKPj4+Pj4+IGFuZCBjb25zaWRlcmluZyB0aGUgR1BVIGhh bmcgb2NjdXJyZWQsCj4+Pj4+Pgo+Pj4+Pj4gRG9uJ3Qga25vdyBpZiB0aGlzIGlzIGV4cGVjdGVk IGZvciB0aGUgY2FzZSBvZiBub3JtYWwgcHJvY2VzcyBiZWluZwo+Pj4+Pj4ga2lsbGVkIG9yIGNy YXNoZWQgbGlrZSBOaWNvbGFpIGhpdCAuLi4gc2luY2UgdGhlcmUgaXMgbm8gZ3B1IGhhbmcgCj4+ Pj4+PiBoaXQKPj4+Pj4+Cj4+Pj4+Pgo+Pj4+Pj4gQlIgTW9uawo+Pj4+Pj4KPj4+Pj4+Cj4+Pj4+ Pgo+Pj4+Pj4KPj4+Pj4+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tCj4+Pj4+PiBGcm9tOiBh bWQtZ2Z4IFttYWlsdG86YW1kLWdmeC1ib3VuY2VzQGxpc3RzLmZyZWVkZXNrdG9wLm9yZ10gT24K Pj4+Pj4+IEJlaGFsZiBPZiBDaHJpc3RpYW4gSz9uaWcKPj4+Pj4+IFNlbnQ6IDIwMTflubQ55pyI Mjjml6UgMjM6MDEKPj4+Pj4+IFRvOiBOaWNvbGFpIEjDpGhubGUgPG5oYWVobmxlQGdtYWlsLmNv bT47Cj4+Pj4+PiBhbWQtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwo+Pj4+Pj4gQ2M6IEhhZWhu bGUsIE5pY29sYWkgPE5pY29sYWkuSGFlaG5sZUBhbWQuY29tPgo+Pj4+Pj4gU3ViamVjdDogUmU6 IFtQQVRDSCA1LzVdIGRybS9hbWQvc2NoZWQ6IHNpZ25hbCBhbmQgZnJlZSByZW1haW5pbmcKPj4+ Pj4+IGZlbmNlcyBpbiBhbWRfc2NoZWRfZW50aXR5X2ZpbmkKPj4+Pj4+Cj4+Pj4+PiBBbSAyOC4w OS4yMDE3IHVtIDE2OjU1IHNjaHJpZWIgTmljb2xhaSBIw6RobmxlOgo+Pj4+Pj4+IEZyb206IE5p Y29sYWkgSMOkaG5sZSA8bmljb2xhaS5oYWVobmxlQGFtZC5jb20+Cj4+Pj4+Pj4KPj4+Pj4+PiBI aWdobHkgY29uY3VycmVudCBQaWdsaXQgcnVucyBjYW4gdHJpZ2dlciBhIHJhY2UgY29uZGl0aW9u IHdoZXJlIGEKPj4+Pj4+PiBwZW5kaW5nIFNETUEgam9iIG9uIGEgYnVmZmVyIG9iamVjdCBpcyBu ZXZlciBleGVjdXRlZCBiZWNhdXNlIHRoZQo+Pj4+Pj4+IGNvcnJlc3BvbmRpbmcgcHJvY2VzcyBp cyBraWxsZWQgKHBlcmhhcHMgZHVlIHRvIGEgY3Jhc2gpLiBTaW5jZSB0aGUKPj4+Pj4+PiBqb2In cyBmZW5jZXMgd2VyZSBuZXZlciBzaWduYWxlZCwgdGhlIGJ1ZmZlciBvYmplY3Qgd2FzIGVmZmVj dGl2ZWx5Cj4+Pj4+Pj4gbGVha2VkLiBXb3JzZSwgdGhlIGJ1ZmZlciB3YXMgc3R1Y2sgd2hlcmV2 ZXIgaXQgaGFwcGVuZWQgdG8gYmUgYXQKPj4+Pj4+PiB0aGUgdGltZSwgcG9zc2libHkgaW4gVlJB TS4KPj4+Pj4+Pgo+Pj4+Pj4+IFRoZSBzeW1wdG9tIHdhcyB1c2VyIHNwYWNlIHByb2Nlc3NlcyBz dHVjayBpbiBpbnRlcnJ1cHRpYmxlIHdhaXRzCj4+Pj4+Pj4gd2l0aCBrZXJuZWwgc3RhY2tzIGxp a2U6Cj4+Pj4+Pj4KPj4+Pj4+PiAgICAgICAgWzxmZmZmZmZmZmJjNWU2NzIyPl0gZG1hX2ZlbmNl X2RlZmF1bHRfd2FpdCsweDExMi8weDI1MAo+Pj4+Pj4+ICAgICAgICBbPGZmZmZmZmZmYmM1ZTYz OTk+XSBkbWFfZmVuY2Vfd2FpdF90aW1lb3V0KzB4MzkvMHhmMAo+Pj4+Pj4+ICAgICAgICBbPGZm ZmZmZmZmYmM1ZTgyZDI+XQo+Pj4+Pj4+IHJlc2VydmF0aW9uX29iamVjdF93YWl0X3RpbWVvdXRf cmN1KzB4MWMyLzB4MzAwCj4+Pj4+Pj4gICAgICAgIFs8ZmZmZmZmZmZjMDNjZTU2Zj5dIAo+Pj4+ Pj4+IHR0bV9ib19jbGVhbnVwX3JlZnNfYW5kX3VubG9jaysweGZmLzB4MWEwCj4+Pj4+Pj4gW3R0 bV0KPj4+Pj4+PiAgICAgICAgWzxmZmZmZmZmZmMwM2NmMWVhPl0gdHRtX21lbV9ldmljdF9maXJz dCsweGJhLzB4MWEwIFt0dG1dCj4+Pj4+Pj4gICAgICAgIFs8ZmZmZmZmZmZjMDNjZjYxMT5dIHR0 bV9ib19tZW1fc3BhY2UrMHgzNDEvMHg0YzAgW3R0bV0KPj4+Pj4+PiAgICAgICAgWzxmZmZmZmZm ZmMwM2NmYzU0Pl0gdHRtX2JvX3ZhbGlkYXRlKzB4ZDQvMHgxNTAgW3R0bV0KPj4+Pj4+PiAgICAg ICAgWzxmZmZmZmZmZmMwM2NmZmJkPl0gdHRtX2JvX2luaXRfcmVzZXJ2ZWQrMHgyZWQvMHg0MjAg W3R0bV0KPj4+Pj4+PiAgICAgICAgWzxmZmZmZmZmZmMwNDJmNTIzPl0gYW1kZ3B1X2JvX2NyZWF0 ZV9yZXN0cmljdGVkKzB4MWYzLzB4NDcwCj4+Pj4+Pj4gW2FtZGdwdV0KPj4+Pj4+PiAgICAgICAg WzxmZmZmZmZmZmMwNDJmOWZhPl0gYW1kZ3B1X2JvX2NyZWF0ZSsweGRhLzB4MjIwIFthbWRncHVd Cj4+Pj4+Pj4gICAgICAgIFs8ZmZmZmZmZmZjMDQzNDllYT5dIGFtZGdwdV9nZW1fb2JqZWN0X2Ny ZWF0ZSsweGFhLzB4MTQwCj4+Pj4+Pj4gW2FtZGdwdV0KPj4+Pj4+PiAgICAgICAgWzxmZmZmZmZm ZmMwNDM0Zjk3Pl0gYW1kZ3B1X2dlbV9jcmVhdGVfaW9jdGwrMHg5Ny8weDEyMAo+Pj4+Pj4+IFth bWRncHVdCj4+Pj4+Pj4gICAgICAgIFs8ZmZmZmZmZmZjMDM3ZGRiYT5dIGRybV9pb2N0bCsweDFm YS8weDQ4MCBbZHJtXQo+Pj4+Pj4+ICAgICAgICBbPGZmZmZmZmZmYzA0MTkwNGY+XSBhbWRncHVf ZHJtX2lvY3RsKzB4NGYvMHg5MCBbYW1kZ3B1XQo+Pj4+Pj4+ICAgICAgICBbPGZmZmZmZmZmYmMy M2RiMzM+XSBkb192ZnNfaW9jdGwrMHhhMy8weDVmMAo+Pj4+Pj4+ICAgICAgICBbPGZmZmZmZmZm YmMyM2UwZjk+XSBTeVNfaW9jdGwrMHg3OS8weDkwCj4+Pj4+Pj4gICAgICAgIFs8ZmZmZmZmZmZi Yzg2NGZmYj5dIGVudHJ5X1NZU0NBTExfNjRfZmFzdHBhdGgrMHgxZS8weGFkCj4+Pj4+Pj4gICAg ICAgIFs8ZmZmZmZmZmZmZmZmZmZmZj5dIDB4ZmZmZmZmZmZmZmZmZmZmZgo+Pj4+Pj4+Cj4+Pj4+ Pj4gU2lnbmVkLW9mZi1ieTogTmljb2xhaSBIw6RobmxlIDxuaWNvbGFpLmhhZWhubGVAYW1kLmNv bT4KPj4+Pj4+PiBBY2tlZC1ieTogQ2hyaXN0aWFuIEvDtm5pZyA8Y2hyaXN0aWFuLmtvZW5pZ0Bh bWQuY29tPgo+Pj4+Pj4+IC0tLQo+Pj4+Pj4+ICAgICBkcml2ZXJzL2dwdS9kcm0vYW1kL3NjaGVk dWxlci9ncHVfc2NoZWR1bGVyLmMgfCA3ICsrKysrKy0KPj4+Pj4+PiAgICAgMSBmaWxlIGNoYW5n ZWQsIDYgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQo+Pj4+Pj4+Cj4+Pj4+Pj4gZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvc2NoZWR1bGVyL2dwdV9zY2hlZHVsZXIuYwo+Pj4+ Pj4+IGIvZHJpdmVycy9ncHUvZHJtL2FtZC9zY2hlZHVsZXIvZ3B1X3NjaGVkdWxlci5jCj4+Pj4+ Pj4gaW5kZXggNTRlYjc3Y2ZmZDliLi4zMmE5OWU5ODBkNzggMTAwNjQ0Cj4+Pj4+Pj4gLS0tIGEv ZHJpdmVycy9ncHUvZHJtL2FtZC9zY2hlZHVsZXIvZ3B1X3NjaGVkdWxlci5jCj4+Pj4+Pj4gKysr IGIvZHJpdmVycy9ncHUvZHJtL2FtZC9zY2hlZHVsZXIvZ3B1X3NjaGVkdWxlci5jCj4+Pj4+Pj4g QEAgLTIyMCwyMiArMjIwLDI3IEBAIHZvaWQgYW1kX3NjaGVkX2VudGl0eV9maW5pKHN0cnVjdAo+ Pj4+Pj4+IGFtZF9ncHVfc2NoZWR1bGVyICpzY2hlZCwKPj4+Pj4+PiBhbWRfc2NoZWRfZW50aXR5 X2lzX2lkbGUoZW50aXR5KSk7Cj4+Pj4+Pj4gICAgICAgICBhbWRfc2NoZWRfcnFfcmVtb3ZlX2Vu dGl0eShycSwgZW50aXR5KTsKPj4+Pj4+PiAgICAgICAgIGlmIChyKSB7Cj4+Pj4+Pj4gICAgICAg ICAgICAgc3RydWN0IGFtZF9zY2hlZF9qb2IgKmpvYjsKPj4+Pj4+PiAgICAgICAgICAgICAvKiBQ YXJrIHRoZSBrZXJuZWwgZm9yIGEgbW9tZW50IHRvIG1ha2Ugc3VyZSBpdCBpc24ndAo+Pj4+Pj4+ IHByb2Nlc3NpbmcKPj4+Pj4+PiAgICAgICAgICAgICAgKiBvdXIgZW5pdHkuCj4+Pj4+Pj4gICAg ICAgICAgICAgICovCj4+Pj4+Pj4gICAgICAgICAgICAga3RocmVhZF9wYXJrKHNjaGVkLT50aHJl YWQpOwo+Pj4+Pj4+ICAgICAgICAgICAgIGt0aHJlYWRfdW5wYXJrKHNjaGVkLT50aHJlYWQpOwo+ Pj4+Pj4+IC0gICAgICAgIHdoaWxlIChrZmlmb19vdXQoJmVudGl0eS0+am9iX3F1ZXVlLCAmam9i LCBzaXplb2Yoam9iKSkpCj4+Pj4+Pj4gKyAgICAgICAgd2hpbGUgKGtmaWZvX291dCgmZW50aXR5 LT5qb2JfcXVldWUsICZqb2IsIHNpemVvZihqb2IpKSkgewo+Pj4+Pj4+ICsgICAgICAgICAgICBz dHJ1Y3QgYW1kX3NjaGVkX2ZlbmNlICpzX2ZlbmNlID0gam9iLT5zX2ZlbmNlOwo+Pj4+Pj4+ICsg ICAgICAgICAgICBhbWRfc2NoZWRfZmVuY2Vfc2NoZWR1bGVkKHNfZmVuY2UpOwo+Pj4+Pj4gSXQg d291bGQgYmUgcmVhbGx5IG5pY2UgdG8gaGF2ZSBhbiBlcnJvciBjb2RlIHNldCBvbgo+Pj4+Pj4g c19mZW5jZS0+ZmluaXNoZWQgYmVmb3JlIGl0IGlzIHNpZ25hbGVkLCB1c2UgCj4+Pj4+PiBkbWFf ZmVuY2Vfc2V0X2Vycm9yKCkgZm9yIHRoaXMuCj4+Pj4+Pgo+Pj4+Pj4gQWRkaXRpb25hbCB0byB0 aGF0IGl0IHdvdWxkIGJlIG5pY2UgdG8gbm90ZSBpbiB0aGUgc3ViamVjdCBsaW5lIHRoYXQKPj4+ Pj4+IHRoaXMgaXMgYSByYXRoZXIgaW1wb3J0YW50IGJ1ZyBmaXguCj4+Pj4+Pgo+Pj4+Pj4gV2l0 aCB0aGF0IGZpeGVkIHRoZSB3aG9sZSBzZXJpZXMgaXMgUmV2aWV3ZWQtYnk6IENocmlzdGlhbiBL w7ZuaWcKPj4+Pj4+IDxjaHJpc3RpYW4ua29lbmlnQGFtZC5jb20+Lgo+Pj4+Pj4KPj4+Pj4+IFJl Z2FyZHMsCj4+Pj4+PiBDaHJpc3RpYW4uCj4+Pj4+Pgo+Pj4+Pj4+ICsgYW1kX3NjaGVkX2ZlbmNl X2ZpbmlzaGVkKHNfZmVuY2UpOwo+Pj4+Pj4+ICsgICAgICAgICAgICBkbWFfZmVuY2VfcHV0KCZz X2ZlbmNlLT5maW5pc2hlZCk7Cj4+Pj4+Pj4gICAgICAgICAgICAgICAgIHNjaGVkLT5vcHMtPmZy ZWVfam9iKGpvYik7Cj4+Pj4+Pj4gKyAgICAgICAgfQo+Pj4+Pj4+ICAgICAgICAgfQo+Pj4+Pj4+ ICAgICAgICAga2ZpZm9fZnJlZSgmZW50aXR5LT5qb2JfcXVldWUpOwo+Pj4+Pj4+ICAgICB9Cj4+ Pj4+Pj4gICAgIHN0YXRpYyB2b2lkIGFtZF9zY2hlZF9lbnRpdHlfd2FrZXVwKHN0cnVjdCBkbWFf ZmVuY2UgKmYsIHN0cnVjdAo+Pj4+Pj4+IGRtYV9mZW5jZV9jYiAqY2IpCj4+Pj4+Pj4gICAgIHsK Pj4+Pj4+PiAgICAgICAgIHN0cnVjdCBhbWRfc2NoZWRfZW50aXR5ICplbnRpdHkgPQo+Pj4+Pj4+ ICAgICAgICAgICAgIGNvbnRhaW5lcl9vZihjYiwgc3RydWN0IGFtZF9zY2hlZF9lbnRpdHksIGNi KTsKPj4+Pj4+PiAgICAgICAgIGVudGl0eS0+ZGVwZW5kZW5jeSA9IE5VTEw7Cj4+Pj4+Pgo+Pj4+ Pj4gX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KPj4+Pj4+ IGFtZC1nZnggbWFpbGluZyBsaXN0Cj4+Pj4+PiBhbWQtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9y Zwo+Pj4+Pj4gaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9h bWQtZ2Z4Cj4+Pj4+PiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fXwo+Pj4+Pj4gYW1kLWdmeCBtYWlsaW5nIGxpc3QKPj4+Pj4+IGFtZC1nZnhAbGlzdHMuZnJl ZWRlc2t0b3Aub3JnCj4+Pj4+PiBodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFu L2xpc3RpbmZvL2FtZC1nZngKPj4+Pj4KPj4+Pj4KPj4+Pgo+Pj4KPj4KPgoKX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KYW1kLWdmeCBtYWlsaW5nIGxpc3QK YW1kLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5v cmcvbWFpbG1hbi9saXN0aW5mby9hbWQtZ2Z4Cg==