From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tomas Elf Subject: Re: [PATCH 08/53] drm/i915: Update alloc_request to return the allocated request Date: Thu, 05 Mar 2015 15:27:19 +0000 Message-ID: <54F875D7.9070708@intel.com> References: <1423828140-10653-1-git-send-email-John.C.Harrison@Intel.com> <1424366285-29232-1-git-send-email-John.C.Harrison@Intel.com> <1424366285-29232-9-git-send-email-John.C.Harrison@Intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by gabe.freedesktop.org (Postfix) with ESMTP id 65B136E7D6 for ; Thu, 5 Mar 2015 07:27:21 -0800 (PST) In-Reply-To: <1424366285-29232-9-git-send-email-John.C.Harrison@Intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: John.C.Harrison@Intel.com, Intel-GFX@Lists.FreeDesktop.Org List-Id: intel-gfx@lists.freedesktop.org T24gMTkvMDIvMjAxNSAxNzoxNywgSm9obi5DLkhhcnJpc29uQEludGVsLmNvbSB3cm90ZToKPiBG cm9tOiBKb2huIEhhcnJpc29uIDxKb2huLkMuSGFycmlzb25ASW50ZWwuY29tPgo+Cj4gVGhlIGFs bG9jX3JlcXVlc3QoKSBmdW5jdGlvbiBkb2VzIG5vdCBhY3R1YWxseSByZXR1cm4gdGhlIG5ld2x5 IGFsbG9jYXRlZAo+IHJlcXVlc3QuIEluc3RlYWQsIGl0IG11c3QgYmUgcHVsbGVkIGZyb20gcmlu Zy0+b3V0c3RhbmRpbmdfbGF6eV9yZXF1ZXN0LiBUaGlzCj4gcGF0Y2ggZml4ZXMgdGhpcyBzbyB0 aGF0IGNvZGUgY2FuIGNyZWF0ZSBhIHJlcXVlc3QgYW5kIHN0YXJ0IHVzaW5nIGl0IGtub3dpbmcK PiBleGFjdGx5IHdoaWNoIHJlcXVlc3QgaXQgYWN0dWFsbHkgb3ducy4KPgo+IEZvcjogVklaLTUx MTUKPiBTaWduZWQtb2ZmLWJ5OiBKb2huIEhhcnJpc29uIDxKb2huLkMuSGFycmlzb25ASW50ZWwu Y29tPgo+IC0tLQo+ICAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaCAgICAgICAgICAg IHwgICAgMyArKy0KPiAgIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2V4ZWNidWZmZXIu YyB8ICAgIDMgKystCj4gICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9scmMuYyAgICAgICAg ICAgfCAgIDEzICsrKysrKysrKy0tLS0KPiAgIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2xy Yy5oICAgICAgICAgICB8ICAgIDMgKystCj4gICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9y aW5nYnVmZmVyLmMgICAgfCAgIDE0ICsrKysrKysrKystLS0tCj4gICBkcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9yaW5nYnVmZmVyLmggICAgfCAgICAzICsrLQo+ICAgNiBmaWxlcyBjaGFuZ2Vk LCAyNyBpbnNlcnRpb25zKCspLCAxMiBkZWxldGlvbnMoLSkKPgo+IGRpZmYgLS1naXQgYS9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9k cnYuaAo+IGluZGV4IDg3YTRhMmUuLjkwMjIzZjIwOCAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pOTE1X2Rydi5oCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9k cnYuaAo+IEBAIC0xOTA5LDcgKzE5MDksOCBAQCBzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSB7Cj4g ICAJLyogQWJzdHJhY3QgdGhlIHN1Ym1pc3Npb24gbWVjaGFuaXNtIChsZWdhY3kgcmluZ2J1ZmZl ciBvciBleGVjbGlzdHMpIGF3YXkgKi8KPiAgIAlzdHJ1Y3Qgewo+ICAgCQlpbnQgKCphbGxvY19y ZXF1ZXN0KShzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICpyaW5nLAo+IC0JCQkJICAgICBzdHJ1Y3Qg aW50ZWxfY29udGV4dCAqY3R4KTsKPiArCQkJCSAgICAgc3RydWN0IGludGVsX2NvbnRleHQgKmN0 eCwKPiArCQkJCSAgICAgc3RydWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0ICoqcmVxX291dCk7Cj4g ICAJCWludCAoKmRvX2V4ZWNidWYpKHN0cnVjdCBpOTE1X2V4ZWNidWZmZXJfcGFyYW1zICpwYXJh bXMsCj4gICAJCQkJICBzdHJ1Y3QgZHJtX2k5MTVfZ2VtX2V4ZWNidWZmZXIyICphcmdzLAo+ICAg CQkJCSAgc3RydWN0IGxpc3RfaGVhZCAqdm1hcyk7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2k5MTVfZ2VtX2V4ZWNidWZmZXIuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5 MTVfZ2VtX2V4ZWNidWZmZXIuYwo+IGluZGV4IDYxNDcxZTkuLjM3ZGNjNmYgMTAwNjQ0Cj4gLS0t IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZXhlY2J1ZmZlci5jCj4gKysrIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZXhlY2J1ZmZlci5jCj4gQEAgLTEzNTMsNiArMTM1 Myw3IEBAIGk5MTVfZ2VtX2RvX2V4ZWNidWZmZXIoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgdm9p ZCAqZGF0YSwKPiAgIAlzdHJ1Y3QgaTkxNV9hZGRyZXNzX3NwYWNlICp2bTsKPiAgIAlzdHJ1Y3Qg aTkxNV9leGVjYnVmZmVyX3BhcmFtcyBwYXJhbXNfbWFzdGVyOyAvKiBYWFg6IHdpbGwgYmUgcmVt b3ZlZCBsYXRlciAqLwo+ICAgCXN0cnVjdCBpOTE1X2V4ZWNidWZmZXJfcGFyYW1zICpwYXJhbXMg PSAmcGFyYW1zX21hc3RlcjsKPiArCXN0cnVjdCBkcm1faTkxNV9nZW1fcmVxdWVzdCAqcmVxdWVz dDsKClBsZWFzZSBpbml0aWFsaXplIHJlcXVlc3QgdG8gTlVMTC4gSWYgeW91IGFjY2lkZW50YWxs eSBkZXJlZmVyZW5jZSBpdCAKYmVmb3JlIGl0IGlzIGFsbG9jYXRlZCAoc2VlaW5nIGFzIHRoZSBh bGxvY2F0aW9uIGlzIHNldmVyYWwgcGFnZXMgZG93biAKZnJvbSBoZXJlKSB5b3UgZ2V0IGEgbnVs bCBwb2ludGVyIGV4Y2VwdGlvbiwgd2hpY2ggaXMgYSBjbGVhciBpbmRpY2F0aW9uIAp0aGF0IHlv dSBkaWQgc29tZXRoaW5nIHN0dXBpZC4gT3RoZXJ3aXNlIGl0J3Mgbm90IGNsZWFyIHdoYXQgd2ls bCBoYXBwZW4gCihzdXJlLCBwYWdlIGZhdWx0LCBidXQgbnVsbCBwb2ludGVyIGV4Y2VwdGlvbiBp cyBhIGJldHRlciBmYWlsdXJlIAppbmRpY2F0aW9uKS4KClRoYW5rcywKVG9tYXMKCj4gICAJY29u c3QgdTMyIGN0eF9pZCA9IGk5MTVfZXhlY2J1ZmZlcjJfZ2V0X2NvbnRleHRfaWQoKmFyZ3MpOwo+ ICAgCXUzMiBkaXNwYXRjaF9mbGFnczsKPiAgIAlpbnQgcmV0Owo+IEBAIC0xNTMxLDcgKzE1MzIs NyBAQCBpOTE1X2dlbV9kb19leGVjYnVmZmVyKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHZvaWQg KmRhdGEsCj4gICAJCXBhcmFtcy0+YmF0Y2hfb2JqX3ZtX29mZnNldCA9IGk5MTVfZ2VtX29ial9v ZmZzZXQoYmF0Y2hfb2JqLCB2bSk7Cj4KPiAgIAkvKiBBbGxvY2F0ZSBhIHJlcXVlc3QgZm9yIHRo aXMgYmF0Y2ggYnVmZmVyIG5pY2UgYW5kIGVhcmx5LiAqLwo+IC0JcmV0ID0gZGV2X3ByaXYtPmd0 LmFsbG9jX3JlcXVlc3QocmluZywgY3R4KTsKPiArCXJldCA9IGRldl9wcml2LT5ndC5hbGxvY19y ZXF1ZXN0KHJpbmcsIGN0eCwgJnJlcXVlc3QpOwo+ICAgCWlmIChyZXQpCj4gICAJCWdvdG8gZXJy Owo+Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2xyYy5jIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJjLmMKPiBpbmRleCA4NjI4YWJmLi5jM2M3ODNmIDEw MDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2xyYy5jCj4gKysrIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJjLmMKPiBAQCAtODU3LDEzICs4NTcsMTcgQEAgdm9p ZCBpbnRlbF9scl9jb250ZXh0X3VucGluKHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKnJpbmcsCj4g ICB9Cj4KPiAgIGludCBpbnRlbF9sb2dpY2FsX3JpbmdfYWxsb2NfcmVxdWVzdChzdHJ1Y3QgaW50 ZWxfZW5naW5lX2NzICpyaW5nLAo+IC0JCQkJICAgICBzdHJ1Y3QgaW50ZWxfY29udGV4dCAqY3R4 KQo+ICsJCQkJICAgICBzdHJ1Y3QgaW50ZWxfY29udGV4dCAqY3R4LAo+ICsJCQkJICAgICBzdHJ1 Y3QgZHJtX2k5MTVfZ2VtX3JlcXVlc3QgKipyZXFfb3V0KQo+ICAgewo+ICAgCXN0cnVjdCBkcm1f aTkxNV9nZW1fcmVxdWVzdCAqcmVxdWVzdDsKPiAgIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAq ZGV2X3ByaXZhdGUgPSByaW5nLT5kZXYtPmRldl9wcml2YXRlOwo+ICAgCWludCByZXQ7Cj4KPiAt CWlmIChyaW5nLT5vdXRzdGFuZGluZ19sYXp5X3JlcXVlc3QpCj4gKwlpZiAoIXJlcV9vdXQpCj4g KwkJcmV0dXJuIC1FSU5WQUw7Cj4gKwo+ICsJaWYgKCgqcmVxX291dCA9IHJpbmctPm91dHN0YW5k aW5nX2xhenlfcmVxdWVzdCkgIT0gTlVMTCkKPiAgIAkJcmV0dXJuIDA7Cj4KPiAgIAlyZXF1ZXN0 ID0ga3phbGxvYyhzaXplb2YoKnJlcXVlc3QpLCBHRlBfS0VSTkVMKTsKPiBAQCAtODk4LDcgKzkw Miw3IEBAIGludCBpbnRlbF9sb2dpY2FsX3JpbmdfYWxsb2NfcmVxdWVzdChzdHJ1Y3QgaW50ZWxf ZW5naW5lX2NzICpyaW5nLAo+ICAgCWk5MTVfZ2VtX2NvbnRleHRfcmVmZXJlbmNlKHJlcXVlc3Qt PmN0eCk7Cj4gICAJcmVxdWVzdC0+cmluZ2J1ZiA9IGN0eC0+ZW5naW5lW3JpbmctPmlkXS5yaW5n YnVmOwo+Cj4gLQlyaW5nLT5vdXRzdGFuZGluZ19sYXp5X3JlcXVlc3QgPSByZXF1ZXN0Owo+ICsJ KnJlcV9vdXQgPSByaW5nLT5vdXRzdGFuZGluZ19sYXp5X3JlcXVlc3QgPSByZXF1ZXN0Owo+ICAg CXJldHVybiAwOwo+ICAgfQo+Cj4gQEAgLTEwNTEsNiArMTA1NSw3IEBAIHN0YXRpYyBpbnQgbG9n aWNhbF9yaW5nX3ByZXBhcmUoc3RydWN0IGludGVsX3JpbmdidWZmZXIgKnJpbmdidWYsCj4gICBp bnQgaW50ZWxfbG9naWNhbF9yaW5nX2JlZ2luKHN0cnVjdCBpbnRlbF9yaW5nYnVmZmVyICpyaW5n YnVmLAo+ICAgCQkJICAgICBzdHJ1Y3QgaW50ZWxfY29udGV4dCAqY3R4LCBpbnQgbnVtX2R3b3Jk cykKPiAgIHsKPiArCXN0cnVjdCBkcm1faTkxNV9nZW1fcmVxdWVzdCAqcmVxOwo+ICAgCXN0cnVj dCBpbnRlbF9lbmdpbmVfY3MgKnJpbmcgPSByaW5nYnVmLT5yaW5nOwo+ICAgCXN0cnVjdCBkcm1f ZGV2aWNlICpkZXYgPSByaW5nLT5kZXY7Cj4gICAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRl dl9wcml2ID0gZGV2LT5kZXZfcHJpdmF0ZTsKPiBAQCAtMTA2Niw3ICsxMDcxLDcgQEAgaW50IGlu dGVsX2xvZ2ljYWxfcmluZ19iZWdpbihzdHJ1Y3QgaW50ZWxfcmluZ2J1ZmZlciAqcmluZ2J1ZiwK PiAgIAkJcmV0dXJuIHJldDsKPgo+ICAgCS8qIFByZWFsbG9jYXRlIHRoZSBvbHIgYmVmb3JlIHRv dWNoaW5nIHRoZSByaW5nICovCj4gLQlyZXQgPSBpbnRlbF9sb2dpY2FsX3JpbmdfYWxsb2NfcmVx dWVzdChyaW5nLCBjdHgpOwo+ICsJcmV0ID0gaW50ZWxfbG9naWNhbF9yaW5nX2FsbG9jX3JlcXVl c3QocmluZywgY3R4LCAmcmVxKTsKPiAgIAlpZiAocmV0KQo+ICAgCQlyZXR1cm4gcmV0Owo+Cj4g ZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2xyYy5oIGIvZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfbHJjLmgKPiBpbmRleCAzY2MzOGJkLi43N2RlOGFjIDEwMDY0NAo+ IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2xyYy5oCj4gKysrIGIvZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfbHJjLmgKPiBAQCAtMzcsNyArMzcsOCBAQAo+Cj4gICAvKiBMb2dp Y2FsIFJpbmdzICovCj4gICBpbnQgX19tdXN0X2NoZWNrIGludGVsX2xvZ2ljYWxfcmluZ19hbGxv Y19yZXF1ZXN0KHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKnJpbmcsCj4gLQkJCQkJCSAgc3RydWN0 IGludGVsX2NvbnRleHQgKmN0eCk7Cj4gKwkJCQkJCSAgc3RydWN0IGludGVsX2NvbnRleHQgKmN0 eCwKPiArCQkJCQkJICBzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3JlcXVlc3QgKipyZXFfb3V0KTsKPiAg IHZvaWQgaW50ZWxfbG9naWNhbF9yaW5nX3N0b3Aoc3RydWN0IGludGVsX2VuZ2luZV9jcyAqcmlu Zyk7Cj4gICB2b2lkIGludGVsX2xvZ2ljYWxfcmluZ19jbGVhbnVwKHN0cnVjdCBpbnRlbF9lbmdp bmVfY3MgKnJpbmcpOwo+ICAgaW50IGludGVsX2xvZ2ljYWxfcmluZ3NfaW5pdChzdHJ1Y3QgZHJt X2RldmljZSAqZGV2KTsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf cmluZ2J1ZmZlci5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcmluZ2J1ZmZlci5jCj4g aW5kZXggNjM1NzA3YS4uMWE5Zjg4NCAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9yaW5nYnVmZmVyLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9y aW5nYnVmZmVyLmMKPiBAQCAtMjE2NCwxMyArMjE2NCwxOCBAQCBpbnQgaW50ZWxfcmluZ19pZGxl KHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKnJpbmcpCj4gICB9Cj4KPiAgIGludAo+IC1pbnRlbF9y aW5nX2FsbG9jX3JlcXVlc3Qoc3RydWN0IGludGVsX2VuZ2luZV9jcyAqcmluZywgc3RydWN0IGlu dGVsX2NvbnRleHQgKmN0eCkKPiAraW50ZWxfcmluZ19hbGxvY19yZXF1ZXN0KHN0cnVjdCBpbnRl bF9lbmdpbmVfY3MgKnJpbmcsCj4gKwkJCSBzdHJ1Y3QgaW50ZWxfY29udGV4dCAqY3R4LAo+ICsJ CQkgc3RydWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0ICoqcmVxX291dCkKPiAgIHsKPiAgIAlpbnQg cmV0Owo+ICAgCXN0cnVjdCBkcm1faTkxNV9nZW1fcmVxdWVzdCAqcmVxdWVzdDsKPiAgIAlzdHJ1 Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXZhdGUgPSByaW5nLT5kZXYtPmRldl9wcml2YXRl Owo+Cj4gLQlpZiAocmluZy0+b3V0c3RhbmRpbmdfbGF6eV9yZXF1ZXN0KQo+ICsJaWYgKCFyZXFf b3V0KQo+ICsJCXJldHVybiAtRUlOVkFMOwo+ICsKPiArCWlmICgoKnJlcV9vdXQgPSByaW5nLT5v dXRzdGFuZGluZ19sYXp5X3JlcXVlc3QpICE9IE5VTEwpCj4gICAJCXJldHVybiAwOwo+Cj4gICAJ cmVxdWVzdCA9IGt6YWxsb2Moc2l6ZW9mKCpyZXF1ZXN0KSwgR0ZQX0tFUk5FTCk7Cj4gQEAgLTIx ODgsNyArMjE5Myw3IEBAIGludGVsX3JpbmdfYWxsb2NfcmVxdWVzdChzdHJ1Y3QgaW50ZWxfZW5n aW5lX2NzICpyaW5nLCBzdHJ1Y3QgaW50ZWxfY29udGV4dCAqY3R4Cj4gICAJCXJldHVybiByZXQ7 Cj4gICAJfQo+Cj4gLQlyaW5nLT5vdXRzdGFuZGluZ19sYXp5X3JlcXVlc3QgPSByZXF1ZXN0Owo+ ICsJKnJlcV9vdXQgPSByaW5nLT5vdXRzdGFuZGluZ19sYXp5X3JlcXVlc3QgPSByZXF1ZXN0Owo+ ICAgCXJldHVybiAwOwo+ICAgfQo+Cj4gQEAgLTIyMTYsNiArMjIyMSw3IEBAIHN0YXRpYyBpbnQg X19pbnRlbF9yaW5nX3ByZXBhcmUoc3RydWN0IGludGVsX2VuZ2luZV9jcyAqcmluZywKPiAgIGlu dCBpbnRlbF9yaW5nX2JlZ2luKHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKnJpbmcsCj4gICAJCSAg ICAgaW50IG51bV9kd29yZHMpCj4gICB7Cj4gKwlzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3JlcXVlc3Qg KnJlcTsKPiAgIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSByaW5nLT5kZXYt PmRldl9wcml2YXRlOwo+ICAgCWludCByZXQ7Cj4KPiBAQCAtMjIyOSw3ICsyMjM1LDcgQEAgaW50 IGludGVsX3JpbmdfYmVnaW4oc3RydWN0IGludGVsX2VuZ2luZV9jcyAqcmluZywKPiAgIAkJcmV0 dXJuIHJldDsKPgo+ICAgCS8qIFByZWFsbG9jYXRlIHRoZSBvbHIgYmVmb3JlIHRvdWNoaW5nIHRo ZSByaW5nICovCj4gLQlyZXQgPSBpbnRlbF9yaW5nX2FsbG9jX3JlcXVlc3QocmluZywgTlVMTCk7 Cj4gKwlyZXQgPSBpbnRlbF9yaW5nX2FsbG9jX3JlcXVlc3QocmluZywgTlVMTCwgJnJlcSk7Cj4g ICAJaWYgKHJldCkKPiAgIAkJcmV0dXJuIHJldDsKPgo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9yaW5nYnVmZmVyLmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9yaW5nYnVmZmVyLmgKPiBpbmRleCAyZmQ5NjBhLi40ZjhhMTRhIDEwMDY0NAo+IC0tLSBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3JpbmdidWZmZXIuaAo+ICsrKyBiL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX3JpbmdidWZmZXIuaAo+IEBAIC0zOTMsNyArMzkzLDggQEAgdm9pZCBp bnRlbF9jbGVhbnVwX3JpbmdfYnVmZmVyKHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKnJpbmcpOwo+ ICAgaW50IF9fbXVzdF9jaGVjayBpbnRlbF9yaW5nX2JlZ2luKHN0cnVjdCBpbnRlbF9lbmdpbmVf Y3MgKnJpbmcsIGludCBuKTsKPiAgIGludCBfX211c3RfY2hlY2sgaW50ZWxfcmluZ19jYWNoZWxp bmVfYWxpZ24oc3RydWN0IGludGVsX2VuZ2luZV9jcyAqcmluZyk7Cj4gICBpbnQgX19tdXN0X2No ZWNrIGludGVsX3JpbmdfYWxsb2NfcmVxdWVzdChzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICpyaW5n LAo+IC0JCQkJCSAgc3RydWN0IGludGVsX2NvbnRleHQgKmN0eCk7Cj4gKwkJCQkJICBzdHJ1Y3Qg aW50ZWxfY29udGV4dCAqY3R4LAo+ICsJCQkJCSAgc3RydWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0 ICoqcmVxX291dCk7Cj4gICBzdGF0aWMgaW5saW5lIHZvaWQgaW50ZWxfcmluZ19lbWl0KHN0cnVj dCBpbnRlbF9lbmdpbmVfY3MgKnJpbmcsCj4gICAJCQkJICAgdTMyIGRhdGEpCj4gICB7Cj4KCl9f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBt YWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwOi8vbGlzdHMu ZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==