From mboxrd@z Thu Jan 1 00:00:00 1970 From: John Harrison Subject: Re: [PATCH 03/55] drm/i915: i915_add_request must not fail Date: Thu, 04 Jun 2015 15:07:55 +0100 Message-ID: <55705BBB.3000207@Intel.com> References: <1432917856-12261-1-git-send-email-John.C.Harrison@Intel.com> <1432917856-12261-4-git-send-email-John.C.Harrison@Intel.com> <556DF316.4080506@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 D5A8C6E13F for ; Thu, 4 Jun 2015 07:07:58 -0700 (PDT) In-Reply-To: <556DF316.4080506@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Tomas Elf , Intel-GFX@Lists.FreeDesktop.Org List-Id: intel-gfx@lists.freedesktop.org T24gMDIvMDYvMjAxNSAxOToxNiwgVG9tYXMgRWxmIHdyb3RlOgo+IE9uIDI5LzA1LzIwMTUgMTc6 NDMsIEpvaG4uQy5IYXJyaXNvbkBJbnRlbC5jb20gd3JvdGU6Cj4+IEZyb206IEpvaG4gSGFycmlz b24gPEpvaG4uQy5IYXJyaXNvbkBJbnRlbC5jb20+Cj4+Cj4+IFRoZSBpOTE1X2FkZF9yZXF1ZXN0 KCkgZnVuY3Rpb24gaXMgY2FsbGVkIHRvIGtlZXAgdHJhY2sgb2Ygd29yayB0aGF0IAo+PiBoYXMg YmVlbgo+PiB3cml0dGVuIHRvIHRoZSByaW5nIGJ1ZmZlci4gSXQgYWRkcyBlcGlsb2d1ZSBjb21t YW5kcyB0byB0cmFjayAKPj4gcHJvZ3Jlc3MgKHNlcW5vCj4+IHVwZGF0ZXMgYW5kIHN1Y2gpLCBt b3ZlcyB0aGUgcmVxdWVzdCBzdHJ1Y3R1cmUgb250byB0aGUgcmlnaHQgbGlzdCAKPj4gYW5kIG90 aGVyCj4+IHN1Y2ggaG91c2Uga2VlcGluZyB0YXNrcy4gSG93ZXZlciwgdGhlIHdvcmsgaXRzZWxm IGhhcyBhbHJlYWR5IGJlZW4gCj4+IHdyaXR0ZW4gdG8KPj4gdGhlIHJpbmcgYW5kIHdpbGwgZ2V0 IGV4ZWN1dGVkIHdoZXRoZXIgb3Igbm90IHRoZSBhZGQgcmVxdWVzdCBjYWxsIAo+PiBzdWNjZWVk cy4gU28KPj4gbm8gbWF0dGVyIHdoYXQgZ29lcyB3cm9uZywgdGhlcmUgaXNuJ3QgYSB3aG9sZSBs b3Qgb2YgcG9pbnQgaW4gCj4+IGZhaWxpbmcgdGhlIGNhbGwuCj4+Cj4+IEF0IHRoZSBtb21lbnQs IHRoaXMgaXMgZmluZShpc2gpLiBJZiB0aGUgYWRkIHJlcXVlc3QgZG9lcyBiYWlsIGVhcmx5IAo+ PiBvbiBhbmQgbm90Cj4+IGRvIHRoZSBob3VzZWtlZXBpbmcsIHRoZSByZXF1ZXN0IHdpbGwgc3Rp bGwgZmxvYXQgYXJvdW5kIGluIHRoZQo+PiByaW5nLT5vdXRzdGFuZGluZ19sYXp5X3JlcXVlc3Qg ZmllbGQgYW5kIGJlIHBpY2tlZCB1cCBuZXh0IHRpbWUuIEl0IAo+PiBtZWFucwo+PiBtdWx0aXBs ZSBwaWVjZXMgb2Ygd29yayB3aWxsIGJlIHRhZ2dlZCBhcyB0aGUgc2FtZSByZXF1ZXN0IGFuZCBk cml2ZXIgCj4+IGNhbid0Cj4+IGFjdHVhbGx5IHdhaXQgZm9yIHRoZSBmaXJzdCBwaWVjZSBvZiB3 b3JrIHVudGlsIHNvbWV0aGluZyBlbHNlIGhhcyBiZWVuCj4+IHN1Ym1pdHRlZC4gQnV0IGl0IGFs bCBzb3J0IG9mIGhhbmdzIHRvZ2V0aGVyLgo+Pgo+PiBUaGlzIHBhdGNoIHNlcmllcyBpcyBhbGwg YWJvdXQgcmVtb3ZpbmcgdGhlIE9MUiBhbmQgZ3VhcmFudGVlaW5nIHRoYXQgCj4+IGVhY2ggcGll Y2UKPj4gb2Ygd29yayBnZXRzIGl0cyBvd24gcGVyc29uYWwgcmVxdWVzdC4gVGhhdCBtZWFucyB0 aGF0IHRoZXJlIGlzIG5vIG1vcmUKPj4gJ2hvb3ZlcmluZyB1cCBvZiBmb3Jnb3R0ZW4gcmVxdWVz dHMnLiBJZiB0aGUgcmVxdWVzdCBkb2VzIG5vdCBnZXQgCj4+IHRyYWNrZWQgdGhlbgo+PiBpdCB3 aWxsIGJlIGxlYWtlZC4gVGh1cyB0aGUgYWRkIHJlcXVlc3QgY2FsbCBfbXVzdF8gbm90IGZhaWwu IFRoZSAKPj4gcHJldmlvdXMgcGF0Y2gKPj4gc2hvdWxkIGhhdmUgYWxyZWFkeSBlbnN1cmVkIHRo YXQgaXQgX3dpbGxfIG5vdCBmYWlsIGJ5IHJlbW92aW5nIHRoZSAKPj4gcG90ZW50aWFsCj4+IGZv ciBydW5uaW5nIG91dCBvZiByaW5nIHNwYWNlLiBUaGlzIHBhdGNoIGVuZm9yY2VzIHRoZSBydWxl IGJ5IAo+PiBhY3R1YWxseSByZW1vdmluZwo+PiB0aGUgZWFybHkgZXhpdCBwYXRocyBhbmQgdGhl IHJldHVybiBjb2RlLgo+Pgo+PiBOb3RlIHRoYXQgaWYgc29tZXRoaW5nIGRvZXMgbWFuYWdlIHRv IGZhaWwgYW5kIHRoZSBlcGlsb2d1ZSBjb21tYW5kcyAKPj4gZG9uJ3QgZ2V0Cj4+IHdyaXR0ZW4g dG8gdGhlIHJpbmcsIHRoZSBkcml2ZXIgd2lsbCBzdGlsbCBoYW5nIHRvZ2V0aGVyLiBUaGUgcmVx dWVzdCAKPj4gd2lsbCBiZQo+PiBhZGRlZCB0byB0aGUgdHJhY2tpbmcgbGlzdHMuIEFuZCBhcyBp biB0aGUgb2xkIGNhc2UsIGFueSBzdWJzZXF1ZW50IAo+PiB3b3JrIHdpbGwKPj4gZ2VuZXJhdGUg YSBuZXcgc2Vxbm8gd2hpY2ggd2lsbCBzdWZmaWNlIGZvciBtYXJraW5nIHRoZSBvbGQgb25lIGFz IAo+PiBjb21wbGV0ZS4KPj4KPj4gdjI6IEltcHJvdmVkIFdBUk5pbmdzIChUb21hcyBFbGYgcmV2 aWV3IHJlcXVlc3QpLgo+Pgo+PiBGb3I6IFZJWi01MTE1Cj4+IFNpZ25lZC1vZmYtYnk6IEpvaG4g SGFycmlzb24gPEpvaG4uQy5IYXJyaXNvbkBJbnRlbC5jb20+Cj4+IC0tLQo+PiAgIGRyaXZlcnMv Z3B1L2RybS9pOTE1L2k5MTVfZHJ2LmggICAgICAgICAgICAgIHwgICAgNiArKy0tCj4+ICAgZHJp dmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW0uYyAgICAgICAgICAgICAgfCAgIDQzIAo+PiArKysr KysrKysrKystLS0tLS0tLS0tLS0tLQo+PiAgIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2Vt X2V4ZWNidWZmZXIuYyAgIHwgICAgMiArLQo+PiAgIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVf Z2VtX3JlbmRlcl9zdGF0ZS5jIHwgICAgMiArLQo+PiAgIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX2xyYy5jICAgICAgICAgICAgIHwgICAgMiArLQo+PiAgIGRyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX292ZXJsYXkuYyAgICAgICAgIHwgICAgOCArKy0tLQo+PiAgIGRyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX3JpbmdidWZmZXIuYyAgICAgIHwgICAgOCArKy0tLQo+PiAgIDcgZmlsZXMg Y2hhbmdlZCwgMzEgaW5zZXJ0aW9ucygrKSwgNDAgZGVsZXRpb25zKC0pCj4+Cj4+IGRpZmYgLS1n aXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oIAo+PiBiL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2k5MTVfZHJ2LmgKPj4gaW5kZXggZWJhMTg1Ny4uMWJlNGE1MiAxMDA2NDQKPj4gLS0t IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaAo+PiArKysgYi9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pOTE1X2Rydi5oCj4+IEBAIC0yODYwLDkgKzI4NjAsOSBAQCB2b2lkIGk5MTVfZ2Vt X2luaXRfc3dpenpsaW5nKHN0cnVjdCBkcm1fZGV2aWNlIAo+PiAqZGV2KTsKPj4gICB2b2lkIGk5 MTVfZ2VtX2NsZWFudXBfcmluZ2J1ZmZlcihzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KTsKPj4gICBp bnQgX19tdXN0X2NoZWNrIGk5MTVfZ3B1X2lkbGUoc3RydWN0IGRybV9kZXZpY2UgKmRldik7Cj4+ ICAgaW50IF9fbXVzdF9jaGVjayBpOTE1X2dlbV9zdXNwZW5kKHN0cnVjdCBkcm1fZGV2aWNlICpk ZXYpOwo+PiAtaW50IF9faTkxNV9hZGRfcmVxdWVzdChzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICpy aW5nLAo+PiAtICAgICAgICAgICAgICAgc3RydWN0IGRybV9maWxlICpmaWxlLAo+PiAtICAgICAg ICAgICAgICAgc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKmJhdGNoX29iaik7Cj4+ICt2b2lk IF9faTkxNV9hZGRfcmVxdWVzdChzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICpyaW5nLAo+PiArICAg ICAgICAgICAgc3RydWN0IGRybV9maWxlICpmaWxlLAo+PiArICAgICAgICAgICAgc3RydWN0IGRy bV9pOTE1X2dlbV9vYmplY3QgKmJhdGNoX29iaik7Cj4+ICAgI2RlZmluZSBpOTE1X2FkZF9yZXF1 ZXN0KHJpbmcpIFwKPj4gICAgICAgX19pOTE1X2FkZF9yZXF1ZXN0KHJpbmcsIE5VTEwsIE5VTEwp Cj4+ICAgaW50IF9faTkxNV93YWl0X3JlcXVlc3Qoc3RydWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0 ICpyZXEsCj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbS5jIAo+ PiBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMKPj4gaW5kZXggNmY1MTQxNi4uZGQz OWFhNSAxMDA2NDQKPj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW0uYwo+PiAr KysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbS5jCj4+IEBAIC0xMTU1LDE1ICsxMTU1 LDEyIEBAIGk5MTVfZ2VtX2NoZWNrX3dlZGdlKHN0cnVjdCBpOTE1X2dwdV9lcnJvciAKPj4gKmVy cm9yLAo+PiAgIGludAo+PiAgIGk5MTVfZ2VtX2NoZWNrX29scihzdHJ1Y3QgZHJtX2k5MTVfZ2Vt X3JlcXVlc3QgKnJlcSkKPj4gICB7Cj4+IC0gICAgaW50IHJldDsKPj4gLQo+PiBXQVJOX09OKCFt dXRleF9pc19sb2NrZWQoJnJlcS0+cmluZy0+ZGV2LT5zdHJ1Y3RfbXV0ZXgpKTsKPj4KPj4gLSAg ICByZXQgPSAwOwo+PiAgICAgICBpZiAocmVxID09IHJlcS0+cmluZy0+b3V0c3RhbmRpbmdfbGF6 eV9yZXF1ZXN0KQo+PiAtICAgICAgICByZXQgPSBpOTE1X2FkZF9yZXF1ZXN0KHJlcS0+cmluZyk7 Cj4+ICsgICAgICAgIGk5MTVfYWRkX3JlcXVlc3QocmVxLT5yaW5nKTsKPj4KPj4gLSAgICByZXR1 cm4gcmV0Owo+PiArICAgIHJldHVybiAwOwo+PiAgIH0KPgo+IGk5MTVfZ2VtX2NoZWNrX29sciBu ZXZlciByZXR1cm5zIGFueXRoaW5nIGJ1dCAwLiBIb3cgYWJvdXQgbWFraW5nIGl0IAo+IHZvaWQ/ ClNlZW1zIGxpa2UgcmVkdW5kYW50L3VubmVjZXNzYXJ5IGNoYW5nZXMgZ2l2ZW4gdGhhdCB0aGUg ZW50aXJlIGZ1bmN0aW9uIAppcyByZW1vdmVkIGxhdGVyIGluIHRoZSBzZXJpZXMuIENoYW5naW5n IGl0IGZyb20gYSAnX19tdXN0X2NoZWNrJyB0byBhIAondm9pZCcgbm93IHdvdWxkIGJlIGEgbG90 IG9mIGV4dHJhIGNoYW5nZXMuCgo+IFRoYW5rcywKPiBUb21hcwo+Cj4+Cj4+ICAgc3RhdGljIHZv aWQgZmFrZV9pcnEodW5zaWduZWQgbG9uZyBkYXRhKQo+PiBAQCAtMjQ2Niw5ICsyNDYzLDE0IEBA IGk5MTVfZ2VtX2dldF9zZXFubyhzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB1MzIgCj4+ICpzZXFu bykKPj4gICAgICAgcmV0dXJuIDA7Cj4+ICAgfQo+Pgo+PiAtaW50IF9faTkxNV9hZGRfcmVxdWVz dChzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICpyaW5nLAo+PiAtICAgICAgICAgICAgICAgc3RydWN0 IGRybV9maWxlICpmaWxlLAo+PiAtICAgICAgICAgICAgICAgc3RydWN0IGRybV9pOTE1X2dlbV9v YmplY3QgKm9iaikKPj4gKy8qCj4+ICsgKiBOQjogVGhpcyBmdW5jdGlvbiBpcyBub3QgYWxsb3dl ZCB0byBmYWlsLiBEb2luZyBzbyB3b3VsZCBtZWFuIHRoZSAKPj4gdGhlCj4+ICsgKiByZXF1ZXN0 IGlzIG5vdCBiZWluZyB0cmFja2VkIGZvciBjb21wbGV0aW9uIGJ1dCB0aGUgd29yayBpdHNlbGYg aXMKPj4gKyAqIGdvaW5nIHRvIGhhcHBlbiBvbiB0aGUgaGFyZHdhcmUuIFRoaXMgd291bGQgYmUg YSBCYWQgVGhpbmcodG0pLgo+PiArICovCj4+ICt2b2lkIF9faTkxNV9hZGRfcmVxdWVzdChzdHJ1 Y3QgaW50ZWxfZW5naW5lX2NzICpyaW5nLAo+PiArICAgICAgICAgICAgc3RydWN0IGRybV9maWxl ICpmaWxlLAo+PiArICAgICAgICAgICAgc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaikK Pj4gICB7Cj4+ICAgICAgIHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHJpbmct PmRldi0+ZGV2X3ByaXZhdGU7Cj4+ICAgICAgIHN0cnVjdCBkcm1faTkxNV9nZW1fcmVxdWVzdCAq cmVxdWVzdDsKPj4gQEAgLTI0NzgsNyArMjQ4MCw3IEBAIGludCBfX2k5MTVfYWRkX3JlcXVlc3Qo c3RydWN0IGludGVsX2VuZ2luZV9jcyAKPj4gKnJpbmcsCj4+Cj4+ICAgICAgIHJlcXVlc3QgPSBy aW5nLT5vdXRzdGFuZGluZ19sYXp5X3JlcXVlc3Q7Cj4+ICAgICAgIGlmIChXQVJOX09OKHJlcXVl c3QgPT0gTlVMTCkpCj4+IC0gICAgICAgIHJldHVybiAtRU5PTUVNOwo+PiArICAgICAgICByZXR1 cm47Cj4KPiBZb3UgaGF2ZSBhIFdBUk4gZm9yIHRoZSBvdGhlciBwb2ludHMgb2YgZmFpbHVyZSBp biB0aGlzIGZ1bmN0aW9uLCB3aHkgCj4gbm90IGhlcmU/CkVybSwgeW91IG1lYW4gbGlrZSB0aGUg b25lIGluIHRoZSAnaWYnIGl0c2VsZj8KCj4KPj4KPj4gICAgICAgaWYgKGk5MTUuZW5hYmxlX2V4 ZWNsaXN0cykgewo+PiAgICAgICAgICAgcmluZ2J1ZiA9IHJlcXVlc3QtPmN0eC0+ZW5naW5lW3Jp bmctPmlkXS5yaW5nYnVmOwo+PiBAQCAtMjUwMCwxNSArMjUwMiwxMiBAQCBpbnQgX19pOTE1X2Fk ZF9yZXF1ZXN0KHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgCj4+ICpyaW5nLAo+PiAgICAgICAgKiBp cyB0aGF0IHRoZSBmbHVzaCBfbXVzdF8gaGFwcGVuIGJlZm9yZSB0aGUgbmV4dCByZXF1ZXN0LCBu byAKPj4gbWF0dGVyCj4+ICAgICAgICAqIHdoYXQuCj4+ICAgICAgICAqLwo+PiAtICAgIGlmIChp OTE1LmVuYWJsZV9leGVjbGlzdHMpIHsKPj4gKyAgICBpZiAoaTkxNS5lbmFibGVfZXhlY2xpc3Rz KQo+PiAgICAgICAgICAgcmV0ID0gbG9naWNhbF9yaW5nX2ZsdXNoX2FsbF9jYWNoZXMocmluZ2J1 ZiwgcmVxdWVzdC0+Y3R4KTsKPj4gLSAgICAgICAgaWYgKHJldCkKPj4gLSAgICAgICAgICAgIHJl dHVybiByZXQ7Cj4+IC0gICAgfSBlbHNlIHsKPj4gKyAgICBlbHNlCj4+ICAgICAgICAgICByZXQg PSBpbnRlbF9yaW5nX2ZsdXNoX2FsbF9jYWNoZXMocmluZyk7Cj4+IC0gICAgICAgIGlmIChyZXQp Cj4+IC0gICAgICAgICAgICByZXR1cm4gcmV0Owo+PiAtICAgIH0KPj4gKyAgICAvKiBOb3QgYWxs b3dlZCB0byBmYWlsISAqLwo+PiArICAgIFdBUk4ocmV0LCAiKl9yaW5nX2ZsdXNoX2FsbF9jYWNo ZXMgZmFpbGVkOiAlZCFcbiIsIHJldCk7Cj4+Cj4+ICAgICAgIC8qIFJlY29yZCB0aGUgcG9zaXRp b24gb2YgdGhlIHN0YXJ0IG9mIHRoZSByZXF1ZXN0IHNvIHRoYXQKPj4gICAgICAgICogc2hvdWxk IHdlIGRldGVjdCB0aGUgdXBkYXRlZCBzZXFubyBwYXJ0LXdheSB0aHJvdWdoIHRoZQo+PiBAQCAt MjUxNywxNyArMjUxNiwxNSBAQCBpbnQgX19pOTE1X2FkZF9yZXF1ZXN0KHN0cnVjdCBpbnRlbF9l bmdpbmVfY3MgCj4+ICpyaW5nLAo+PiAgICAgICAgKi8KPj4gICAgICAgcmVxdWVzdC0+cG9zdGZp eCA9IGludGVsX3JpbmdfZ2V0X3RhaWwocmluZ2J1Zik7Cj4+Cj4+IC0gICAgaWYgKGk5MTUuZW5h YmxlX2V4ZWNsaXN0cykgewo+PiArICAgIGlmIChpOTE1LmVuYWJsZV9leGVjbGlzdHMpCj4+ICAg ICAgICAgICByZXQgPSByaW5nLT5lbWl0X3JlcXVlc3QocmluZ2J1ZiwgcmVxdWVzdCk7Cj4+IC0g ICAgICAgIGlmIChyZXQpCj4+IC0gICAgICAgICAgICByZXR1cm4gcmV0Owo+PiAtICAgIH0gZWxz ZSB7Cj4+ICsgICAgZWxzZSB7Cj4+ICAgICAgICAgICByZXQgPSByaW5nLT5hZGRfcmVxdWVzdChy aW5nKTsKPj4gLSAgICAgICAgaWYgKHJldCkKPj4gLSAgICAgICAgICAgIHJldHVybiByZXQ7Cj4+ Cj4+ICAgICAgICAgICByZXF1ZXN0LT50YWlsID0gaW50ZWxfcmluZ19nZXRfdGFpbChyaW5nYnVm KTsKPj4gICAgICAgfQo+PiArICAgIC8qIE5vdCBhbGxvd2VkIHRvIGZhaWwhICovCj4+ICsgICAg V0FSTihyZXQsICJlbWl0fGFkZF9yZXF1ZXN0IGZhaWxlZDogJWQhXG4iLCByZXQpOwo+Pgo+PiAg ICAgICByZXF1ZXN0LT5oZWFkID0gcmVxdWVzdF9zdGFydDsKPj4KPj4gQEAgLTI1NzYsOCArMjU3 Myw2IEBAIGludCBfX2k5MTVfYWRkX3JlcXVlc3Qoc3RydWN0IGludGVsX2VuZ2luZV9jcyAKPj4g KnJpbmcsCj4+Cj4+ICAgICAgIC8qIFNhbml0eSBjaGVjayB0aGF0IHRoZSByZXNlcnZlZCBzaXpl IHdhcyBsYXJnZSBlbm91Z2guICovCj4+ICAgICAgIGludGVsX3JpbmdfcmVzZXJ2ZWRfc3BhY2Vf ZW5kKHJpbmdidWYpOwo+PiAtCj4+IC0gICAgcmV0dXJuIDA7Cj4+ICAgfQo+Pgo+PiAgIHN0YXRp YyBib29sIGk5MTVfY29udGV4dF9pc19iYW5uZWQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRl dl9wcml2LAo+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZXhl Y2J1ZmZlci5jIAo+PiBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2V4ZWNidWZmZXIu Ywo+PiBpbmRleCBiZDBlNGJkLi4yYjQ4YTMxIDEwMDY0NAo+PiAtLS0gYS9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pOTE1X2dlbV9leGVjYnVmZmVyLmMKPj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaTkxNV9nZW1fZXhlY2J1ZmZlci5jCj4+IEBAIC0xMDYxLDcgKzEwNjEsNyBAQCBpOTE1X2dl bV9leGVjYnVmZmVyX3JldGlyZV9jb21tYW5kcyhzdHJ1Y3QgCj4+IGRybV9kZXZpY2UgKmRldiwK Pj4gICAgICAgcmluZy0+Z3B1X2NhY2hlc19kaXJ0eSA9IHRydWU7Cj4+Cj4+ICAgICAgIC8qIEFk ZCBhIGJyZWFkY3J1bWIgZm9yIHRoZSBjb21wbGV0aW9uIG9mIHRoZSBiYXRjaCBidWZmZXIgKi8K Pj4gLSAgICAodm9pZClfX2k5MTVfYWRkX3JlcXVlc3QocmluZywgZmlsZSwgb2JqKTsKPj4gKyAg ICBfX2k5MTVfYWRkX3JlcXVlc3QocmluZywgZmlsZSwgb2JqKTsKPj4gICB9Cj4+Cj4+ICAgc3Rh dGljIGludAo+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fcmVu ZGVyX3N0YXRlLmMgCj4+IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fcmVuZGVyX3N0 YXRlLmMKPj4gaW5kZXggNTIxNTQ4YS4uY2U0Nzg4ZiAxMDA2NDQKPj4gLS0tIGEvZHJpdmVycy9n cHUvZHJtL2k5MTUvaTkxNV9nZW1fcmVuZGVyX3N0YXRlLmMKPj4gKysrIGIvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaTkxNV9nZW1fcmVuZGVyX3N0YXRlLmMKPj4gQEAgLTE3Myw3ICsxNzMsNyBAQCBp bnQgaTkxNV9nZW1fcmVuZGVyX3N0YXRlX2luaXQoc3RydWN0IAo+PiBpbnRlbF9lbmdpbmVfY3Mg KnJpbmcpCj4+Cj4+ICAgICAgIGk5MTVfdm1hX21vdmVfdG9fYWN0aXZlKGk5MTVfZ2VtX29ial90 b19nZ3R0KHNvLm9iaiksIHJpbmcpOwo+Pgo+PiAtICAgIHJldCA9IF9faTkxNV9hZGRfcmVxdWVz dChyaW5nLCBOVUxMLCBzby5vYmopOwo+PiArICAgIF9faTkxNV9hZGRfcmVxdWVzdChyaW5nLCBO VUxMLCBzby5vYmopOwo+PiAgICAgICAvKiBfX2k5MTVfYWRkX3JlcXVlc3QgbW92ZXMgb2JqZWN0 IHRvIGluYWN0aXZlIGlmIGl0IGZhaWxzICovCj4+ICAgb3V0Ogo+PiAgICAgICBpOTE1X2dlbV9y ZW5kZXJfc3RhdGVfZmluaSgmc28pOwo+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfbHJjLmMgCj4+IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJjLmMKPj4g aW5kZXggZTYyZDM5Ni4uN2E3NWZjOCAxMDA2NDQKPj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfbHJjLmMKPj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJjLmMK Pj4gQEAgLTEzNzMsNyArMTM3Myw3IEBAIHN0YXRpYyBpbnQgCj4+IGludGVsX2xyX2NvbnRleHRf cmVuZGVyX3N0YXRlX2luaXQoc3RydWN0IGludGVsX2VuZ2luZV9jcyAqcmluZywKPj4KPj4gICAg ICAgaTkxNV92bWFfbW92ZV90b19hY3RpdmUoaTkxNV9nZW1fb2JqX3RvX2dndHQoc28ub2JqKSwg cmluZyk7Cj4+Cj4+IC0gICAgcmV0ID0gX19pOTE1X2FkZF9yZXF1ZXN0KHJpbmcsIGZpbGUsIHNv Lm9iaik7Cj4+ICsgICAgX19pOTE1X2FkZF9yZXF1ZXN0KHJpbmcsIGZpbGUsIHNvLm9iaik7Cj4+ ICAgICAgIC8qIGludGVsX2xvZ2ljYWxfcmluZ19hZGRfcmVxdWVzdCBtb3ZlcyBvYmplY3QgdG8g aW5hY3RpdmUgaWYgaXQKPj4gICAgICAgICogZmFpbHMgKi8KPj4gICBvdXQ6Cj4+IGRpZmYgLS1n aXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9vdmVybGF5LmMgCj4+IGIvZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfb3ZlcmxheS5jCj4+IGluZGV4IDI1YzhlYzYuLmU3NTM0YjkgMTAw NjQ0Cj4+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX292ZXJsYXkuYwo+PiArKysg Yi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9vdmVybGF5LmMKPj4gQEAgLTIyMCw5ICsyMjAs NyBAQCBzdGF0aWMgaW50IGludGVsX292ZXJsYXlfZG9fd2FpdF9yZXF1ZXN0KHN0cnVjdCAKPj4g aW50ZWxfb3ZlcmxheSAqb3ZlcmxheSwKPj4gICAgICAgV0FSTl9PTihvdmVybGF5LT5sYXN0X2Zs aXBfcmVxKTsKPj4gICAgICAgaTkxNV9nZW1fcmVxdWVzdF9hc3NpZ24oJm92ZXJsYXktPmxhc3Rf ZmxpcF9yZXEsCj4+ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJpbmctPm91dHN0YW5kaW5n X2xhenlfcmVxdWVzdCk7Cj4+IC0gICAgcmV0ID0gaTkxNV9hZGRfcmVxdWVzdChyaW5nKTsKPj4g LSAgICBpZiAocmV0KQo+PiAtICAgICAgICByZXR1cm4gcmV0Owo+PiArICAgIGk5MTVfYWRkX3Jl cXVlc3QocmluZyk7Cj4+Cj4+ICAgICAgIG92ZXJsYXktPmZsaXBfdGFpbCA9IHRhaWw7Cj4+ICAg ICAgIHJldCA9IGk5MTVfd2FpdF9yZXF1ZXN0KG92ZXJsYXktPmxhc3RfZmxpcF9yZXEpOwo+PiBA QCAtMjkxLDcgKzI4OSw5IEBAIHN0YXRpYyBpbnQgaW50ZWxfb3ZlcmxheV9jb250aW51ZShzdHJ1 Y3QgCj4+IGludGVsX292ZXJsYXkgKm92ZXJsYXksCj4+ICAgICAgIFdBUk5fT04ob3ZlcmxheS0+ bGFzdF9mbGlwX3JlcSk7Cj4+ICAgICAgIGk5MTVfZ2VtX3JlcXVlc3RfYXNzaWduKCZvdmVybGF5 LT5sYXN0X2ZsaXBfcmVxLAo+PiAgICAgICAgICAgICAgICAgICAgICAgICAgICByaW5nLT5vdXRz dGFuZGluZ19sYXp5X3JlcXVlc3QpOwo+PiAtICAgIHJldHVybiBpOTE1X2FkZF9yZXF1ZXN0KHJp bmcpOwo+PiArICAgIGk5MTVfYWRkX3JlcXVlc3QocmluZyk7Cj4+ICsKPj4gKyAgICByZXR1cm4g MDsKPj4gICB9Cj4+Cj4+ICAgc3RhdGljIHZvaWQgaW50ZWxfb3ZlcmxheV9yZWxlYXNlX29sZF92 aWRfdGFpbChzdHJ1Y3QgaW50ZWxfb3ZlcmxheSAKPj4gKm92ZXJsYXkpCj4+IGRpZmYgLS1naXQg YS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9yaW5nYnVmZmVyLmMgCj4+IGIvZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfcmluZ2J1ZmZlci5jCj4+IGluZGV4IDc0YzIyMjIuLjcwNjFiMDcg MTAwNjQ0Cj4+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3JpbmdidWZmZXIuYwo+ PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9yaW5nYnVmZmVyLmMKPj4gQEAgLTIx NTYsMTQgKzIxNTYsMTAgQEAgc3RhdGljIGludCBpbnRlbF93cmFwX3JpbmdfYnVmZmVyKHN0cnVj dCAKPj4gaW50ZWxfZW5naW5lX2NzICpyaW5nKQo+PiAgIGludCBpbnRlbF9yaW5nX2lkbGUoc3Ry dWN0IGludGVsX2VuZ2luZV9jcyAqcmluZykKPj4gICB7Cj4+ICAgICAgIHN0cnVjdCBkcm1faTkx NV9nZW1fcmVxdWVzdCAqcmVxOwo+PiAtICAgIGludCByZXQ7Cj4+Cj4+ICAgICAgIC8qIFdlIG5l ZWQgdG8gYWRkIGFueSByZXF1ZXN0cyByZXF1aXJlZCB0byBmbHVzaCB0aGUgb2JqZWN0cyAKPj4g YW5kIHJpbmcgKi8KPj4gLSAgICBpZiAocmluZy0+b3V0c3RhbmRpbmdfbGF6eV9yZXF1ZXN0KSB7 Cj4+IC0gICAgICAgIHJldCA9IGk5MTVfYWRkX3JlcXVlc3QocmluZyk7Cj4+IC0gICAgICAgIGlm IChyZXQpCj4+IC0gICAgICAgICAgICByZXR1cm4gcmV0Owo+PiAtICAgIH0KPj4gKyAgICBpZiAo cmluZy0+b3V0c3RhbmRpbmdfbGF6eV9yZXF1ZXN0KQo+PiArICAgICAgICBpOTE1X2FkZF9yZXF1 ZXN0KHJpbmcpOwo+Pgo+PiAgICAgICAvKiBXYWl0IHVwb24gdGhlIGxhc3QgcmVxdWVzdCB0byBi ZSBjb21wbGV0ZWQgKi8KPj4gICAgICAgaWYgKGxpc3RfZW1wdHkoJnJpbmctPnJlcXVlc3RfbGlz dCkpCj4+Cj4KCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f CkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpo dHRwOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==