From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Vetter Subject: Re: [PATCH 09/35] drm/gem: support BO freeing without dev->struct_mutex Date: Wed, 27 Apr 2016 13:21:13 +0200 Message-ID: <20160427112113.GB2558@phenom.ffwll.local> References: <1461691808-12414-1-git-send-email-daniel.vetter@ffwll.ch> <1461691808-12414-10-git-send-email-daniel.vetter@ffwll.ch> <1461749460.32509.9.camel@pengutronix.de> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Content-Disposition: inline In-Reply-To: <1461749460.32509.9.camel@pengutronix.de> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Lucas Stach Cc: Daniel Vetter , Intel Graphics Development , DRI Development , Daniel Vetter List-Id: intel-gfx@lists.freedesktop.org T24gV2VkLCBBcHIgMjcsIDIwMTYgYXQgMTE6MzE6MDBBTSArMDIwMCwgTHVjYXMgU3RhY2ggd3Jv dGU6Cj4gQW0gRGllbnN0YWcsIGRlbiAyNi4wNC4yMDE2LCAxOToyOSArMDIwMCBzY2hyaWViIERh bmllbCBWZXR0ZXI6Cj4gPiBGaW5hbGx5IGFsbCB0aGUgY29yZSBnZW0gYW5kIGEgbG90IG9mIGRy aXZlcnMgYXJlIGVudGlyZWx5IGZyZWUgb2YKPiA+IGRldi0+c3RydWN0X211dGV4IGRlcGVuY2ll cywgYW5kIHdlIGNhbiBzdGFydCB0byBoYXZlIGFuIGVudGlyZWx5Cj4gPiBsb2NrbGVzcyB1bnJl ZiBwYXRoLgo+ID4gCj4gPiBUbyBtYWtlIHN1cmUgdGhhdCBubyBvbmUgd2hvIHRvdWNoZXMgdGhl IGNvcmUgY29kZSBhY2NpZGVudGFsbHkgYnJlYWtzCj4gPiBleGlzdGluZyBkcml2ZXJzIHdoaWNo IHN0aWxsIHJlcXVpcmUgZGV2LT5zdHJ1Y3RfbXV0ZXggSSd2ZSBtYWRlIHRoZQo+ID4gbWlnaHRf bG9jayBjaGVjayB1bmNvbmRpdGlvbmFsLgo+ID4gCj4gPiBXaGlsZSBhdCBpdCBkZS1pbmxpbmUg dGhlIHJlZi91bnJlZiBmdW5jdGlvbnMsIHRoZXkndmUgYmVjb21lIGEgYml0Cj4gPiB0b28gYmln Lgo+ID4gCj4gPiB2MjogTWFrZSBpdCBub3QgbGVhayBsaWtlIGEgc2lldmUuCj4gPiAKPiA+IFNp Z25lZC1vZmYtYnk6IERhbmllbCBWZXR0ZXIgPGRhbmllbC52ZXR0ZXJAaW50ZWwuY29tPgo+IAo+ IFR3byBtb3N0bHkgY29zbWV0aWMgY29tbWVudHMgYmVsb3csIG90aGVyd2lzZSBsb29rcyBnb29k Ogo+IAo+IFJldmlld2VkLWJ5OiBMdWNhcyBTdGFjaCA8bC5zdGFjaEBwZW5ndXRyb25peC5kZT4K PiAKPiA+IC0tLQo+ID4gIGRyaXZlcnMvZ3B1L2RybS9kcm1fZ2VtLmMgfCA2NCArKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLQo+ID4gIGluY2x1ZGUvZHJtL2Ry bVAuaCAgICAgICAgfCAxMiArKysrKysrKy0KPiA+ICBpbmNsdWRlL2RybS9kcm1fZ2VtLmggICAg IHwgNDUgKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCj4gPiAgMyBmaWxlcyBjaGFu Z2VkLCA2NSBpbnNlcnRpb25zKCspLCA1NiBkZWxldGlvbnMoLSkKPiA+IAo+ID4gZGlmZiAtLWdp dCBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fZ2VtLmMgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2dlbS5j Cj4gPiBpbmRleCAyNWRhYzMxZWVmMzcuLjhmMmVmZjQ0OGJiNSAxMDA2NDQKPiA+IC0tLSBhL2Ry aXZlcnMvZ3B1L2RybS9kcm1fZ2VtLmMKPiA+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fZ2Vt LmMKPiA+IEBAIC03ODgsMTYgKzc4OCw3IEBAIGRybV9nZW1fb2JqZWN0X3JlbGVhc2Uoc3RydWN0 IGRybV9nZW1fb2JqZWN0ICpvYmopCj4gPiAgfQo+ID4gIEVYUE9SVF9TWU1CT0woZHJtX2dlbV9v YmplY3RfcmVsZWFzZSk7Cj4gPiAgCj4gPiAtLyoqCj4gPiAtICogZHJtX2dlbV9vYmplY3RfZnJl ZSAtIGZyZWUgYSBHRU0gb2JqZWN0Cj4gPiAtICogQGtyZWY6IGtyZWYgb2YgdGhlIG9iamVjdCB0 byBmcmVlCj4gPiAtICoKPiA+IC0gKiBDYWxsZWQgYWZ0ZXIgdGhlIGxhc3QgcmVmZXJlbmNlIHRv IHRoZSBvYmplY3QgaGFzIGJlZW4gbG9zdC4KPiA+IC0gKiBNdXN0IGJlIGNhbGxlZCBob2xkaW5n IHN0cnVjdF8gbXV0ZXgKPiA+IC0gKgo+ID4gLSAqIEZyZWVzIHRoZSBvYmplY3QKPiA+IC0gKi8K PiA+IC12b2lkCj4gPiArc3RhdGljIHZvaWQKPiA+ICBkcm1fZ2VtX29iamVjdF9mcmVlKHN0cnVj dCBrcmVmICprcmVmKQo+ID4gIHsKPiA+ICAJc3RydWN0IGRybV9nZW1fb2JqZWN0ICpvYmogPQo+ ID4gQEAgLTgwNiwxMCArNzk3LDU5IEBAIGRybV9nZW1fb2JqZWN0X2ZyZWUoc3RydWN0IGtyZWYg KmtyZWYpCj4gPiAgCj4gPiAgCVdBUk5fT04oIW11dGV4X2lzX2xvY2tlZCgmZGV2LT5zdHJ1Y3Rf bXV0ZXgpKTsKPiA+ICAKPiA+IC0JaWYgKGRldi0+ZHJpdmVyLT5nZW1fZnJlZV9vYmplY3QgIT0g TlVMTCkKPiA+ICsJaWYgKGRldi0+ZHJpdmVyLT5nZW1fZnJlZV9vYmplY3RfdW5sb2NrZWQgIT0g TlVMTCkKPiAKPiBXaHkgdGhvc2UgZXhwbGljaXQgIT0gTlVMTCBjaGVja3M/IFRoZSBzdHlsZSBt b3N0bHkgdXNlZCBpbiB0aGlzIGZpbGUgaXMKPiB0byBvbWl0IHRob3NlLCBsaWtlICJpZiAoZGV2 LT5kcml2ZXItPmdlbV9mcmVlX29iamVjdF91bmxvY2tlZCkiLiBTYW1lCj4gY29tbWVudCBhcHBs aWVzIHRvIHNldmVyYWwgaHVua3Mgb2YgdGhpcyBwYXRjaC4KCkkgbW92ZSBzb21lIG9mIHRoZXNl IGZ1bmN0aW9ucyBhcm91bmQsIHRoZSAhPSBOVUxMIGNoZWNrcyB3aGVyZSB0aGVyZQphbHJlYWR5 LiBJIGNhbiBlYXNpbHkgY2hhbmdlIGFsbCB0aGUgb25lcyBJIHRvdWNoLgoKPiA+ICsJCWRldi0+ ZHJpdmVyLT5nZW1fZnJlZV9vYmplY3RfdW5sb2NrZWQob2JqKTsKPiA+ICsJZWxzZSBpZiAoZGV2 LT5kcml2ZXItPmdlbV9mcmVlX29iamVjdCAhPSBOVUxMKQo+ID4gIAkJZGV2LT5kcml2ZXItPmdl bV9mcmVlX29iamVjdChvYmopOwo+ID4gIH0KPiA+IC1FWFBPUlRfU1lNQk9MKGRybV9nZW1fb2Jq ZWN0X2ZyZWUpOwo+ID4gKwo+ID4gKy8qKgo+ID4gKyAqIGRybV9nZW1fb2JqZWN0X3VucmVmZXJl bmNlX3VubG9ja2VkIC0gcmVsZWFzZSBhIEdFTSBCTyByZWZlcmVuY2UKPiA+ICsgKiBAb2JqOiBH RU0gYnVmZmVyIG9iamVjdAo+ID4gKyAqCj4gPiArICogVGhpcyByZWxlYXNlcyBhIHJlZmVyZW5j ZSB0byBAb2JqLiBDYWxsZXJzIG11c3Qgbm90IGhvbGQgdGhlCj4gPiArICogZGV2LT5zdHJ1Y3Rf bXV0ZXggbG9jayB3aGVuIGNhbGxpbmcgdGhpcyBmdW5jdGlvbi4KPiA+ICsgKi8KPiA+ICt2b2lk Cj4gPiArZHJtX2dlbV9vYmplY3RfdW5yZWZlcmVuY2VfdW5sb2NrZWQoc3RydWN0IGRybV9nZW1f b2JqZWN0ICpvYmopCj4gPiArewo+ID4gKwlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2Owo+ID4gKwo+ ID4gKwlpZiAoIW9iaikKPiA+ICsJCXJldHVybjsKPiA+ICsKPiA+ICsJZGV2ID0gb2JqLT5kZXY7 Cj4gPiArCW1pZ2h0X2xvY2soJmRldi0+c3RydWN0X211dGV4KTsKPiA+ICsKPiA+ICsJaWYgKGRl di0+ZHJpdmVyLT5nZW1fZnJlZV9vYmplY3QgIT0gTlVMTCkKPiA+ICsJCWtyZWZfcHV0KCZvYmot PnJlZmNvdW50LCBkcm1fZ2VtX29iamVjdF9mcmVlKTsKPiA+ICsJZWxzZSBpZiAoa3JlZl9wdXRf bXV0ZXgoJm9iai0+cmVmY291bnQsIGRybV9nZW1fb2JqZWN0X2ZyZWUsCj4gPiArCQkJCSZkZXYt PnN0cnVjdF9tdXRleCkpCj4gPiArCQltdXRleF91bmxvY2soJmRldi0+c3RydWN0X211dGV4KTsK PiA+ICt9Cj4gPiArRVhQT1JUX1NZTUJPTChkcm1fZ2VtX29iamVjdF91bnJlZmVyZW5jZV91bmxv Y2tlZCk7Cj4gPiArCj4gPiArLyoqCj4gPiArICogZHJtX2dlbV9vYmplY3RfdW5yZWZlcmVuY2Ug LSByZWxlYXNlIGEgR0VNIEJPIHJlZmVyZW5jZQo+ID4gKyAqIEBvYmo6IEdFTSBidWZmZXIgb2Jq ZWN0Cj4gPiArICoKPiA+ICsgKiBUaGlzIHJlbGVhc2VzIGEgcmVmZXJlbmNlIHRvIEBvYmouIENh bGxlcnMgbXVzdCBob2xkIHRoZSBkZXYtPnN0cnVjdF9tdXRleAo+ID4gKyAqIGxvY2sgd2hlbiBj YWxsaW5nIHRoaXMgZnVuY3Rpb24sIGV2ZW4gd2hlbiB0aGUgZHJpdmVyIGRvZXNuJ3QgdXNlCj4g PiArICogZGV2LT5zdHJ1Y3RfbXV0ZXggZm9yIGFueXRoaW5nLgo+ID4gKyAqCj4gPiArICogRm9y IGRyaXZlcnMgbm90IGVuY3VtYmVyZWQgd2l0aCBsZWdhY3kgbG9ja2luZyB1c2UKPiA+ICsgKiBk cm1fZ2VtX29iamVjdF91bnJlZmVyZW5jZV91bmxvY2tlZCgpIGluc3RlYWQuCj4gPiArICovCj4g PiArdm9pZAo+ID4gK2RybV9nZW1fb2JqZWN0X3VucmVmZXJlbmNlKHN0cnVjdCBkcm1fZ2VtX29i amVjdCAqb2JqKQo+ID4gK3sKPiA+ICsJaWYgKG9iaiAhPSBOVUxMKSB7Cj4gPiArCQlXQVJOX09O KCFtdXRleF9pc19sb2NrZWQoJm9iai0+ZGV2LT5zdHJ1Y3RfbXV0ZXgpKTsKPiA+ICsKPiA+ICsJ CWtyZWZfcHV0KCZvYmotPnJlZmNvdW50LCBkcm1fZ2VtX29iamVjdF9mcmVlKTsKPiA+ICsJfQo+ ID4gK30KPiA+ICtFWFBPUlRfU1lNQk9MKGRybV9nZW1fb2JqZWN0X3VucmVmZXJlbmNlKTsKPiA+ ICAKPiA+ICAvKioKPiA+ICAgKiBkcm1fZ2VtX3ZtX29wZW4gLSB2bWEtPm9wcy0+b3BlbiBpbXBs ZW1lbnRhdGlvbiBmb3IgR0VNCj4gPiBkaWZmIC0tZ2l0IGEvaW5jbHVkZS9kcm0vZHJtUC5oIGIv aW5jbHVkZS9kcm0vZHJtUC5oCj4gPiBpbmRleCBjODFkZDIyNTBmYzYuLjdlMzBiM2QyYjI1YyAx MDA2NDQKPiA+IC0tLSBhL2luY2x1ZGUvZHJtL2RybVAuaAo+ID4gKysrIGIvaW5jbHVkZS9kcm0v ZHJtUC5oCj4gPiBAQCAtNTgzLDkgKzU4MywxOSBAQCBzdHJ1Y3QgZHJtX2RyaXZlciB7Cj4gPiAg CSAqIERyaXZlci1zcGVjaWZpYyBjb25zdHJ1Y3RvciBmb3IgZHJtX2dlbV9vYmplY3RzLCB0byBz ZXQgdXAKPiA+ICAJICogb2JqLT5kcml2ZXJfcHJpdmF0ZS4KPiA+ICAJICoKPiA+IC0JICogUmV0 dXJucyAwIG9uIHN1Y2Nlc3MuCj4gPiArCSAqIFRoaXMgaXMgZGVwcmVjYXRlZCBhbmQgc2hvdWxk IG5vdCBiZSB1c2VkIGJ5IG5ldyBkcml2ZXJzLiBVc2UKPiA+ICsJICogQGdlbV9mcmVlX29iamVj dF91bmxvY2tlZCBpbnN0ZWFkLgo+ID4gIAkgKi8KPiA+ICAJdm9pZCAoKmdlbV9mcmVlX29iamVj dCkgKHN0cnVjdCBkcm1fZ2VtX29iamVjdCAqb2JqKTsKPiA+ICsKPiA+ICsJLyoqCj4gPiArCSAq IERyaXZlci1zcGVjaWZpYyBjb25zdHJ1Y3RvciBmb3IgZHJtX2dlbV9vYmplY3RzLCB0byBzZXQg dXAKPiA+ICsJICogb2JqLT5kcml2ZXJfcHJpdmF0ZS4KPiAKPiBUaGlzIHBhcnQgb2YgdGhlIGNv bW1lbnQgaXMgcmVhbGx5IG9mZi4gSSBzZWUgaXQncyBqdXN0IGNvcHkmcGFzdGUgZnJvbQo+IHRo ZSBjb21tZW50IGFib3ZlIGdlbV9mcmVlX29iamVjdCwgYnV0IEkgdGhpbmsgaXQgc2hvdWxkIGhh dmUgYmVlbgo+IHBsYWNlZCBhYm92ZSBnZW1fb3Blbl9vYmplY3QgYW5kIGhhcyBub3RoaW5nIHRv IGRvIHdpdGggdGhlIGZyZWUqCj4gY2FsbGJhY2tzLgoKT29wcywgd2FudGVkIHRvIGFkZCBwcm9w ZXIga2VybmVsZG9jIGZvciB0aGlzIG5ldyBob29rIGFuZCB0aGUgb2xkIG9uZSB0bwpleHBsYWlu IHRoZSBkaWZmZXJlbmNlcywgYW5kIHRvdGFsbHkgZmFpbGVkIGF0IHRoYXQuIFdpbGwgZml4IHVw LgotRGFuaWVsCgo+IAo+ID4gIFRoaXMgaXMgZm9yIGRyaXZlcnMgd2hpY2ggYXJlIG5vdCBlbmN1 bWJlcmVkCj4gPiArCSAqIHdpdGggZGV2LT5zdHJ1Y3RfbXV0ZXggbGVnYWN5IGxvY2tpbmcgc2No ZW1lcy4gVXNlIHRoaXMgaG9vayBpbnN0ZWFkCj4gPiArCSAqIG9mIEBnZW1fZnJlZV9vYmplY3Qu Cj4gPiArCSAqLwo+ID4gKwl2b2lkICgqZ2VtX2ZyZWVfb2JqZWN0X3VubG9ja2VkKSAoc3RydWN0 IGRybV9nZW1fb2JqZWN0ICpvYmopOwo+ID4gKwo+ID4gIAlpbnQgKCpnZW1fb3Blbl9vYmplY3Qp IChzdHJ1Y3QgZHJtX2dlbV9vYmplY3QgKiwgc3RydWN0IGRybV9maWxlICopOwo+ID4gIAl2b2lk ICgqZ2VtX2Nsb3NlX29iamVjdCkgKHN0cnVjdCBkcm1fZ2VtX29iamVjdCAqLCBzdHJ1Y3QgZHJt X2ZpbGUgKik7Cj4gPiAgCj4gPiBkaWZmIC0tZ2l0IGEvaW5jbHVkZS9kcm0vZHJtX2dlbS5oIGIv aW5jbHVkZS9kcm0vZHJtX2dlbS5oCj4gPiBpbmRleCAwYjNlMTFhYjg3NTcuLmFlMWM3ZjE4ZWVj MCAxMDA2NDQKPiA+IC0tLSBhL2luY2x1ZGUvZHJtL2RybV9nZW0uaAo+ID4gKysrIGIvaW5jbHVk ZS9kcm0vZHJtX2dlbS5oCj4gPiBAQCAtMTc1LDcgKzE3NSw2IEBAIHN0cnVjdCBkcm1fZ2VtX29i amVjdCB7Cj4gPiAgfTsKPiA+ICAKPiA+ICB2b2lkIGRybV9nZW1fb2JqZWN0X3JlbGVhc2Uoc3Ry dWN0IGRybV9nZW1fb2JqZWN0ICpvYmopOwo+ID4gLXZvaWQgZHJtX2dlbV9vYmplY3RfZnJlZShz dHJ1Y3Qga3JlZiAqa3JlZik7Cj4gPiAgaW50IGRybV9nZW1fb2JqZWN0X2luaXQoc3RydWN0IGRy bV9kZXZpY2UgKmRldiwKPiA+ICAJCQlzdHJ1Y3QgZHJtX2dlbV9vYmplY3QgKm9iaiwgc2l6ZV90 IHNpemUpOwo+ID4gIHZvaWQgZHJtX2dlbV9wcml2YXRlX29iamVjdF9pbml0KHN0cnVjdCBkcm1f ZGV2aWNlICpkZXYsCj4gPiBAQCAtMTk5LDQ4ICsxOTgsOCBAQCBkcm1fZ2VtX29iamVjdF9yZWZl cmVuY2Uoc3RydWN0IGRybV9nZW1fb2JqZWN0ICpvYmopCj4gPiAgCWtyZWZfZ2V0KCZvYmotPnJl ZmNvdW50KTsKPiA+ICB9Cj4gPiAgCj4gPiAtLyoqCj4gPiAtICogZHJtX2dlbV9vYmplY3RfdW5y ZWZlcmVuY2UgLSByZWxlYXNlIGEgR0VNIEJPIHJlZmVyZW5jZQo+ID4gLSAqIEBvYmo6IEdFTSBi dWZmZXIgb2JqZWN0Cj4gPiAtICoKPiA+IC0gKiBUaGlzIHJlbGVhc2VzIGEgcmVmZXJlbmNlIHRv IEBvYmouIENhbGxlcnMgbXVzdCBob2xkIHRoZSBkZXYtPnN0cnVjdF9tdXRleAo+ID4gLSAqIGxv Y2sgd2hlbiBjYWxsaW5nIHRoaXMgZnVuY3Rpb24sIGV2ZW4gd2hlbiB0aGUgZHJpdmVyIGRvZXNu J3QgdXNlCj4gPiAtICogZGV2LT5zdHJ1Y3RfbXV0ZXggZm9yIGFueXRoaW5nLgo+ID4gLSAqCj4g PiAtICogRm9yIGRyaXZlcnMgbm90IGVuY3VtYmVyZWQgd2l0aCBsZWdhY3kgbG9ja2luZyB1c2UK PiA+IC0gKiBkcm1fZ2VtX29iamVjdF91bnJlZmVyZW5jZV91bmxvY2tlZCgpIGluc3RlYWQuCj4g PiAtICovCj4gPiAtc3RhdGljIGlubGluZSB2b2lkCj4gPiAtZHJtX2dlbV9vYmplY3RfdW5yZWZl cmVuY2Uoc3RydWN0IGRybV9nZW1fb2JqZWN0ICpvYmopCj4gPiAtewo+ID4gLQlpZiAob2JqICE9 IE5VTEwpIHsKPiA+IC0JCVdBUk5fT04oIW11dGV4X2lzX2xvY2tlZCgmb2JqLT5kZXYtPnN0cnVj dF9tdXRleCkpOwo+ID4gLQo+ID4gLQkJa3JlZl9wdXQoJm9iai0+cmVmY291bnQsIGRybV9nZW1f b2JqZWN0X2ZyZWUpOwo+ID4gLQl9Cj4gPiAtfQo+ID4gLQo+ID4gLS8qKgo+ID4gLSAqIGRybV9n ZW1fb2JqZWN0X3VucmVmZXJlbmNlX3VubG9ja2VkIC0gcmVsZWFzZSBhIEdFTSBCTyByZWZlcmVu Y2UKPiA+IC0gKiBAb2JqOiBHRU0gYnVmZmVyIG9iamVjdAo+ID4gLSAqCj4gPiAtICogVGhpcyBy ZWxlYXNlcyBhIHJlZmVyZW5jZSB0byBAb2JqLiBDYWxsZXJzIG11c3Qgbm90IGhvbGQgdGhlCj4g PiAtICogZGV2LT5zdHJ1Y3RfbXV0ZXggbG9jayB3aGVuIGNhbGxpbmcgdGhpcyBmdW5jdGlvbi4K PiA+IC0gKi8KPiA+IC1zdGF0aWMgaW5saW5lIHZvaWQKPiA+IC1kcm1fZ2VtX29iamVjdF91bnJl ZmVyZW5jZV91bmxvY2tlZChzdHJ1Y3QgZHJtX2dlbV9vYmplY3QgKm9iaikKPiA+IC17Cj4gPiAt CXN0cnVjdCBkcm1fZGV2aWNlICpkZXY7Cj4gPiAtCj4gPiAtCWlmICghb2JqKQo+ID4gLQkJcmV0 dXJuOwo+ID4gLQo+ID4gLQlkZXYgPSBvYmotPmRldjsKPiA+IC0JaWYgKGtyZWZfcHV0X211dGV4 KCZvYmotPnJlZmNvdW50LCBkcm1fZ2VtX29iamVjdF9mcmVlLCAmZGV2LT5zdHJ1Y3RfbXV0ZXgp KQo+ID4gLQkJbXV0ZXhfdW5sb2NrKCZkZXYtPnN0cnVjdF9tdXRleCk7Cj4gPiAtCWVsc2UKPiA+ IC0JCW1pZ2h0X2xvY2soJmRldi0+c3RydWN0X211dGV4KTsKPiA+IC19Cj4gPiArdm9pZCBkcm1f Z2VtX29iamVjdF91bnJlZmVyZW5jZV91bmxvY2tlZChzdHJ1Y3QgZHJtX2dlbV9vYmplY3QgKm9i aik7Cj4gPiArdm9pZCBkcm1fZ2VtX29iamVjdF91bnJlZmVyZW5jZShzdHJ1Y3QgZHJtX2dlbV9v YmplY3QgKm9iaik7Cj4gPiAgCj4gPiAgaW50IGRybV9nZW1faGFuZGxlX2NyZWF0ZShzdHJ1Y3Qg ZHJtX2ZpbGUgKmZpbGVfcHJpdiwKPiA+ICAJCQkgIHN0cnVjdCBkcm1fZ2VtX29iamVjdCAqb2Jq LAo+IAo+IAoKLS0gCkRhbmllbCBWZXR0ZXIKU29mdHdhcmUgRW5naW5lZXIsIEludGVsIENvcnBv cmF0aW9uCmh0dHA6Ly9ibG9nLmZmd2xsLmNoCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fCmRyaS1kZXZlbCBtYWlsaW5nIGxpc3QKZHJpLWRldmVsQGxpc3Rz LmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xp c3RpbmZvL2RyaS1kZXZlbAo=