From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Vetter Subject: Re: [PATCH 01/10] drm/vkms: Fix crc worker races Date: Wed, 12 Jun 2019 16:48:49 +0200 Message-ID: <20190612144849.GP2458@phenom.ffwll.local> References: <20190606222751.32567-1-daniel.vetter@ffwll.ch> <20190606222751.32567-2-daniel.vetter@ffwll.ch> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-ed1-x541.google.com (mail-ed1-x541.google.com [IPv6:2a00:1450:4864:20::541]) by gabe.freedesktop.org (Postfix) with ESMTPS id 9C6C9895C3 for ; Wed, 12 Jun 2019 14:48:53 +0000 (UTC) Received: by mail-ed1-x541.google.com with SMTP id k8so11537462eds.7 for ; Wed, 12 Jun 2019 07:48:53 -0700 (PDT) Content-Disposition: inline In-Reply-To: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Rodrigo Siqueira Cc: Haneen Mohammed , Daniel Vetter , DRI Development , Shayenne Moura , Daniel Vetter List-Id: dri-devel@lists.freedesktop.org T24gV2VkLCBKdW4gMTIsIDIwMTkgYXQgMTA6MzM6MTFBTSAtMDMwMCwgUm9kcmlnbyBTaXF1ZWly YSB3cm90ZToKPiBPbiBUaHUsIEp1biA2LCAyMDE5IGF0IDc6MjggUE0gRGFuaWVsIFZldHRlciA8 ZGFuaWVsLnZldHRlckBmZndsbC5jaD4gd3JvdGU6Cj4gPgo+ID4gVGhlIGlzc3VlIHdlIGhhdmUg aXMgdGhhdCB0aGUgY3JjIHdvcmtlciBtaWdodCBmYWxsIGJlaGluZC4gV2UndmUKPiA+IHRyaWVk IHRvIGhhbmRsZSB0aGlzIGJ5IHRyYWNraW5nIGJvdGggdGhlIGVhcmxpZXN0IGZyYW1lIGZvciB3 aGljaCBpdAo+ID4gc3RpbGwgbmVlZHMgdG8gY29tcHV0ZSBhIGNyYywgYW5kIHRoZSBsYXN0IG9u ZS4gUGx1cyB3aGVuIHRoZQo+ID4gY3J0Y19zdGF0ZSBjaGFuZ2VzLCB3ZSBoYXZlIGEgbmV3IHdv cmsgaXRlbSwgd2hpY2ggYXJlIGFsbCBydW4gaW4KPiA+IG9yZGVyIGR1ZSB0byB0aGUgb3JkZXJl ZCB3b3JrcXVldWUgd2UgYWxsb2NhdGUgZm9yIGVhY2ggdmttcyBjcnRjLgo+ID4KPiA+IFRyb3Vi bGUgaXMgdGhlcmUncyBiZWVuIGEgZmV3IHNtYWxsIGlzc3VlcyBpbiB0aGUgY3VycmVudCBjb2Rl Ogo+ID4gLSB3ZSBuZWVkIHRvIGNhcHR1cmUgZnJhbWVfZW5kIGluIHRoZSB2YmxhbmsgaHJ0aW1l ciwgbm90IGluIHRoZQo+ID4gICB3b3JrZXIuIFRoZSB3b3JrZXIgbWlnaHQgcnVuIG11Y2ggbGF0 ZXIsIGFuZCB0aGVuIHdlIGdlbmVyYXRlIGEgbG90Cj4gPiAgIG9mIGNyYyBmb3Igd2hpY2ggdGhl cmUncyBhbHJlYWR5IGEgZGlmZmVyZW50IHdvcmtlciBxdWV1ZWQgdXAuCj4gPiAtIGZyYW1lIG51 bWJlciBtaWdodCBiZSAwLCBzbyBjcmVhdGUgYSBuZXcgY3JjX3BlbmRpbmcgYm9vbGVhbiB0bwo+ ID4gICB0cmFjayB0aGlzIHdpdGhvdXQgY29uZnVzaW9uLgo+ID4gLSB3ZSBuZWVkIHRvIGF0b21p Y2FsbHkgZ3JhYiBmcmFtZV9zdGFydC9lbmQgYW5kIGNsZWFyIGl0LCBzbyBkbyB0aGF0Cj4gPiAg IGFsbCBpbiBvbmUgZ28uIFRoaXMgaXMgbm90IGdvaW5nIHRvIGNyZWF0ZSBhIG5ldyByYWNlLCBi ZWNhdXNlIGlmIHdlCj4gPiAgIHJhY2Ugd2l0aCB0aGUgaHJ0aW1lciB0aGVuIG91ciB3b3JrIHdp bGwgYmUgcmUtcnVuLgo+ID4gLSBvbmx5IHJhY2UgdGhhdCBjYW4gaGFwcGVuIGlzIHRoZSBmb2xs b3dpbmc6Cj4gPiAgIDEuIHdvcmtlciBzdGFydHMKPiA+ICAgMi4gaHJ0aW1lciBydW5zIGFuZCB1 cGRhdGVzIGZyYW1lX2VuZAo+ID4gICAzLiB3b3JrZXIgZ3JhYnMgZnJhbWVfc3RhcnQvZW5kLCBh bHJlYWR5IHJlYWRpbmcgdGhlIG5ldyBmcmFtZV9lbmQsCj4gPiAgIGFuZCBjbGVhcnMgY3JjX3Bl bmRpbmcKPiA+ICAgNC4gaHJ0aW1lciBjYWxscyBxdWV1ZV93b3JrKCkKPiA+ICAgNS4gd29ya2Vy IGNvbXBsZXRlcwo+ID4gICA2LiB3b3JrZXIgZ2V0cyAgcmUtcnVuLCBjcmNfcGVuZGluZyBpcyBm YWxzZQo+ID4gICBFeHBsYWluIHRoaXMgY2FzZSBhIGJpdCBiZXR0ZXIgYnkgcmV3b3JkaW5nIHRo ZSBjb21tZW50Lgo+ID4KPiA+IHYyOiBEZW1vdGUgd2FybmluZyBsZXZlbCBvdXRwdXQgdG8gZGVi dWcgd2hlbiB3ZSBmYWlsIHRvIHJlcXVldWUsIHRoaXMKPiA+IGlzIGV4cGVjdGVkIHVuZGVyIGhp Z2ggbG9hZCB3aGVuIHRoZSBjcmMgd29ya2VyIGNhbid0IHF1aXRlIGtlZXAgdXAuCj4gPgo+ID4g Q2M6IFNoYXllbm5lIE1vdXJhIDxzaGF5ZW5uZWx1em1vdXJhQGdtYWlsLmNvbT4KPiA+IENjOiBS b2RyaWdvIFNpcXVlaXJhIDxyb2RyaWdvc2lxdWVpcmFtZWxvQGdtYWlsLmNvbT4KPiA+IFNpZ25l ZC1vZmYtYnk6IERhbmllbCBWZXR0ZXIgPGRhbmllbC52ZXR0ZXJAaW50ZWwuY29tPgo+ID4gQ2M6 IEhhbmVlbiBNb2hhbW1lZCA8aGFtb2hhbW1lZC5zYUBnbWFpbC5jb20+Cj4gPiBDYzogRGFuaWVs IFZldHRlciA8ZGFuaWVsQGZmd2xsLmNoPgo+ID4gLS0tCj4gPiAgZHJpdmVycy9ncHUvZHJtL3Zr bXMvdmttc19jcmMuYyAgfCAyNyArKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0KPiA+ICBkcml2 ZXJzL2dwdS9kcm0vdmttcy92a21zX2NydGMuYyB8ICA5ICsrKysrKystLQo+ID4gIGRyaXZlcnMv Z3B1L2RybS92a21zL3ZrbXNfZHJ2LmggIHwgIDIgKysKPiA+ICAzIGZpbGVzIGNoYW5nZWQsIDIy IGluc2VydGlvbnMoKyksIDE2IGRlbGV0aW9ucygtKQo+ID4KPiA+IGRpZmYgLS1naXQgYS9kcml2 ZXJzL2dwdS9kcm0vdmttcy92a21zX2NyYy5jIGIvZHJpdmVycy9ncHUvZHJtL3ZrbXMvdmttc19j cmMuYwo+ID4gaW5kZXggZDdiNDA5YTNjMGY4Li42NjYwM2RhNjM0ZmUgMTAwNjQ0Cj4gPiAtLS0g YS9kcml2ZXJzL2dwdS9kcm0vdmttcy92a21zX2NyYy5jCj4gPiArKysgYi9kcml2ZXJzL2dwdS9k cm0vdmttcy92a21zX2NyYy5jCj4gPiBAQCAtMTY2LDE2ICsxNjYsMjQgQEAgdm9pZCB2a21zX2Ny Y193b3JrX2hhbmRsZShzdHJ1Y3Qgd29ya19zdHJ1Y3QgKndvcmspCj4gPiAgICAgICAgIHN0cnVj dCBkcm1fcGxhbmUgKnBsYW5lOwo+ID4gICAgICAgICB1MzIgY3JjMzIgPSAwOwo+ID4gICAgICAg ICB1NjQgZnJhbWVfc3RhcnQsIGZyYW1lX2VuZDsKPiA+ICsgICAgICAgYm9vbCBjcmNfcGVuZGlu ZzsKPiA+ICAgICAgICAgdW5zaWduZWQgbG9uZyBmbGFnczsKPiA+Cj4gPiAgICAgICAgIHNwaW5f bG9ja19pcnFzYXZlKCZvdXQtPnN0YXRlX2xvY2ssIGZsYWdzKTsKPiA+ICAgICAgICAgZnJhbWVf c3RhcnQgPSBjcnRjX3N0YXRlLT5mcmFtZV9zdGFydDsKPiA+ICAgICAgICAgZnJhbWVfZW5kID0g Y3J0Y19zdGF0ZS0+ZnJhbWVfZW5kOwo+ID4gKyAgICAgICBjcmNfcGVuZGluZyA9IGNydGNfc3Rh dGUtPmNyY19wZW5kaW5nOwo+ID4gKyAgICAgICBjcnRjX3N0YXRlLT5mcmFtZV9zdGFydCA9IDA7 Cj4gPiArICAgICAgIGNydGNfc3RhdGUtPmZyYW1lX2VuZCA9IDA7Cj4gPiArICAgICAgIGNydGNf c3RhdGUtPmNyY19wZW5kaW5nID0gZmFsc2U7Cj4gPiAgICAgICAgIHNwaW5fdW5sb2NrX2lycXJl c3RvcmUoJm91dC0+c3RhdGVfbG9jaywgZmxhZ3MpOwo+ID4KPiA+IC0gICAgICAgLyogX3ZibGFu a19oYW5kbGUoKSBoYXNuJ3QgdXBkYXRlZCBmcmFtZV9zdGFydCB5ZXQgKi8KPiA+IC0gICAgICAg aWYgKCFmcmFtZV9zdGFydCB8fCBmcmFtZV9zdGFydCA9PSBmcmFtZV9lbmQpCj4gPiAtICAgICAg ICAgICAgICAgZ290byBvdXQ7Cj4gPiArICAgICAgIC8qCj4gPiArICAgICAgICAqIFdlIHJhY2Vk IHdpdGggdGhlIHZibGFuayBocnRpbWVyIGFuZCBwcmV2aW91cyB3b3JrIGFscmVhZHkgY29tcHV0 ZWQKPiA+ICsgICAgICAgICogdGhlIGNyYywgbm90aGluZyB0byBkby4KPiA+ICsgICAgICAgICov Cj4gPiArICAgICAgIGlmICghY3JjX3BlbmRpbmcpCj4gPiArICAgICAgICAgICAgICAgcmV0dXJu Owo+IAo+IEkgdGhpbmsgdGhpcyBjb25kaXRpb24gaXMgbm90IHJlYWNoYWJsZSBiZWNhdXNlIGNy Y19wZW5kaW5nIHdpbGwgYmUKPiBmaWxsZWQgd2l0aCB0cnVlIGluIGB2a21zX3ZibGFua19zaW11 bGF0ZSgpYCB3aGljaCBpbiB0dXJuIHNjaGVkdWxlCj4gdGhlIGZ1bmN0aW9uIGB2a21zX2NyY193 b3JrX2hhbmRsZSgpYC4gSnVzdCBmb3IgY2hlY2tpbmcsIEkgdHJpZWQgdG8KPiByZWFjaCB0aGlz IGNvbmRpdGlvbiBieSBydW5uaW5nIGttc19mbGlwLCBrbXNfcGlwZV9jcmNfYmFzaWMsIGFuZAo+ IGttc19jdXJzb3JfY3JjIHdpdGggdHdvIGRpZmZlcmVudCBWTSBzZXR1cHNbMV0sIGJ1dCBJIGNv dWxkbid0IHJlYWNoCj4gaXQuIFdoYXQgZG8geW91IHRoaW5rPwoKdGhyZWFkIEEJCQl0aHJlYWQg QgoxLiBydW4gdmJsYW5rIGhydGltZXIKCgkJCQkyLiBzdGFydHMgcnVubmluZyBjcmMgd29yayAo ZnJvbSBwcmV2aW91cwoJCQkJdmJsYW5rKQoKMy4gc3Bpbl9sb2NrKCkJCQktPiBnZXRzIHN0YWxs ZWQgb24gdGhlIHNwaW5fbG9jaygpIGJlY2F1c2UKCQkJCSAgIHRocmVhZCBBIGhhcyBpdCBhbHJl YWR5Cgo0LiB1cGRhdGUgZnJhbWVfZW5kIChvbmx5IGluCmxhdGVyIHBhdGNoZXMsIGF0bSB0aGlz IGlzCmltcG9zc2libGUpLiBjcmNfcGVuZGluZyBpcyBzZXQKYWxyZWFkeS4KCjUuIHNjaGVkdWxl X3dvcms6IHNpbmNlIHRoZSB3b3JrCmlzIHJ1bm5pbmcgYWxyZWFkeSwgdGhpcyBtZWFucyBpdApp cyBzY2hlZHVsZWQgdG8gcnVuIG9uY2UgbW9yZS4KCjYuIHNwaW5fdW5sb2NrCgoJCQkJNy4gY29t cHV0ZSBjcmMsIGNsZWFyIGNyY19wZW5kaW5nCgkJCQk4LiB3b3JrIGZpbmlzaGVzCgkJCQk5LiB3 b3JrIGdldHMgcnVuIGFnYWluCgkJCQk4LiBjcmNfcGVuZGluZz1mYWxzZQoKU2luY2UgdGhlIHNw aW5fbG9jayBjcml0aWNhbCBzZWN0aW9uIGlzIF92ZXJ5XyBzaG9ydCAobGVzcyB0aGFuIDEgdXNl YyBJCmJldCksIHRoaXMgcmFjZSBpcyB2ZXJ5IGhhcmQgdG8gaGl0LgoKRXhlcmNpc2U6IEZpZ3Vy ZSBvdXQgd2h5IHNjaGVkdWxlX3dvcmsgX211c3RfIHNjaGVkdWxlIHRoZSB3b3JrIGl0ZW0gdG8K cmUtcnVuIGlmIGl0J3MgcnVubmluZyBhbHJlYWR5LiBJZiBpdCBkb2Vzbid0IGRvIHRoYXQgdGhl cmUncyBhbm90aGVyCnJhY2UuCgo+IAo+IFsxXSBRZW11IHBhcmFtZXRlcnMKPiBWTTE6IC1tIDFH IC1zbXAgY29yZXM9MixjcHVzPTIKPiBWTTI6IC1lbmFibGUta3ZtIC1tIDJHIC1zbXAgY29yZXM9 NCxjcHVzPTQKPiAKPiA+ICAgICAgICAgZHJtX2Zvcl9lYWNoX3BsYW5lKHBsYW5lLCAmdmRldi0+ ZHJtKSB7Cj4gPiAgICAgICAgICAgICAgICAgc3RydWN0IHZrbXNfcGxhbmVfc3RhdGUgKnZwbGFu ZV9zdGF0ZTsKPiA+IEBAIC0xOTYsMjAgKzIwNCwxMSBAQCB2b2lkIHZrbXNfY3JjX3dvcmtfaGFu ZGxlKHN0cnVjdCB3b3JrX3N0cnVjdCAqd29yaykKPiA+ICAgICAgICAgaWYgKHByaW1hcnlfY3Jj KQo+ID4gICAgICAgICAgICAgICAgIGNyYzMyID0gX3ZrbXNfZ2V0X2NyYyhwcmltYXJ5X2NyYywg Y3Vyc29yX2NyYyk7Cj4gPgo+ID4gLSAgICAgICBmcmFtZV9lbmQgPSBkcm1fY3J0Y19hY2N1cmF0 ZV92YmxhbmtfY291bnQoY3J0Yyk7Cj4gPiAtCj4gPiAtICAgICAgIC8qIHF1ZXVlX3dvcmsgY2Fu IGZhaWwgdG8gc2NoZWR1bGUgY3JjX3dvcms7IGFkZCBjcmMgZm9yCj4gPiAtICAgICAgICAqIG1p c3NpbmcgZnJhbWVzCj4gPiArICAgICAgIC8qCj4gPiArICAgICAgICAqIFRoZSB3b3JrZXIgY2Fu IGZhbGwgYmVoaW5kIHRoZSB2YmxhbmsgaHJ0aW1lciwgbWFrZSBzdXJlIHdlIGNhdGNoIHVwLgo+ ID4gICAgICAgICAgKi8KPiA+ICAgICAgICAgd2hpbGUgKGZyYW1lX3N0YXJ0IDw9IGZyYW1lX2Vu ZCkKPiA+ICAgICAgICAgICAgICAgICBkcm1fY3J0Y19hZGRfY3JjX2VudHJ5KGNydGMsIHRydWUs IGZyYW1lX3N0YXJ0KyssICZjcmMzMik7Cj4gCj4gSSB3YW50IHRvIHRha2UgdGhpcyBvcHBvcnR1 bml0eSB0byBhc2sgYWJvdXQgdGhpcyB3aGlsZTsgSXQncyBub3QKPiByZWFsbHkgc3BlY2lmaWMg dG8gdGhpcyBwYXRjaC4KPiAKPiBJIGhhdmUgdG8gYWRtaXQgdGhhdCBJIG5ldmVyIGZ1bGx5IGdv dCB0aGUgaWRlYSBiZWhpbmQgdGhpcyAnd2hpbGUnOwo+IGl0IGxvb2tzIGxpa2UgdGhhdCB3ZSBq dXN0IGZpbGwgb3V0IHRoZSBtaXNzZWQgZnJhbWVzIHdpdGggYSByZXBlYXRlZAo+IHZhbHVlLiBG V0lVLCBgZHJtX2NydGNfYWRkX2NyY19lbnRyeSgpYCB3aWxsIGFkZCBhbiBlbnRyeSB3aXRoIHRo ZSBDUkMKPiBpbmZvcm1hdGlvbiBmb3IgYSBmcmFtZSwgYnV0IGluIHRoaXMgY2FzZSwgd2UgYXJl IGFkZGluZyB0aGUgc2FtZSBDUkMKPiBmb3IgYSBkaWZmZXJlbnQgc2V0IG9mIGZyYW1lcy4gSSBh Z3JlZSB0aGF0IG5lYXIgZnJhbWUgaGFzIGEgc2ltaWxhcgo+IENSQyB2YWx1ZSwgYnV0IGNvdWxk IHdlIHJlbHkgb24gdGhpcyBhbGwgdGhlIHRpbWU/IFdoYXQgY291bGQgaGFwcGVuCj4gaWYgd2Ug aGF2ZSBhIGdyZWF0IGRpZmZlcmVuY2UgZnJvbSB0aGUgZnJhbWVfc3RhcnQgYW5kIGZyYW1lX2Vu ZD8KCkl0J3MgYSBjaGVhcCB0cmljayBmb3Igc2xvdyBjcHU6IElmIHRoZSBjcmMgd29yayBnZXRz IGJlaGluZCB0aGUgdmJsYW5rCmhydGltZXIsIHdlIG5lZWQgdG8gc29tZWhvdyBjYXRjaCB1cC4g V2l0aCByZWFsIGh3IHRoaXMgaXMgbm90IHBvc3NpYmxlLApidXQgd2l0aCB2a21zIHdlIHNpbXVs YXRlIHRoZSBody4gVGhlIG9ubHkgcXVpY2sgd2F5IHRvIGNhdGNoIHVwIGlzIHRvCmZpbGwgb3V0 IHRoZSBzYW1lIGNyYyBmb3IgZXZlcnl0aGluZy4gSXQncyBhIGxpZSwgaXQgd2lsbCBtYWtlIHNv bWUKa21zX2F0b21pYyB0ZXN0cyBmYWlsLCBidXQgaXQncyB0aGUgb25seSB0aGluZyB3ZSBjYW4g cmVhbGx5IGRvLiBBc2lkZQpmcm9tIHRyeWluZyB0byBtYWtlIHRoZSBjcmMgY29tcHV0YXRpb24g Y29kZSBhcyBmYXN0IGFzIHBvc3NpYmxlLgotRGFuaWVsCgo+IAo+ID4gLQo+ID4gLW91dDoKPiA+ IC0gICAgICAgLyogdG8gYXZvaWQgdXNpbmcgdGhlIHNhbWUgdmFsdWUgZm9yIGZyYW1lIG51bWJl ciBhZ2FpbiAqLwo+ID4gLSAgICAgICBzcGluX2xvY2tfaXJxc2F2ZSgmb3V0LT5zdGF0ZV9sb2Nr LCBmbGFncyk7Cj4gPiAtICAgICAgIGNydGNfc3RhdGUtPmZyYW1lX2VuZCA9IGZyYW1lX2VuZDsK PiA+IC0gICAgICAgY3J0Y19zdGF0ZS0+ZnJhbWVfc3RhcnQgPSAwOwo+ID4gLSAgICAgICBzcGlu X3VubG9ja19pcnFyZXN0b3JlKCZvdXQtPnN0YXRlX2xvY2ssIGZsYWdzKTsKPiA+ICB9Cj4gPgo+ ID4gIHN0YXRpYyBpbnQgdmttc19jcmNfcGFyc2Vfc291cmNlKGNvbnN0IGNoYXIgKnNyY19uYW1l LCBib29sICplbmFibGVkKQo+ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS92a21zL3Zr bXNfY3J0Yy5jIGIvZHJpdmVycy9ncHUvZHJtL3ZrbXMvdmttc19jcnRjLmMKPiA+IGluZGV4IDFi YmUwOTliN2RiOC4uYzcyN2Q4NDg2ZTk3IDEwMDY0NAo+ID4gLS0tIGEvZHJpdmVycy9ncHUvZHJt L3ZrbXMvdmttc19jcnRjLmMKPiA+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS92a21zL3ZrbXNfY3J0 Yy5jCj4gPiBAQCAtMzAsMTMgKzMwLDE4IEBAIHN0YXRpYyBlbnVtIGhydGltZXJfcmVzdGFydCB2 a21zX3ZibGFua19zaW11bGF0ZShzdHJ1Y3QgaHJ0aW1lciAqdGltZXIpCj4gPiAgICAgICAgICAg ICAgICAgICogaGFzIHJlYWQgdGhlIGRhdGEKPiA+ICAgICAgICAgICAgICAgICAgKi8KPiA+ICAg ICAgICAgICAgICAgICBzcGluX2xvY2soJm91dHB1dC0+c3RhdGVfbG9jayk7Cj4gPiAtICAgICAg ICAgICAgICAgaWYgKCFzdGF0ZS0+ZnJhbWVfc3RhcnQpCj4gPiArICAgICAgICAgICAgICAgaWYg KCFzdGF0ZS0+Y3JjX3BlbmRpbmcpCj4gPiAgICAgICAgICAgICAgICAgICAgICAgICBzdGF0ZS0+ ZnJhbWVfc3RhcnQgPSBmcmFtZTsKPiA+ICsgICAgICAgICAgICAgICBlbHNlCj4gPiArICAgICAg ICAgICAgICAgICAgICAgICBEUk1fREVCVUdfRFJJVkVSKCJjcmMgd29ya2VyIGZhbGxpbmcgYmVo aW5kLCBmcmFtZV9zdGFydDogJWxsdSwgZnJhbWVfZW5kOiAlbGx1XG4iLAo+ID4gKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGF0ZS0+ZnJhbWVfc3RhcnQsIGZyYW1l KTsKPiA+ICsgICAgICAgICAgICAgICBzdGF0ZS0+ZnJhbWVfZW5kID0gZnJhbWU7Cj4gPiArICAg ICAgICAgICAgICAgc3RhdGUtPmNyY19wZW5kaW5nID0gdHJ1ZTsKPiA+ICAgICAgICAgICAgICAg ICBzcGluX3VubG9jaygmb3V0cHV0LT5zdGF0ZV9sb2NrKTsKPiA+Cj4gPiAgICAgICAgICAgICAg ICAgcmV0ID0gcXVldWVfd29yayhvdXRwdXQtPmNyY193b3JrcSwgJnN0YXRlLT5jcmNfd29yayk7 Cj4gPiAgICAgICAgICAgICAgICAgaWYgKCFyZXQpCj4gPiAtICAgICAgICAgICAgICAgICAgICAg ICBEUk1fV0FSTigiZmFpbGVkIHRvIHF1ZXVlIHZrbXNfY3JjX3dvcmtfaGFuZGxlIik7Cj4gPiAr ICAgICAgICAgICAgICAgICAgICAgICBEUk1fREVCVUdfRFJJVkVSKCJ2a21zX2NyY193b3JrX2hh bmRsZSBhbHJlYWR5IHF1ZXVlZFxuIik7Cj4gPiAgICAgICAgIH0KPiA+Cj4gPiAgICAgICAgIHNw aW5fdW5sb2NrKCZvdXRwdXQtPmxvY2spOwo+ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS92a21zL3ZrbXNfZHJ2LmggYi9kcml2ZXJzL2dwdS9kcm0vdmttcy92a21zX2Rydi5oCj4gPiBp bmRleCA4MWYxY2ZiZWI5MzYuLjNjN2UwNmIxOWVmZCAxMDA2NDQKPiA+IC0tLSBhL2RyaXZlcnMv Z3B1L2RybS92a21zL3ZrbXNfZHJ2LmgKPiA+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS92a21zL3Zr bXNfZHJ2LmgKPiA+IEBAIC01Niw2ICs1Niw4IEBAIHN0cnVjdCB2a21zX3BsYW5lX3N0YXRlIHsK PiA+ICBzdHJ1Y3Qgdmttc19jcnRjX3N0YXRlIHsKPiA+ICAgICAgICAgc3RydWN0IGRybV9jcnRj X3N0YXRlIGJhc2U7Cj4gPiAgICAgICAgIHN0cnVjdCB3b3JrX3N0cnVjdCBjcmNfd29yazsKPiA+ ICsKPiA+ICsgICAgICAgYm9vbCBjcmNfcGVuZGluZzsKPiA+ICAgICAgICAgdTY0IGZyYW1lX3N0 YXJ0Owo+ID4gICAgICAgICB1NjQgZnJhbWVfZW5kOwo+ID4gIH07Cj4gPiAtLQo+ID4gMi4yMC4x Cj4gPgo+IAo+IAo+IC0tIAo+IAo+IFJvZHJpZ28gU2lxdWVpcmEKPiBodHRwczovL3NpcXVlaXJh LnRlY2gKCi0tIApEYW5pZWwgVmV0dGVyClNvZnR3YXJlIEVuZ2luZWVyLCBJbnRlbCBDb3Jwb3Jh dGlvbgpodHRwOi8vYmxvZy5mZndsbC5jaApfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fXwpkcmktZGV2ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZlbEBsaXN0cy5m cmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0 aW5mby9kcmktZGV2ZWw=