From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tomas Elf Subject: Re: [PATCH 03/55] drm/i915: i915_add_request must not fail Date: Tue, 02 Jun 2015 19:16:54 +0100 Message-ID: <556DF316.4080506@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> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by gabe.freedesktop.org (Postfix) with ESMTP id EEAE06E648 for ; Tue, 2 Jun 2015 11:16:56 -0700 (PDT) In-Reply-To: <1432917856-12261-4-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 T24gMjkvMDUvMjAxNSAxNzo0MywgSm9obi5DLkhhcnJpc29uQEludGVsLmNvbSB3cm90ZToKPiBG cm9tOiBKb2huIEhhcnJpc29uIDxKb2huLkMuSGFycmlzb25ASW50ZWwuY29tPgo+Cj4gVGhlIGk5 MTVfYWRkX3JlcXVlc3QoKSBmdW5jdGlvbiBpcyBjYWxsZWQgdG8ga2VlcCB0cmFjayBvZiB3b3Jr IHRoYXQgaGFzIGJlZW4KPiB3cml0dGVuIHRvIHRoZSByaW5nIGJ1ZmZlci4gSXQgYWRkcyBlcGls b2d1ZSBjb21tYW5kcyB0byB0cmFjayBwcm9ncmVzcyAoc2Vxbm8KPiB1cGRhdGVzIGFuZCBzdWNo KSwgbW92ZXMgdGhlIHJlcXVlc3Qgc3RydWN0dXJlIG9udG8gdGhlIHJpZ2h0IGxpc3QgYW5kIG90 aGVyCj4gc3VjaCBob3VzZSBrZWVwaW5nIHRhc2tzLiBIb3dldmVyLCB0aGUgd29yayBpdHNlbGYg aGFzIGFscmVhZHkgYmVlbiB3cml0dGVuIHRvCj4gdGhlIHJpbmcgYW5kIHdpbGwgZ2V0IGV4ZWN1 dGVkIHdoZXRoZXIgb3Igbm90IHRoZSBhZGQgcmVxdWVzdCBjYWxsIHN1Y2NlZWRzLiBTbwo+IG5v IG1hdHRlciB3aGF0IGdvZXMgd3JvbmcsIHRoZXJlIGlzbid0IGEgd2hvbGUgbG90IG9mIHBvaW50 IGluIGZhaWxpbmcgdGhlIGNhbGwuCj4KPiBBdCB0aGUgbW9tZW50LCB0aGlzIGlzIGZpbmUoaXNo KS4gSWYgdGhlIGFkZCByZXF1ZXN0IGRvZXMgYmFpbCBlYXJseSBvbiBhbmQgbm90Cj4gZG8gdGhl IGhvdXNla2VlcGluZywgdGhlIHJlcXVlc3Qgd2lsbCBzdGlsbCBmbG9hdCBhcm91bmQgaW4gdGhl Cj4gcmluZy0+b3V0c3RhbmRpbmdfbGF6eV9yZXF1ZXN0IGZpZWxkIGFuZCBiZSBwaWNrZWQgdXAg bmV4dCB0aW1lLiBJdCBtZWFucwo+IG11bHRpcGxlIHBpZWNlcyBvZiB3b3JrIHdpbGwgYmUgdGFn Z2VkIGFzIHRoZSBzYW1lIHJlcXVlc3QgYW5kIGRyaXZlciBjYW4ndAo+IGFjdHVhbGx5IHdhaXQg Zm9yIHRoZSBmaXJzdCBwaWVjZSBvZiB3b3JrIHVudGlsIHNvbWV0aGluZyBlbHNlIGhhcyBiZWVu Cj4gc3VibWl0dGVkLiBCdXQgaXQgYWxsIHNvcnQgb2YgaGFuZ3MgdG9nZXRoZXIuCj4KPiBUaGlz IHBhdGNoIHNlcmllcyBpcyBhbGwgYWJvdXQgcmVtb3ZpbmcgdGhlIE9MUiBhbmQgZ3VhcmFudGVl aW5nIHRoYXQgZWFjaCBwaWVjZQo+IG9mIHdvcmsgZ2V0cyBpdHMgb3duIHBlcnNvbmFsIHJlcXVl c3QuIFRoYXQgbWVhbnMgdGhhdCB0aGVyZSBpcyBubyBtb3JlCj4gJ2hvb3ZlcmluZyB1cCBvZiBm b3Jnb3R0ZW4gcmVxdWVzdHMnLiBJZiB0aGUgcmVxdWVzdCBkb2VzIG5vdCBnZXQgdHJhY2tlZCB0 aGVuCj4gaXQgd2lsbCBiZSBsZWFrZWQuIFRodXMgdGhlIGFkZCByZXF1ZXN0IGNhbGwgX211c3Rf IG5vdCBmYWlsLiBUaGUgcHJldmlvdXMgcGF0Y2gKPiBzaG91bGQgaGF2ZSBhbHJlYWR5IGVuc3Vy ZWQgdGhhdCBpdCBfd2lsbF8gbm90IGZhaWwgYnkgcmVtb3ZpbmcgdGhlIHBvdGVudGlhbAo+IGZv ciBydW5uaW5nIG91dCBvZiByaW5nIHNwYWNlLiBUaGlzIHBhdGNoIGVuZm9yY2VzIHRoZSBydWxl IGJ5IGFjdHVhbGx5IHJlbW92aW5nCj4gdGhlIGVhcmx5IGV4aXQgcGF0aHMgYW5kIHRoZSByZXR1 cm4gY29kZS4KPgo+IE5vdGUgdGhhdCBpZiBzb21ldGhpbmcgZG9lcyBtYW5hZ2UgdG8gZmFpbCBh bmQgdGhlIGVwaWxvZ3VlIGNvbW1hbmRzIGRvbid0IGdldAo+IHdyaXR0ZW4gdG8gdGhlIHJpbmcs IHRoZSBkcml2ZXIgd2lsbCBzdGlsbCBoYW5nIHRvZ2V0aGVyLiBUaGUgcmVxdWVzdCB3aWxsIGJl Cj4gYWRkZWQgdG8gdGhlIHRyYWNraW5nIGxpc3RzLiBBbmQgYXMgaW4gdGhlIG9sZCBjYXNlLCBh bnkgc3Vic2VxdWVudCB3b3JrIHdpbGwKPiBnZW5lcmF0ZSBhIG5ldyBzZXFubyB3aGljaCB3aWxs IHN1ZmZpY2UgZm9yIG1hcmtpbmcgdGhlIG9sZCBvbmUgYXMgY29tcGxldGUuCj4KPiB2MjogSW1w cm92ZWQgV0FSTmluZ3MgKFRvbWFzIEVsZiByZXZpZXcgcmVxdWVzdCkuCj4KPiBGb3I6IFZJWi01 MTE1Cj4gU2lnbmVkLW9mZi1ieTogSm9obiBIYXJyaXNvbiA8Sm9obi5DLkhhcnJpc29uQEludGVs LmNvbT4KPiAtLS0KPiAgIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmggICAgICAgICAg ICAgIHwgICAgNiArKy0tCj4gICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbS5jICAgICAg ICAgICAgICB8ICAgNDMgKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0KPiAgIGRyaXZlcnMvZ3B1 L2RybS9pOTE1L2k5MTVfZ2VtX2V4ZWNidWZmZXIuYyAgIHwgICAgMiArLQo+ICAgZHJpdmVycy9n cHUvZHJtL2k5MTUvaTkxNV9nZW1fcmVuZGVyX3N0YXRlLmMgfCAgICAyICstCj4gICBkcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9scmMuYyAgICAgICAgICAgICB8ICAgIDIgKy0KPiAgIGRyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX292ZXJsYXkuYyAgICAgICAgIHwgICAgOCArKy0tLQo+ICAg ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcmluZ2J1ZmZlci5jICAgICAgfCAgICA4ICsrLS0t Cj4gICA3IGZpbGVzIGNoYW5nZWQsIDMxIGluc2VydGlvbnMoKyksIDQwIGRlbGV0aW9ucygtKQo+ Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmggYi9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCj4gaW5kZXggZWJhMTg1Ny4uMWJlNGE1MiAxMDA2NDQK PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCj4gKysrIGIvZHJpdmVycy9n cHUvZHJtL2k5MTUvaTkxNV9kcnYuaAo+IEBAIC0yODYwLDkgKzI4NjAsOSBAQCB2b2lkIGk5MTVf Z2VtX2luaXRfc3dpenpsaW5nKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpOwo+ICAgdm9pZCBpOTE1 X2dlbV9jbGVhbnVwX3JpbmdidWZmZXIoc3RydWN0IGRybV9kZXZpY2UgKmRldik7Cj4gICBpbnQg X19tdXN0X2NoZWNrIGk5MTVfZ3B1X2lkbGUoc3RydWN0IGRybV9kZXZpY2UgKmRldik7Cj4gICBp bnQgX19tdXN0X2NoZWNrIGk5MTVfZ2VtX3N1c3BlbmQoc3RydWN0IGRybV9kZXZpY2UgKmRldik7 Cj4gLWludCBfX2k5MTVfYWRkX3JlcXVlc3Qoc3RydWN0IGludGVsX2VuZ2luZV9jcyAqcmluZywK PiAtCQkgICAgICAgc3RydWN0IGRybV9maWxlICpmaWxlLAo+IC0JCSAgICAgICBzdHJ1Y3QgZHJt X2k5MTVfZ2VtX29iamVjdCAqYmF0Y2hfb2JqKTsKPiArdm9pZCBfX2k5MTVfYWRkX3JlcXVlc3Qo c3RydWN0IGludGVsX2VuZ2luZV9jcyAqcmluZywKPiArCQkJc3RydWN0IGRybV9maWxlICpmaWxl LAo+ICsJCQlzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqYmF0Y2hfb2JqKTsKPiAgICNkZWZp bmUgaTkxNV9hZGRfcmVxdWVzdChyaW5nKSBcCj4gICAJX19pOTE1X2FkZF9yZXF1ZXN0KHJpbmcs IE5VTEwsIE5VTEwpCj4gICBpbnQgX19pOTE1X3dhaXRfcmVxdWVzdChzdHJ1Y3QgZHJtX2k5MTVf Z2VtX3JlcXVlc3QgKnJlcSwKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkx NV9nZW0uYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMKPiBpbmRleCA2ZjUxNDE2 Li5kZDM5YWE1IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMK PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbS5jCj4gQEAgLTExNTUsMTUgKzEx NTUsMTIgQEAgaTkxNV9nZW1fY2hlY2tfd2VkZ2Uoc3RydWN0IGk5MTVfZ3B1X2Vycm9yICplcnJv ciwKPiAgIGludAo+ICAgaTkxNV9nZW1fY2hlY2tfb2xyKHN0cnVjdCBkcm1faTkxNV9nZW1fcmVx dWVzdCAqcmVxKQo+ICAgewo+IC0JaW50IHJldDsKPiAtCj4gICAJV0FSTl9PTighbXV0ZXhfaXNf bG9ja2VkKCZyZXEtPnJpbmctPmRldi0+c3RydWN0X211dGV4KSk7Cj4KPiAtCXJldCA9IDA7Cj4g ICAJaWYgKHJlcSA9PSByZXEtPnJpbmctPm91dHN0YW5kaW5nX2xhenlfcmVxdWVzdCkKPiAtCQly ZXQgPSBpOTE1X2FkZF9yZXF1ZXN0KHJlcS0+cmluZyk7Cj4gKwkJaTkxNV9hZGRfcmVxdWVzdChy ZXEtPnJpbmcpOwo+Cj4gLQlyZXR1cm4gcmV0Owo+ICsJcmV0dXJuIDA7Cj4gICB9CgppOTE1X2dl bV9jaGVja19vbHIgbmV2ZXIgcmV0dXJucyBhbnl0aGluZyBidXQgMC4gSG93IGFib3V0IG1ha2lu ZyBpdCB2b2lkPwoKVGhhbmtzLApUb21hcwoKPgo+ICAgc3RhdGljIHZvaWQgZmFrZV9pcnEodW5z aWduZWQgbG9uZyBkYXRhKQo+IEBAIC0yNDY2LDkgKzI0NjMsMTQgQEAgaTkxNV9nZW1fZ2V0X3Nl cW5vKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHUzMiAqc2Vxbm8pCj4gICAJcmV0dXJuIDA7Cj4g ICB9Cj4KPiAtaW50IF9faTkxNV9hZGRfcmVxdWVzdChzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICpy aW5nLAo+IC0JCSAgICAgICBzdHJ1Y3QgZHJtX2ZpbGUgKmZpbGUsCj4gLQkJICAgICAgIHN0cnVj dCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmopCj4gKy8qCj4gKyAqIE5COiBUaGlzIGZ1bmN0aW9u IGlzIG5vdCBhbGxvd2VkIHRvIGZhaWwuIERvaW5nIHNvIHdvdWxkIG1lYW4gdGhlIHRoZQo+ICsg KiByZXF1ZXN0IGlzIG5vdCBiZWluZyB0cmFja2VkIGZvciBjb21wbGV0aW9uIGJ1dCB0aGUgd29y ayBpdHNlbGYgaXMKPiArICogZ29pbmcgdG8gaGFwcGVuIG9uIHRoZSBoYXJkd2FyZS4gVGhpcyB3 b3VsZCBiZSBhIEJhZCBUaGluZyh0bSkuCj4gKyAqLwo+ICt2b2lkIF9faTkxNV9hZGRfcmVxdWVz dChzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICpyaW5nLAo+ICsJCQlzdHJ1Y3QgZHJtX2ZpbGUgKmZp bGUsCj4gKwkJCXN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmopCj4gICB7Cj4gICAJc3Ry dWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gcmluZy0+ZGV2LT5kZXZfcHJpdmF0ZTsK PiAgIAlzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3JlcXVlc3QgKnJlcXVlc3Q7Cj4gQEAgLTI0NzgsNyAr MjQ4MCw3IEBAIGludCBfX2k5MTVfYWRkX3JlcXVlc3Qoc3RydWN0IGludGVsX2VuZ2luZV9jcyAq cmluZywKPgo+ICAgCXJlcXVlc3QgPSByaW5nLT5vdXRzdGFuZGluZ19sYXp5X3JlcXVlc3Q7Cj4g ICAJaWYgKFdBUk5fT04ocmVxdWVzdCA9PSBOVUxMKSkKPiAtCQlyZXR1cm4gLUVOT01FTTsKPiAr CQlyZXR1cm47CgpZb3UgaGF2ZSBhIFdBUk4gZm9yIHRoZSBvdGhlciBwb2ludHMgb2YgZmFpbHVy ZSBpbiB0aGlzIGZ1bmN0aW9uLCB3aHkgCm5vdCBoZXJlPwoKPgo+ICAgCWlmIChpOTE1LmVuYWJs ZV9leGVjbGlzdHMpIHsKPiAgIAkJcmluZ2J1ZiA9IHJlcXVlc3QtPmN0eC0+ZW5naW5lW3Jpbmct PmlkXS5yaW5nYnVmOwo+IEBAIC0yNTAwLDE1ICsyNTAyLDEyIEBAIGludCBfX2k5MTVfYWRkX3Jl cXVlc3Qoc3RydWN0IGludGVsX2VuZ2luZV9jcyAqcmluZywKPiAgIAkgKiBpcyB0aGF0IHRoZSBm bHVzaCBfbXVzdF8gaGFwcGVuIGJlZm9yZSB0aGUgbmV4dCByZXF1ZXN0LCBubyBtYXR0ZXIKPiAg IAkgKiB3aGF0Lgo+ICAgCSAqLwo+IC0JaWYgKGk5MTUuZW5hYmxlX2V4ZWNsaXN0cykgewo+ICsJ aWYgKGk5MTUuZW5hYmxlX2V4ZWNsaXN0cykKPiAgIAkJcmV0ID0gbG9naWNhbF9yaW5nX2ZsdXNo X2FsbF9jYWNoZXMocmluZ2J1ZiwgcmVxdWVzdC0+Y3R4KTsKPiAtCQlpZiAocmV0KQo+IC0JCQly ZXR1cm4gcmV0Owo+IC0JfSBlbHNlIHsKPiArCWVsc2UKPiAgIAkJcmV0ID0gaW50ZWxfcmluZ19m bHVzaF9hbGxfY2FjaGVzKHJpbmcpOwo+IC0JCWlmIChyZXQpCj4gLQkJCXJldHVybiByZXQ7Cj4g LQl9Cj4gKwkvKiBOb3QgYWxsb3dlZCB0byBmYWlsISAqLwo+ICsJV0FSTihyZXQsICIqX3Jpbmdf Zmx1c2hfYWxsX2NhY2hlcyBmYWlsZWQ6ICVkIVxuIiwgcmV0KTsKPgo+ICAgCS8qIFJlY29yZCB0 aGUgcG9zaXRpb24gb2YgdGhlIHN0YXJ0IG9mIHRoZSByZXF1ZXN0IHNvIHRoYXQKPiAgIAkgKiBz aG91bGQgd2UgZGV0ZWN0IHRoZSB1cGRhdGVkIHNlcW5vIHBhcnQtd2F5IHRocm91Z2ggdGhlCj4g QEAgLTI1MTcsMTcgKzI1MTYsMTUgQEAgaW50IF9faTkxNV9hZGRfcmVxdWVzdChzdHJ1Y3QgaW50 ZWxfZW5naW5lX2NzICpyaW5nLAo+ICAgCSAqLwo+ICAgCXJlcXVlc3QtPnBvc3RmaXggPSBpbnRl bF9yaW5nX2dldF90YWlsKHJpbmdidWYpOwo+Cj4gLQlpZiAoaTkxNS5lbmFibGVfZXhlY2xpc3Rz KSB7Cj4gKwlpZiAoaTkxNS5lbmFibGVfZXhlY2xpc3RzKQo+ICAgCQlyZXQgPSByaW5nLT5lbWl0 X3JlcXVlc3QocmluZ2J1ZiwgcmVxdWVzdCk7Cj4gLQkJaWYgKHJldCkKPiAtCQkJcmV0dXJuIHJl dDsKPiAtCX0gZWxzZSB7Cj4gKwllbHNlIHsKPiAgIAkJcmV0ID0gcmluZy0+YWRkX3JlcXVlc3Qo cmluZyk7Cj4gLQkJaWYgKHJldCkKPiAtCQkJcmV0dXJuIHJldDsKPgo+ICAgCQlyZXF1ZXN0LT50 YWlsID0gaW50ZWxfcmluZ19nZXRfdGFpbChyaW5nYnVmKTsKPiAgIAl9Cj4gKwkvKiBOb3QgYWxs b3dlZCB0byBmYWlsISAqLwo+ICsJV0FSTihyZXQsICJlbWl0fGFkZF9yZXF1ZXN0IGZhaWxlZDog JWQhXG4iLCByZXQpOwo+Cj4gICAJcmVxdWVzdC0+aGVhZCA9IHJlcXVlc3Rfc3RhcnQ7Cj4KPiBA QCAtMjU3Niw4ICsyNTczLDYgQEAgaW50IF9faTkxNV9hZGRfcmVxdWVzdChzdHJ1Y3QgaW50ZWxf ZW5naW5lX2NzICpyaW5nLAo+Cj4gICAJLyogU2FuaXR5IGNoZWNrIHRoYXQgdGhlIHJlc2VydmVk IHNpemUgd2FzIGxhcmdlIGVub3VnaC4gKi8KPiAgIAlpbnRlbF9yaW5nX3Jlc2VydmVkX3NwYWNl X2VuZChyaW5nYnVmKTsKPiAtCj4gLQlyZXR1cm4gMDsKPiAgIH0KPgo+ICAgc3RhdGljIGJvb2wg aTkxNV9jb250ZXh0X2lzX2Jhbm5lZChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYs Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2V4ZWNidWZmZXIu YyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2V4ZWNidWZmZXIuYwo+IGluZGV4IGJk MGU0YmQuLjJiNDhhMzEgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9n ZW1fZXhlY2J1ZmZlci5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZXhl Y2J1ZmZlci5jCj4gQEAgLTEwNjEsNyArMTA2MSw3IEBAIGk5MTVfZ2VtX2V4ZWNidWZmZXJfcmV0 aXJlX2NvbW1hbmRzKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCj4gICAJcmluZy0+Z3B1X2NhY2hl c19kaXJ0eSA9IHRydWU7Cj4KPiAgIAkvKiBBZGQgYSBicmVhZGNydW1iIGZvciB0aGUgY29tcGxl dGlvbiBvZiB0aGUgYmF0Y2ggYnVmZmVyICovCj4gLQkodm9pZClfX2k5MTVfYWRkX3JlcXVlc3Qo cmluZywgZmlsZSwgb2JqKTsKPiArCV9faTkxNV9hZGRfcmVxdWVzdChyaW5nLCBmaWxlLCBvYmop Owo+ICAgfQo+Cj4gICBzdGF0aWMgaW50Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2k5MTVfZ2VtX3JlbmRlcl9zdGF0ZS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9n ZW1fcmVuZGVyX3N0YXRlLmMKPiBpbmRleCA1MjE1NDhhLi5jZTQ3ODhmIDEwMDY0NAo+IC0tLSBh L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX3JlbmRlcl9zdGF0ZS5jCj4gKysrIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fcmVuZGVyX3N0YXRlLmMKPiBAQCAtMTczLDcgKzE3 Myw3IEBAIGludCBpOTE1X2dlbV9yZW5kZXJfc3RhdGVfaW5pdChzdHJ1Y3QgaW50ZWxfZW5naW5l X2NzICpyaW5nKQo+Cj4gICAJaTkxNV92bWFfbW92ZV90b19hY3RpdmUoaTkxNV9nZW1fb2JqX3Rv X2dndHQoc28ub2JqKSwgcmluZyk7Cj4KPiAtCXJldCA9IF9faTkxNV9hZGRfcmVxdWVzdChyaW5n LCBOVUxMLCBzby5vYmopOwo+ICsJX19pOTE1X2FkZF9yZXF1ZXN0KHJpbmcsIE5VTEwsIHNvLm9i aik7Cj4gICAJLyogX19pOTE1X2FkZF9yZXF1ZXN0IG1vdmVzIG9iamVjdCB0byBpbmFjdGl2ZSBp ZiBpdCBmYWlscyAqLwo+ICAgb3V0Ogo+ICAgCWk5MTVfZ2VtX3JlbmRlcl9zdGF0ZV9maW5pKCZz byk7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2xyYy5jIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJjLmMKPiBpbmRleCBlNjJkMzk2Li43YTc1ZmM4IDEw MDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2xyYy5jCj4gKysrIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJjLmMKPiBAQCAtMTM3Myw3ICsxMzczLDcgQEAgc3Rh dGljIGludCBpbnRlbF9scl9jb250ZXh0X3JlbmRlcl9zdGF0ZV9pbml0KHN0cnVjdCBpbnRlbF9l bmdpbmVfY3MgKnJpbmcsCj4KPiAgIAlpOTE1X3ZtYV9tb3ZlX3RvX2FjdGl2ZShpOTE1X2dlbV9v YmpfdG9fZ2d0dChzby5vYmopLCByaW5nKTsKPgo+IC0JcmV0ID0gX19pOTE1X2FkZF9yZXF1ZXN0 KHJpbmcsIGZpbGUsIHNvLm9iaik7Cj4gKwlfX2k5MTVfYWRkX3JlcXVlc3QocmluZywgZmlsZSwg c28ub2JqKTsKPiAgIAkvKiBpbnRlbF9sb2dpY2FsX3JpbmdfYWRkX3JlcXVlc3QgbW92ZXMgb2Jq ZWN0IHRvIGluYWN0aXZlIGlmIGl0Cj4gICAJICogZmFpbHMgKi8KPiAgIG91dDoKPiBkaWZmIC0t Z2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfb3ZlcmxheS5jIGIvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfb3ZlcmxheS5jCj4gaW5kZXggMjVjOGVjNi4uZTc1MzRiOSAxMDA2NDQK PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9vdmVybGF5LmMKPiArKysgYi9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9vdmVybGF5LmMKPiBAQCAtMjIwLDkgKzIyMCw3IEBAIHN0 YXRpYyBpbnQgaW50ZWxfb3ZlcmxheV9kb193YWl0X3JlcXVlc3Qoc3RydWN0IGludGVsX292ZXJs YXkgKm92ZXJsYXksCj4gICAJV0FSTl9PTihvdmVybGF5LT5sYXN0X2ZsaXBfcmVxKTsKPiAgIAlp OTE1X2dlbV9yZXF1ZXN0X2Fzc2lnbigmb3ZlcmxheS0+bGFzdF9mbGlwX3JlcSwKPiAgIAkJCQkJ ICAgICByaW5nLT5vdXRzdGFuZGluZ19sYXp5X3JlcXVlc3QpOwo+IC0JcmV0ID0gaTkxNV9hZGRf cmVxdWVzdChyaW5nKTsKPiAtCWlmIChyZXQpCj4gLQkJcmV0dXJuIHJldDsKPiArCWk5MTVfYWRk X3JlcXVlc3QocmluZyk7Cj4KPiAgIAlvdmVybGF5LT5mbGlwX3RhaWwgPSB0YWlsOwo+ICAgCXJl dCA9IGk5MTVfd2FpdF9yZXF1ZXN0KG92ZXJsYXktPmxhc3RfZmxpcF9yZXEpOwo+IEBAIC0yOTEs NyArMjg5LDkgQEAgc3RhdGljIGludCBpbnRlbF9vdmVybGF5X2NvbnRpbnVlKHN0cnVjdCBpbnRl bF9vdmVybGF5ICpvdmVybGF5LAo+ICAgCVdBUk5fT04ob3ZlcmxheS0+bGFzdF9mbGlwX3JlcSk7 Cj4gICAJaTkxNV9nZW1fcmVxdWVzdF9hc3NpZ24oJm92ZXJsYXktPmxhc3RfZmxpcF9yZXEsCj4g ICAJCQkJCSAgICAgcmluZy0+b3V0c3RhbmRpbmdfbGF6eV9yZXF1ZXN0KTsKPiAtCXJldHVybiBp OTE1X2FkZF9yZXF1ZXN0KHJpbmcpOwo+ICsJaTkxNV9hZGRfcmVxdWVzdChyaW5nKTsKPiArCj4g KwlyZXR1cm4gMDsKPiAgIH0KPgo+ICAgc3RhdGljIHZvaWQgaW50ZWxfb3ZlcmxheV9yZWxlYXNl X29sZF92aWRfdGFpbChzdHJ1Y3QgaW50ZWxfb3ZlcmxheSAqb3ZlcmxheSkKPiBkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcmluZ2J1ZmZlci5jIGIvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfcmluZ2J1ZmZlci5jCj4gaW5kZXggNzRjMjIyMi4uNzA2MWIwNyAxMDA2 NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9yaW5nYnVmZmVyLmMKPiArKysg Yi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9yaW5nYnVmZmVyLmMKPiBAQCAtMjE1NiwxNCAr MjE1NiwxMCBAQCBzdGF0aWMgaW50IGludGVsX3dyYXBfcmluZ19idWZmZXIoc3RydWN0IGludGVs X2VuZ2luZV9jcyAqcmluZykKPiAgIGludCBpbnRlbF9yaW5nX2lkbGUoc3RydWN0IGludGVsX2Vu Z2luZV9jcyAqcmluZykKPiAgIHsKPiAgIAlzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3JlcXVlc3QgKnJl cTsKPiAtCWludCByZXQ7Cj4KPiAgIAkvKiBXZSBuZWVkIHRvIGFkZCBhbnkgcmVxdWVzdHMgcmVx dWlyZWQgdG8gZmx1c2ggdGhlIG9iamVjdHMgYW5kIHJpbmcgKi8KPiAtCWlmIChyaW5nLT5vdXRz dGFuZGluZ19sYXp5X3JlcXVlc3QpIHsKPiAtCQlyZXQgPSBpOTE1X2FkZF9yZXF1ZXN0KHJpbmcp Owo+IC0JCWlmIChyZXQpCj4gLQkJCXJldHVybiByZXQ7Cj4gLQl9Cj4gKwlpZiAocmluZy0+b3V0 c3RhbmRpbmdfbGF6eV9yZXF1ZXN0KQo+ICsJCWk5MTVfYWRkX3JlcXVlc3QocmluZyk7Cj4KPiAg IAkvKiBXYWl0IHVwb24gdGhlIGxhc3QgcmVxdWVzdCB0byBiZSBjb21wbGV0ZWQgKi8KPiAgIAlp ZiAobGlzdF9lbXB0eSgmcmluZy0+cmVxdWVzdF9saXN0KSkKPgoKX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRl bC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHA6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcv bWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK