From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tvrtko Ursulin Subject: Re: [PATCH 06/11] drm/i915: Store owning file on the i915_address_space Date: Thu, 17 Dec 2015 11:52:06 +0000 Message-ID: <5672A1E6.4010508@linux.intel.com> References: <1450093012-14955-1-git-send-email-chris@chris-wilson.co.uk> <1450093012-14955-6-git-send-email-chris@chris-wilson.co.uk> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by gabe.freedesktop.org (Postfix) with ESMTP id 966116E990 for ; Thu, 17 Dec 2015 03:52:08 -0800 (PST) In-Reply-To: <1450093012-14955-6-git-send-email-chris@chris-wilson.co.uk> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Chris Wilson , intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org CkhpLAoKT24gMTQvMTIvMTUgMTE6MzYsIENocmlzIFdpbHNvbiB3cm90ZToKPiBGb3IgdGhlIGds b2JhbCBHVFQgKGFuZCBhbGlhc2luZyBHVFQpLCB0aGUgYWRkcmVzcyBzcGFjZSBpcyBvd25lZCBi eSB0aGUKPiBkZXZpY2UgKGl0IGlzIGEgZ2xvYmFsIHJlc291cmNlKSBhbmQgc28gdGhlIHBlci1m aWxlIG93bmVyIGZpZWxkIGlzCj4gTlVMTC4gRm9yIHBlci1wcm9jZXNzIEdUVCAod2hlcmUgd2Ug Y3JlYXRlIGFuIGFkZHJlc3Mgc3BhY2UgcGVyCj4gY29udGV4dCksIGVhY2ggaXMgb3duZWQgYnkg dGhlIG9wZW5pbmcgZmlsZS4gV2UgY2FuIHVzZSB0aGlzIG93bmVyc2hpcAo+IGluZm9ybWF0aW9u IHRvIGJvdGggZGlzdGluZ3Vpc2ggR0dUVCBhbmQgcHBHVFQgYWRkcmVzcyBzcGFjZXMsIGFzIHdl bGwKPiBhcyBvY2Nhc2lvbmFsbHkgaW5zcGVjdCB0aGUgb3duZXIuCj4KPiBTaWduZWQtb2ZmLWJ5 OiBDaHJpcyBXaWxzb24gPGNocmlzQGNocmlzLXdpbHNvbi5jby51az4KPiAtLS0KPiAgIGRyaXZl cnMvZ3B1L2RybS9pOTE1L2k5MTVfZGVidWdmcy5jICAgICB8ICAyICstCj4gICBkcml2ZXJzL2dw dS9kcm0vaTkxNS9pOTE1X2Rydi5oICAgICAgICAgfCAgMSAtCj4gICBkcml2ZXJzL2dwdS9kcm0v aTkxNS9pOTE1X2dlbV9jb250ZXh0LmMgfCAgMyArKy0KPiAgIGRyaXZlcnMvZ3B1L2RybS9pOTE1 L2k5MTVfZ2VtX2d0dC5jICAgICB8IDI1ICsrKysrKysrKysrKystLS0tLS0tLS0tLS0KPiAgIGRy aXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2d0dC5oICAgICB8IDEzICsrKysrKy0tLS0tLS0K PiAgIDUgZmlsZXMgY2hhbmdlZCwgMjIgaW5zZXJ0aW9ucygrKSwgMjIgZGVsZXRpb25zKC0pCj4K PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kZWJ1Z2ZzLmMgYi9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2RlYnVnZnMuYwo+IGluZGV4IDllYzEzM2Y1YWYwMC4uMTc5 ZTNjNWM1MDIyIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZGVidWdm cy5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kZWJ1Z2ZzLmMKPiBAQCAtMzUy LDcgKzM1Miw3IEBAIHN0YXRpYyBpbnQgcGVyX2ZpbGVfc3RhdHMoaW50IGlkLCB2b2lkICpwdHIs IHZvaWQgKmRhdGEpCj4gICAJCQkJPSBjb250YWluZXJfb2Yodm1hLT52bSwKPiAgIAkJCQkJICAg ICAgIHN0cnVjdCBpOTE1X2h3X3BwZ3R0LAo+ICAgCQkJCQkgICAgICAgYmFzZSk7Cj4gLQkJCWlm IChwcGd0dC0+ZmlsZV9wcml2ICE9IHN0YXRzLT5maWxlX3ByaXYpCj4gKwkJCWlmIChwcGd0dC0+ YmFzZS5maWxlICE9IHN0YXRzLT5maWxlX3ByaXYpCj4gICAJCQkJY29udGludWU7Cj4gICAJCX0K Pgo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oIGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaAo+IGluZGV4IDZjZTE2M2E2ODFmMi4uYjMyYTAwZjYw ZTk4IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKPiArKysg Yi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCj4gQEAgLTI5MjQsNyArMjkyNCw2IEBA IGk5MTVfdm1fdG9fcHBndHQoc3RydWN0IGk5MTVfYWRkcmVzc19zcGFjZSAqdm0pCj4gICAJcmV0 dXJuIGNvbnRhaW5lcl9vZih2bSwgc3RydWN0IGk5MTVfaHdfcHBndHQsIGJhc2UpOwo+ICAgfQo+ Cj4gLQo+ICAgc3RhdGljIGlubGluZSBib29sIGk5MTVfZ2VtX29ial9nZ3R0X2JvdW5kKHN0cnVj dCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmopCj4gICB7Cj4gICAJcmV0dXJuIGk5MTVfZ2VtX29i al9nZ3R0X2JvdW5kX3ZpZXcob2JqLCAmaTkxNV9nZ3R0X3ZpZXdfbm9ybWFsKTsKPiBkaWZmIC0t Z2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fY29udGV4dC5jIGIvZHJpdmVycy9n cHUvZHJtL2k5MTUvaTkxNV9nZW1fY29udGV4dC5jCj4gaW5kZXggMjVhODQ5OGYwYjVhLi5kY2I0 NjAzYTdmMDMgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fY29u dGV4dC5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fY29udGV4dC5jCj4g QEAgLTI5Niw3ICsyOTYsOCBAQCBpOTE1X2dlbV9jcmVhdGVfY29udGV4dChzdHJ1Y3QgZHJtX2Rl dmljZSAqZGV2LAo+ICAgCX0KPgo+ICAgCWlmIChVU0VTX0ZVTExfUFBHVFQoZGV2KSkgewo+IC0J CXN0cnVjdCBpOTE1X2h3X3BwZ3R0ICpwcGd0dCA9IGk5MTVfcHBndHRfY3JlYXRlKGRldiwgZmls ZV9wcml2KTsKPiArCQlzdHJ1Y3QgaTkxNV9od19wcGd0dCAqcHBndHQgPQo+ICsJCQlpOTE1X3Bw Z3R0X2NyZWF0ZSh0b19pOTE1KGRldiksIGZpbGVfcHJpdik7Cj4KPiAgIAkJaWYgKElTX0VSUl9P Ul9OVUxMKHBwZ3R0KSkgewo+ICAgCQkJRFJNX0RFQlVHX0RSSVZFUigiUFBHVFQgc2V0dXAgZmFp bGVkICglbGQpXG4iLAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dl bV9ndHQuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2d0dC5jCj4gaW5kZXggZGEx NTBjMjdhNzZjLi4xMzBjY2VmYjI0OTEgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaTkxNV9nZW1fZ3R0LmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9n dHQuYwo+IEBAIC0yMTEyLDExICsyMTEyLDEyIEBAIHN0YXRpYyBpbnQgZ2VuNl9wcGd0dF9pbml0 KHN0cnVjdCBpOTE1X2h3X3BwZ3R0ICpwcGd0dCkKPiAgIAlyZXR1cm4gMDsKPiAgIH0KPgo+IC1z dGF0aWMgaW50IF9faHdfcHBndHRfaW5pdChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCBzdHJ1Y3Qg aTkxNV9od19wcGd0dCAqcHBndHQpCj4gK3N0YXRpYyBpbnQgX19od19wcGd0dF9pbml0KHN0cnVj dCBpOTE1X2h3X3BwZ3R0ICpwcGd0dCwKPiArCQkJICAgc3RydWN0IGRybV9pOTE1X3ByaXZhdGUg KmRldl9wcml2KQo+ICAgewo+IC0JcHBndHQtPmJhc2UuZGV2ID0gZGV2Owo+ICsJcHBndHQtPmJh c2UuZGV2ID0gZGV2X3ByaXYtPmRldjsKPgo+IC0JaWYgKElOVEVMX0lORk8oZGV2KS0+Z2VuIDwg OCkKPiArCWlmIChJTlRFTF9JTkZPKGRldl9wcml2KS0+Z2VuIDwgOCkKPiAgIAkJcmV0dXJuIGdl bjZfcHBndHRfaW5pdChwcGd0dCk7Cj4gICAJZWxzZQo+ICAgCQlyZXR1cm4gZ2VuOF9wcGd0dF9p bml0KHBwZ3R0KTsKPiBAQCAtMjEzMiwxNSArMjEzMywxNyBAQCBzdGF0aWMgdm9pZCBpOTE1X2Fk ZHJlc3Nfc3BhY2VfaW5pdChzdHJ1Y3QgaTkxNV9hZGRyZXNzX3NwYWNlICp2bSwKPiAgIAlsaXN0 X2FkZF90YWlsKCZ2bS0+Z2xvYmFsX2xpbmssICZkZXZfcHJpdi0+dm1fbGlzdCk7Cj4gICB9Cj4K PiAtaW50IGk5MTVfcHBndHRfaW5pdChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCBzdHJ1Y3QgaTkx NV9od19wcGd0dCAqcHBndHQpCj4gK2ludCBpOTE1X3BwZ3R0X2luaXQoc3RydWN0IGk5MTVfaHdf cHBndHQgKnBwZ3R0LAo+ICsJCSAgICBzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYs Cj4gKwkJICAgIHN0cnVjdCBkcm1faTkxNV9maWxlX3ByaXZhdGUgKmZpbGVfcHJpdikKPiAgIHsK PiAtCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IGRldi0+ZGV2X3ByaXZhdGU7 Cj4gICAJaW50IHJldCA9IDA7CgpTaW5jZSB5b3UgYXJlIHVzaW5nIHRoZSBvcHBvcnR1bml0eSB0 byB0aWR5IHdoaXRlc3BhY2UgbWF5YmUgYWxzbyB0aWR5IAp0aGlzIG5lZWRsZXNzIGluaXQuIDsp Cgo+Cj4gLQlyZXQgPSBfX2h3X3BwZ3R0X2luaXQoZGV2LCBwcGd0dCk7Cj4gKwlyZXQgPSBfX2h3 X3BwZ3R0X2luaXQocHBndHQsIGRldl9wcml2KTsKPiAgIAlpZiAocmV0ID09IDApIHsKPiAgIAkJ a3JlZl9pbml0KCZwcGd0dC0+cmVmKTsKPiAgIAkJaTkxNV9hZGRyZXNzX3NwYWNlX2luaXQoJnBw Z3R0LT5iYXNlLCBkZXZfcHJpdik7Cj4gKwkJcHBndHQtPmJhc2UuZmlsZSA9IGZpbGVfcHJpdjsK Ckkgd291bGQga2VlcCB1c2luZyBmaWxlX3ByaXYgc2luY2UgdGhhdCdzIHdoYXQncyBpdCdzIGNh bGxlZCBhbGwgb3ZlciAKdGhlIHBsYWNlIGJ1dCB3aGF0ZXZlci4KCj4gICAJfQo+Cj4gICAJcmV0 dXJuIHJldDsKPiBAQCAtMjE4Myw3ICsyMTg2LDggQEAgaW50IGk5MTVfcHBndHRfaW5pdF9yaW5n KHN0cnVjdCBkcm1faTkxNV9nZW1fcmVxdWVzdCAqcmVxKQo+ICAgfQo+Cj4gICBzdHJ1Y3QgaTkx NV9od19wcGd0dCAqCj4gLWk5MTVfcHBndHRfY3JlYXRlKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYs IHN0cnVjdCBkcm1faTkxNV9maWxlX3ByaXZhdGUgKmZwcml2KQo+ICtpOTE1X3BwZ3R0X2NyZWF0 ZShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCj4gKwkJICBzdHJ1Y3QgZHJtX2k5 MTVfZmlsZV9wcml2YXRlICpmcHJpdikKPiAgIHsKPiAgIAlzdHJ1Y3QgaTkxNV9od19wcGd0dCAq cHBndHQ7Cj4gICAJaW50IHJldDsKPiBAQCAtMjE5MiwxNCArMjE5NiwxMiBAQCBpOTE1X3BwZ3R0 X2NyZWF0ZShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCBzdHJ1Y3QgZHJtX2k5MTVfZmlsZV9wcml2 YXRlICpmcHJpdikKPiAgIAlpZiAoIXBwZ3R0KQo+ICAgCQlyZXR1cm4gRVJSX1BUUigtRU5PTUVN KTsKPgo+IC0JcmV0ID0gaTkxNV9wcGd0dF9pbml0KGRldiwgcHBndHQpOwo+ICsJcmV0ID0gaTkx NV9wcGd0dF9pbml0KHBwZ3R0LCBkZXZfcHJpdiwgZnByaXYpOwo+ICAgCWlmIChyZXQpIHsKPiAg IAkJa2ZyZWUocHBndHQpOwo+ICAgCQlyZXR1cm4gRVJSX1BUUihyZXQpOwo+ICAgCX0KPgo+IC0J cHBndHQtPmZpbGVfcHJpdiA9IGZwcml2Owo+IC0KPiAgIAl0cmFjZV9pOTE1X3BwZ3R0X2NyZWF0 ZSgmcHBndHQtPmJhc2UpOwo+Cj4gICAJcmV0dXJuIHBwZ3R0Owo+IEBAIC0yNzE3LDcgKzI3MTks NyBAQCBzdGF0aWMgaW50IGk5MTVfZ2VtX3NldHVwX2dsb2JhbF9ndHQoc3RydWN0IGRybV9kZXZp Y2UgKmRldiwKPiAgIAkJaWYgKCFwcGd0dCkKPiAgIAkJCXJldHVybiAtRU5PTUVNOwo+Cj4gLQkJ cmV0ID0gX19od19wcGd0dF9pbml0KGRldiwgcHBndHQpOwo+ICsJCXJldCA9IF9faHdfcHBndHRf aW5pdChwcGd0dCwgZGV2X3ByaXYpOwo+ICAgCQlpZiAocmV0KSB7Cj4gICAJCQlwcGd0dC0+YmFz ZS5jbGVhbnVwKCZwcGd0dC0+YmFzZSk7Cj4gICAJCQlrZnJlZShwcGd0dCk7Cj4gQEAgLTMxMzQs NyArMzEzNiw2IEBAIGludCBpOTE1X2dlbV9ndHRfaW5pdChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2 KQo+ICAgCX0KPgo+ICAgCWd0dC0+YmFzZS5kZXYgPSBkZXY7Cj4gLQlndHQtPmJhc2UuaXNfZ2d0 dCA9IHRydWU7Cj4KPiAgIAlyZXQgPSBndHQtPmd0dF9wcm9iZShkZXYsICZndHQtPmJhc2UudG90 YWwsICZndHQtPnN0b2xlbl9zaXplLAo+ICAgCQkJICAgICAmZ3R0LT5tYXBwYWJsZV9iYXNlLCAm Z3R0LT5tYXBwYWJsZV9lbmQpOwo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p OTE1X2dlbV9ndHQuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2d0dC5oCj4gaW5k ZXggYmFlMDA1YTYyY2ZjLi40ZTk1NTNhY2UzM2YgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaTkxNV9nZW1fZ3R0LmgKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1 X2dlbV9ndHQuaAo+IEBAIC0yNzMsMTIgKzI3MywxMSBAQCBzdHJ1Y3QgaTkxNV9wbWw0IHsKPiAg IHN0cnVjdCBpOTE1X2FkZHJlc3Nfc3BhY2Ugewo+ICAgCXN0cnVjdCBkcm1fbW0gbW07Cj4gICAJ c3RydWN0IGRybV9kZXZpY2UgKmRldjsKPiArCXN0cnVjdCBkcm1faTkxNV9maWxlX3ByaXZhdGUg KmZpbGU7CgpTdWdnZXN0IHB1dHRpbmcgYSBjb21tZW50IGRvY3VtZW50aW5nIHdoZW4gaXQgaXMg TlVMTCBhbmQgd2hlbiBpdCBpcyAKdmFsaWQuIENvbW1pdCBzYXlzIHNvLCBidXQgSSB0aGluayBj b21tZW50IGlzIGFsc28gbmVlZGVkLgoKV2l0aCB0aGF0LAoKUmV2aWV3ZWQtYnk6IFR2cnRrbyBV cnN1bGluIDx0dnJ0a28udXJzdWxpbkBpbnRlbC5jb20+CgpSZWdhcmRzLAoKVHZydGtvCgoKPiAg IAlzdHJ1Y3QgbGlzdF9oZWFkIGdsb2JhbF9saW5rOwo+ICAgCXU2NCBzdGFydDsJCS8qIFN0YXJ0 IG9mZnNldCBhbHdheXMgMCBmb3IgZHJpMiAqLwo+ICAgCXU2NCB0b3RhbDsJCS8qIHNpemUgYWRk ciBzcGFjZSBtYXBzIChleC4gMkdCIGZvciBnZ3R0KSAqLwo+Cj4gLQlib29sIGlzX2dndHQ7Cj4g LQo+ICAgCXN0cnVjdCBpOTE1X3BhZ2Vfc2NyYXRjaCAqc2NyYXRjaF9wYWdlOwo+ICAgCXN0cnVj dCBpOTE1X3BhZ2VfdGFibGUgKnNjcmF0Y2hfcHQ7Cj4gICAJc3RydWN0IGk5MTVfcGFnZV9kaXJl Y3RvcnkgKnNjcmF0Y2hfcGQ7Cj4gQEAgLTMzNCw3ICszMzMsNyBAQCBzdHJ1Y3QgaTkxNV9hZGRy ZXNzX3NwYWNlIHsKPiAgIAkJCXUzMiBmbGFncyk7Cj4gICB9Owo+Cj4gLSNkZWZpbmUgaTkxNV9p c19nZ3R0KFYpICgoViktPmlzX2dndHQpCj4gKyNkZWZpbmUgaTkxNV9pc19nZ3R0KFYpICgoVikt PmZpbGUgPT0gTlVMTCkKPgo+ICAgLyogVGhlIEdyYXBoaWNzIFRyYW5zbGF0aW9uIFRhYmxlIGlz IHRoZSB3YXkgaW4gd2hpY2ggR0VOIGhhcmR3YXJlIHRyYW5zbGF0ZXMgYQo+ICAgICogR3JhcGhp Y3MgVmlydHVhbCBBZGRyZXNzIGludG8gYSBQaHlzaWNhbCBBZGRyZXNzLiBJbiBhZGRpdGlvbiB0 byB0aGUgbm9ybWFsCj4gQEAgLTM3Niw4ICszNzUsNiBAQCBzdHJ1Y3QgaTkxNV9od19wcGd0dCB7 Cj4gICAJCXN0cnVjdCBpOTE1X3BhZ2VfZGlyZWN0b3J5IHBkOwkJLyogR0VONi03ICovCj4gICAJ fTsKPgo+IC0Jc3RydWN0IGRybV9pOTE1X2ZpbGVfcHJpdmF0ZSAqZmlsZV9wcml2Owo+IC0KPiAg IAlnZW42X3B0ZV90IF9faW9tZW0gKnBkX2FkZHI7Cj4KPiAgIAlpbnQgKCplbmFibGUpKHN0cnVj dCBpOTE1X2h3X3BwZ3R0ICpwcGd0dCk7Cj4gQEAgLTUyMiwxMSArNTE5LDEzIEBAIHZvaWQgaTkx NV9nZW1faW5pdF9nbG9iYWxfZ3R0KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpOwo+ICAgdm9pZCBp OTE1X2dsb2JhbF9ndHRfY2xlYW51cChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KTsKPgo+Cj4gLWlu dCBpOTE1X3BwZ3R0X2luaXQoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgc3RydWN0IGk5MTVfaHdf cHBndHQgKnBwZ3R0KTsKPiAraW50IGk5MTVfcHBndHRfaW5pdChzdHJ1Y3QgaTkxNV9od19wcGd0 dCAqcHBndHQsCj4gKwkJICAgIHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKPiAr CQkgICAgc3RydWN0IGRybV9pOTE1X2ZpbGVfcHJpdmF0ZSAqZmlsZV9wcml2KTsKPiAgIGludCBp OTE1X3BwZ3R0X2luaXRfaHcoc3RydWN0IGRybV9kZXZpY2UgKmRldik7Cj4gICBpbnQgaTkxNV9w cGd0dF9pbml0X3Jpbmcoc3RydWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0ICpyZXEpOwo+ICAgdm9p ZCBpOTE1X3BwZ3R0X3JlbGVhc2Uoc3RydWN0IGtyZWYgKmtyZWYpOwo+IC1zdHJ1Y3QgaTkxNV9o d19wcGd0dCAqaTkxNV9wcGd0dF9jcmVhdGUoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKPiArc3Ry dWN0IGk5MTVfaHdfcHBndHQgKmk5MTVfcHBndHRfY3JlYXRlKHN0cnVjdCBkcm1faTkxNV9wcml2 YXRlICpkZXZfcHJpdiwKPiAgIAkJCQkJc3RydWN0IGRybV9pOTE1X2ZpbGVfcHJpdmF0ZSAqZnBy aXYpOwo+ICAgc3RhdGljIGlubGluZSB2b2lkIGk5MTVfcHBndHRfZ2V0KHN0cnVjdCBpOTE1X2h3 X3BwZ3R0ICpwcGd0dCkKPiAgIHsKPgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVl ZGVza3RvcC5vcmcKaHR0cDovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZv L2ludGVsLWdmeAo=