From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Vetter Subject: Re: [PATCH 09/32] drm/i915: Prevent leaking of -EIO from i915_wait_request() Date: Wed, 16 Dec 2015 10:52:06 +0100 Message-ID: <20151216095206.GR30437@phenom.ffwll.local> References: <1449833608-22125-1-git-send-email-chris@chris-wilson.co.uk> <1449833608-22125-10-git-send-email-chris@chris-wilson.co.uk> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-wm0-f50.google.com (mail-wm0-f50.google.com [74.125.82.50]) by gabe.freedesktop.org (Postfix) with ESMTPS id 0344A6E87F for ; Wed, 16 Dec 2015 01:52:10 -0800 (PST) Received: by mail-wm0-f50.google.com with SMTP id l126so31510647wml.1 for ; Wed, 16 Dec 2015 01:52:09 -0800 (PST) Content-Disposition: inline In-Reply-To: <1449833608-22125-10-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 Cc: Daniel Vetter , intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24gRnJpLCBEZWMgMTEsIDIwMTUgYXQgMTE6MzM6MDVBTSArMDAwMCwgQ2hyaXMgV2lsc29uIHdy b3RlOgo+IFJlcG9ydGluZyAtRUlPIGZyb20gaTkxNV93YWl0X3JlcXVlc3QoKSBoYXMgcHJvdmVu IHZlcnkgdHJvdWJsZW1hdGljCj4gb3ZlciB0aGUgeWVhcnMsIHdpdGggbnVtZXJvdXMgaGFyZC10 by1yZXByb2R1Y2UgYnVncyBjcm9wcGluZyB1cCBpbiB0aGUKPiBjb3JuZXIgY2FzZSBvZiB3aGVy ZSBhIHJlc2V0IG9jY3VycyBhbmQgdGhlIGNvZGUgd2Fzbid0IGV4cGVjdGluZyBzdWNoCj4gYW4g ZXJyb3IuCj4gCj4gSWYgdGhlIHdlIHJlc2V0IHRoZSBHUFUgb3IgaGF2ZSBkZXRlY3RlZCBhIGhh bmcgYW5kIHdpc2ggdG8gcmVzZXQgdGhlCj4gR1BVLCB0aGUgcmVxdWVzdCBpcyBmb3JjaWJseSBj b21wbGV0ZSBhbmQgdGhlIHdhaXQgYnJva2VuLiBDdXJyZW50bHksIHdlCj4gcmVwb3J0IGVpdGhl ciAtRUFHQUlOIG9yIC1FSU8gaW4gb3JkZXIgZm9yIHRoZSBjYWxsZXIgdG8gcmV0cmVhdCBhbmQK PiByZXN0YXJ0IHRoZSB3YWl0IChpZiBhcHByb3ByaWF0ZSkgYWZ0ZXIgZHJvcHBpbmcgYW5kIHRo ZW4gcmVhY3F1aXJpbmcKPiB0aGUgc3RydWN0X211dGV4IChlc3NlbnRpYWwgdG8gYWxsb3cgdGhl IEdQVSByZXNldCB0byBwcm9jZWVkKS4gSG93ZXZlciwKPiBpZiB3ZSB0YWtlIHRoZSB2aWV3IHRo YXQgdGhlIHJlcXVlc3QgaXMgY29tcGxldGUgKG5vIGZ1cnRoZXIgd29yayB3aWxsCj4gYmUgZG9u ZSBvbiBpdCBieSB0aGUgR1BVIGJlY2F1c2UgaXQgaXMgZGVhZCBhbmQgc29vbiB0byBiZSByZXNl dCksIHRoZW4KPiB3ZSBjYW4gcHJvY2VlZCB3aXRoIHRoZSB0YXNrIGF0IGhhbmQgYW5kIHRoZW4g ZHJvcCB0aGUgc3RydWN0X211dGV4Cj4gYWxsb3dpbmcgdGhlIHJlc2V0IHRvIG9jY3VyLiBUaGlz IHRyYW5zZmVycyB0aGUgYnVyZGVuIG9mIGNoZWNraW5nCj4gd2hldGhlciBpdCBpcyBzYWZlIHRv IHByb2NlZWQgdG8gdGhlIGNhbGxlciwgd2hpY2ggaW4gYWxsIGJ1dCBvbmUKPiBpbnN0YW5jZSBp dCBpcyBzYWZlIC0gY29tcGxldGVseSBlbGltaW5hdGluZyB0aGUgc291cmNlIG9mIGFsbCBzcHVy aW91cwo+IC1FSU8uCj4gCj4gT2Ygbm90ZSwgd2Ugb25seSBoYXZlIHR3byBBUEkgZW50cnkgcG9p bnRzIHdoZXJlIHdlIGV4cGVjdCB0aGF0Cj4gdXNlcnNwYWNlIGNhbiBvYnNlcnZlIGFuIEVJTy4g Rmlyc3QgaXMgd2hlbiBzdWJtaXR0aW5nIGFuIGV4ZWNidWYsIGlmCj4gdGhlIEdQVSBpcyB0ZXJt aW5hbGx5IHdlZGdlZCwgdGhlbiB0aGUgb3BlcmF0aW9uIGNhbm5vdCBzdWNjZWVkIGFuZCBhbgo+ IC1FSU8gaXMgcmVwb3J0ZWQuIFNlY29uZGx5LCBleGlzdGluZyB1c2Vyc3BhY2UgdXNlcyB0aGUg dGhyb3R0bGUgaW9jdGwKPiB0byBkZXRlY3QgYW4gYWxyZWFkeSB3ZWRnZWQgR1BVIGJlZm9yZSBz dGFydGluZyB1c2luZyBIVyBhY2NlbGVyYXRpb24KPiAob3IgdG8gY29uZmlybSB0aGF0IHRoZSBH UFUgaXMgd2VkZ2VkIGFmdGVyIGFuIGVycm9yIGNvbmRpdGlvbikuIFNvIGlmCj4gdGhlIEdQVSBp cyB3ZWRnZWQgd2hlbiB0aGUgdXNlciBjYWxscyB0aHJvdHRsZSwgYWxzbyByZXBvcnQgLUVJTy4K PiAKPiB2MjogU3BsaXQgbW9yZSBjYXJlZnVsbHkgdGhlIGNoYW5nZSB0byBpOTE1X3dhaXRfcmVx dWVzdCgpIGFuZCBhc3NvcnRlZAo+IEFCSSBmcm9tIHRoZSByZXNldCBoYW5kbGluZy4KPiAKPiBT aWduZWQtb2ZmLWJ5OiBDaHJpcyBXaWxzb24gPGNocmlzQGNocmlzLXdpbHNvbi5jby51az4KPiBD YzogRGFuaWVsIFZldHRlciA8ZGFuaWVsLnZldHRlckBmZndsbC5jaD4KPiAtLS0KPiAgZHJpdmVy cy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaCAgICAgICAgIHwgIDIgLS0KPiAgZHJpdmVycy9ncHUv ZHJtL2k5MTUvaTkxNV9nZW0uYyAgICAgICAgIHwgNDQgKysrKysrKysrKysrKysrKy0tLS0tLS0t LS0tLS0tLS0tCj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX3VzZXJwdHIuYyB8ICA2 ICsrLS0tCj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYyAgICB8ICA4ICst LS0tLQo+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9scmMuYyAgICAgICAgfCAgMiArLQo+ ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9yaW5nYnVmZmVyLmMgfCAgMiArLQo+ICA2IGZp bGVzIGNoYW5nZWQsIDI3IGluc2VydGlvbnMoKyksIDM3IGRlbGV0aW9ucygtKQo+IAo+IGRpZmYg LS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvaTkxNV9kcnYuaAo+IGluZGV4IGYzMGMzMDVhNjg4OS4uN2FjYmMwNzI5NzNhIDEwMDY0 NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKPiArKysgYi9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCj4gQEAgLTI5ODcsOCArMjk4Nyw2IEBAIGk5MTVfZ2Vt X2ZpbmRfYWN0aXZlX3JlcXVlc3Qoc3RydWN0IGludGVsX2VuZ2luZV9jcyAqcmluZyk7Cj4gIAo+ ICBib29sIGk5MTVfZ2VtX3JldGlyZV9yZXF1ZXN0cyhzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KTsK PiAgdm9pZCBpOTE1X2dlbV9yZXRpcmVfcmVxdWVzdHNfcmluZyhzdHJ1Y3QgaW50ZWxfZW5naW5l X2NzICpyaW5nKTsKPiAtaW50IF9fbXVzdF9jaGVjayBpOTE1X2dlbV9jaGVja193ZWRnZShzdHJ1 Y3QgaTkxNV9ncHVfZXJyb3IgKmVycm9yLAo+IC0JCQkJICAgICAgYm9vbCBpbnRlcnJ1cHRpYmxl KTsKPiAgCj4gIHN0YXRpYyBpbmxpbmUgdTMyIGk5MTVfcmVzZXRfY291bnRlcihzdHJ1Y3QgaTkx NV9ncHVfZXJyb3IgKmVycm9yKQo+ICB7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2k5MTVfZ2VtLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbS5jCj4gaW5kZXgg YjE3Y2MwZTQyYTRmLi5mNTc2MDg2OWExN2MgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJt L2k5MTUvaTkxNV9nZW0uYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMK PiBAQCAtMjA4LDExICsyMDgsMTAgQEAgaTkxNV9nZW1fb2JqZWN0X3B1dF9wYWdlc19waHlzKHN0 cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmopCj4gIAlCVUdfT04ob2JqLT5tYWR2ID09IF9f STkxNV9NQURWX1BVUkdFRCk7Cj4gIAo+ICAJcmV0ID0gaTkxNV9nZW1fb2JqZWN0X3NldF90b19j cHVfZG9tYWluKG9iaiwgdHJ1ZSk7Cj4gLQlpZiAocmV0KSB7Cj4gKwlpZiAoV0FSTl9PTihyZXQp KSB7Cj4gIAkJLyogSW4gdGhlIGV2ZW50IG9mIGEgZGlzYXN0ZXIsIGFiYW5kb24gYWxsIGNhY2hl cyBhbmQKPiAgCQkgKiBob3BlIGZvciB0aGUgYmVzdC4KPiAgCQkgKi8KPiAtCQlXQVJOX09OKHJl dCAhPSAtRUlPKTsKPiAgCQlvYmotPmJhc2UucmVhZF9kb21haW5zID0gb2JqLT5iYXNlLndyaXRl X2RvbWFpbiA9IEk5MTVfR0VNX0RPTUFJTl9DUFU7Cj4gIAl9Cj4gIAo+IEBAIC0xMTA2LDE1ICsx MTA1LDEzIEBAIHB1dF9ycG06Cj4gIAlyZXR1cm4gcmV0Owo+ICB9Cj4gIAo+IC1pbnQKPiAtaTkx NV9nZW1fY2hlY2tfd2VkZ2Uoc3RydWN0IGk5MTVfZ3B1X2Vycm9yICplcnJvciwKPiAtCQkgICAg IGJvb2wgaW50ZXJydXB0aWJsZSkKPiArc3RhdGljIGludAo+ICtpOTE1X2dlbV9jaGVja193ZWRn ZSh1bnNpZ25lZCByZXNldF9jb3VudGVyLCBib29sIGludGVycnVwdGlibGUpCj4gIHsKPiAtCWlm IChpOTE1X3Jlc2V0X2luX3Byb2dyZXNzX29yX3dlZGdlZChlcnJvcikpIHsKPiAtCQkvKiBSZWNv dmVyeSBjb21wbGV0ZSwgYnV0IHRoZSByZXNldCBmYWlsZWQgLi4uICovCj4gLQkJaWYgKGk5MTVf dGVybWluYWxseV93ZWRnZWQoZXJyb3IpKQo+IC0JCQlyZXR1cm4gLUVJTzsKPiArCWlmIChfX2k5 MTVfdGVybWluYWxseV93ZWRnZWQocmVzZXRfY291bnRlcikpCj4gKwkJcmV0dXJuIC1FSU87Cj4g IAo+ICsJaWYgKF9faTkxNV9yZXNldF9pbl9wcm9ncmVzcyhyZXNldF9jb3VudGVyKSkgewo+ICAJ CS8qIE5vbi1pbnRlcnJ1cHRpYmxlIGNhbGxlcnMgY2FuJ3QgaGFuZGxlIC1FQUdBSU4sIGhlbmNl IHJldHVybgo+ICAJCSAqIC1FSU8gdW5jb25kaXRpb25hbGx5IGZvciB0aGVzZS4gKi8KPiAgCQlp ZiAoIWludGVycnVwdGlibGUpCj4gQEAgLTEyODUsMTMgKzEyODIsMTQgQEAgaW50IF9faTkxNV93 YWl0X3JlcXVlc3Qoc3RydWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0ICpyZXEsCj4gIAkJcHJlcGFy ZV90b193YWl0KCZyaW5nLT5pcnFfcXVldWUsICZ3YWl0LCBzdGF0ZSk7Cj4gIAo+ICAJCS8qIFdl IG5lZWQgdG8gY2hlY2sgd2hldGhlciBhbnkgZ3B1IHJlc2V0IGhhcHBlbmVkIGluIGJldHdlZW4K PiAtCQkgKiB0aGUgY2FsbGVyIGdyYWJiaW5nIHRoZSBzZXFubyBhbmQgbm93IC4uLiAqLwo+ICsJ CSAqIHRoZSByZXF1ZXN0IGJlaW5nIHN1Ym1pdHRlZCBhbmQgbm93LiBJZiBhIHJlc2V0IGhhcyBv Y2N1cnJlZCwKPiArCQkgKiB0aGUgcmVxdWVzdCBpcyBlZmZlY3RpdmVseSBjb21wbGV0ZSAod2Ug ZWl0aGVyIGFyZSBpbiB0aGUKPiArCQkgKiBwcm9jZXNzIG9mIG9yIGhhdmUgZGlzY2FyZGVkIHRo ZSByZW5kZXJpbmcgYW5kIGNvbXBsZXRlbHkKPiArCQkgKiByZXNldCB0aGUgR1BVLiBUaGUgcmVz dWx0cyBvZiB0aGUgcmVxdWVzdCBhcmUgbG9zdCBhbmQgd2UKPiArCQkgKiBhcmUgZnJlZSB0byBj b250aW51ZSBvbiB3aXRoIHRoZSBvcmlnaW5hbCBvcGVyYXRpb24uCj4gKwkJICovCj4gIAkJaWYg KHJlcS0+cmVzZXRfY291bnRlciAhPSBpOTE1X3Jlc2V0X2NvdW50ZXIoJmRldl9wcml2LT5ncHVf ZXJyb3IpKSB7Cj4gLQkJCS8qIC4uLiBidXQgdXBncmFkZSB0aGUgLUVBR0FJTiB0byBhbiAtRUlP IGlmIHRoZSBncHUKPiAtCQkJICogaXMgdHJ1ZWx5IGdvbmUuICovCj4gLQkJCXJldCA9IGk5MTVf Z2VtX2NoZWNrX3dlZGdlKCZkZXZfcHJpdi0+Z3B1X2Vycm9yLCBpbnRlcnJ1cHRpYmxlKTsKPiAt CQkJaWYgKHJldCA9PSAwKQo+IC0JCQkJcmV0ID0gLUVBR0FJTjsKPiArCQkJcmV0ID0gMDsKPiAg CQkJYnJlYWs7Cj4gIAkJfQo+ICAKPiBAQCAtMjE1NCwxMSArMjE1MiwxMCBAQCBpOTE1X2dlbV9v YmplY3RfcHV0X3BhZ2VzX2d0dChzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqKQo+ICAJ QlVHX09OKG9iai0+bWFkdiA9PSBfX0k5MTVfTUFEVl9QVVJHRUQpOwo+ICAKPiAgCXJldCA9IGk5 MTVfZ2VtX29iamVjdF9zZXRfdG9fY3B1X2RvbWFpbihvYmosIHRydWUpOwo+IC0JaWYgKHJldCkg ewo+ICsJaWYgKFdBUk5fT04ocmV0KSkgewo+ICAJCS8qIEluIHRoZSBldmVudCBvZiBhIGRpc2Fz dGVyLCBhYmFuZG9uIGFsbCBjYWNoZXMgYW5kCj4gIAkJICogaG9wZSBmb3IgdGhlIGJlc3QuCj4g IAkJICovCj4gLQkJV0FSTl9PTihyZXQgIT0gLUVJTyk7Cj4gIAkJaTkxNV9nZW1fY2xmbHVzaF9v YmplY3Qob2JqLCB0cnVlKTsKPiAgCQlvYmotPmJhc2UucmVhZF9kb21haW5zID0gb2JqLT5iYXNl LndyaXRlX2RvbWFpbiA9IEk5MTVfR0VNX0RPTUFJTl9DUFU7Cj4gIAl9Cj4gQEAgLTI2NzgsOCAr MjY3NSwxMSBAQCBpbnQgaTkxNV9nZW1fcmVxdWVzdF9hbGxvYyhzdHJ1Y3QgaW50ZWxfZW5naW5l X2NzICpyaW5nLAo+ICAKPiAgCSpyZXFfb3V0ID0gTlVMTDsKPiAgCj4gLQlyZXQgPSBpOTE1X2dl bV9jaGVja193ZWRnZSgmZGV2X3ByaXYtPmdwdV9lcnJvciwKPiAtCQkJCSAgIGRldl9wcml2LT5t bS5pbnRlcnJ1cHRpYmxlKTsKPiArCS8qIEFCSTogQmVmb3JlIHVzZXJzcGFjZSBhY2Nlc3NlcyB0 aGUgR1BVIChlLmcuIGV4ZWNidWZmZXIpLCByZXBvcnQKPiArCSAqIEVJTyBpZiB0aGUgR1BVIGlz IGFscmVhZHkgd2VkZ2VkLCBvciBFQUdBSU4gdG8gZHJvcCB0aGUgc3RydWN0X211dGV4Cj4gKwkg KiBhbmQgcmVzdGFydC4KPiArCSAqLwo+ICsJcmV0ID0gaTkxNV9nZW1fY2hlY2tfd2VkZ2UocmVz ZXRfY291bnRlciwgZGV2X3ByaXYtPm1tLmludGVycnVwdGlibGUpOwo+ICAJaWYgKHJldCkKPiAg CQlyZXR1cm4gcmV0Owo+ICAKPiBAQCAtNDA5Myw5ICs0MDkzLDkgQEAgaTkxNV9nZW1fcmluZ190 aHJvdHRsZShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCBzdHJ1Y3QgZHJtX2ZpbGUgKmZpbGUpCj4g IAlpZiAocmV0KQo+ICAJCXJldHVybiByZXQ7Cj4gIAo+IC0JcmV0ID0gaTkxNV9nZW1fY2hlY2tf d2VkZ2UoJmRldl9wcml2LT5ncHVfZXJyb3IsIGZhbHNlKTsKPiAtCWlmIChyZXQpCj4gLQkJcmV0 dXJuIHJldDsKPiArCS8qIEFCSTogcmV0dXJuIC1FSU8gaWYgYWxyZWFkeSB3ZWRnZWQgKi8KPiAr CWlmIChpOTE1X3Rlcm1pbmFsbHlfd2VkZ2VkKCZkZXZfcHJpdi0+Z3B1X2Vycm9yKSkKPiArCQly ZXR1cm4gLUVJTzsKPiAgCj4gIAlzcGluX2xvY2soJmZpbGVfcHJpdi0+bW0ubG9jayk7Cj4gIAls aXN0X2Zvcl9lYWNoX2VudHJ5KHJlcXVlc3QsICZmaWxlX3ByaXYtPm1tLnJlcXVlc3RfbGlzdCwg Y2xpZW50X2xpc3QpIHsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9n ZW1fdXNlcnB0ci5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fdXNlcnB0ci5jCj4g aW5kZXggMTlmYjBiZGRjMWNkLi4xYTVmODlkYmE0YWYgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9n cHUvZHJtL2k5MTUvaTkxNV9nZW1fdXNlcnB0ci5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaTkxNV9nZW1fdXNlcnB0ci5jCj4gQEAgLTgxLDEwICs4MSw4IEBAIHN0YXRpYyB2b2lkIF9f Y2FuY2VsX3VzZXJwdHJfX3dvcmtlcihzdHJ1Y3Qgd29ya19zdHJ1Y3QgKndvcmspCj4gIAkJd2Fz X2ludGVycnVwdGlibGUgPSBkZXZfcHJpdi0+bW0uaW50ZXJydXB0aWJsZTsKPiAgCQlkZXZfcHJp di0+bW0uaW50ZXJydXB0aWJsZSA9IGZhbHNlOwo+ICAKPiAtCQlsaXN0X2Zvcl9lYWNoX2VudHJ5 X3NhZmUodm1hLCB0bXAsICZvYmotPnZtYV9saXN0LCB2bWFfbGluaykgewo+IC0JCQlpbnQgcmV0 ID0gaTkxNV92bWFfdW5iaW5kKHZtYSk7Cj4gLQkJCVdBUk5fT04ocmV0ICYmIHJldCAhPSAtRUlP KTsKPiAtCQl9Cj4gKwkJbGlzdF9mb3JfZWFjaF9lbnRyeV9zYWZlKHZtYSwgdG1wLCAmb2JqLT52 bWFfbGlzdCwgdm1hX2xpbmspCj4gKwkJCVdBUk5fT04oaTkxNV92bWFfdW5iaW5kKHZtYSkpOwo+ ICAJCVdBUk5fT04oaTkxNV9nZW1fb2JqZWN0X3B1dF9wYWdlcyhvYmopKTsKPiAgCj4gIAkJZGV2 X3ByaXYtPm1tLmludGVycnVwdGlibGUgPSB3YXNfaW50ZXJydXB0aWJsZTsKPiBkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfZGlzcGxheS5jCj4gaW5kZXggZDdiYmQwMTVkZTM1Li44NzViZGY4MTRkNzMg MTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jCj4gKysr IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jCj4gQEAgLTEzNDA1LDEwICsx MzQwNSw2IEBAIHN0YXRpYyBpbnQgaW50ZWxfYXRvbWljX3ByZXBhcmVfY29tbWl0KHN0cnVjdCBk cm1fZGV2aWNlICpkZXYsCj4gIAo+ICAJCQlyZXQgPSBfX2k5MTVfd2FpdF9yZXF1ZXN0KGludGVs X3BsYW5lX3N0YXRlLT53YWl0X3JlcSwKPiAgCQkJCQkJICB0cnVlLCBOVUxMLCBOVUxMKTsKPiAt Cj4gLQkJCS8qIFN3YWxsb3cgLUVJTyBlcnJvcnMgdG8gYWxsb3cgdXBkYXRlcyBkdXJpbmcgaHcg bG9ja3VwLiAqLwo+IC0JCQlpZiAocmV0ID09IC1FSU8pCgpJJ2QgbGlrZSB0byBrZWVwIGEgV0FS Tl9PTiBoZXJlIHNpbmNlIGl0J3MgQUJJIHJlbGV2YW50LCBhbmQgY29uc2lzdGVudAp3aXRoIHRo ZSBvdGhlciBwbGFjZXMgd2UndmUgaGFkIGEgV0FSTl9PTigtRUlPKS4KCj4gLQkJCQlyZXQgPSAw Owo+ICAJCQlpZiAocmV0KSB7Cj4gIAkJCQltdXRleF9sb2NrKCZkZXYtPnN0cnVjdF9tdXRleCk7 Cj4gIAkJCQlkcm1fYXRvbWljX2hlbHBlcl9jbGVhbnVwX3BsYW5lcyhkZXYsIHN0YXRlKTsKPiBA QCAtMTM3NDQsOSArMTM3NDAsNyBAQCBpbnRlbF9wcmVwYXJlX3BsYW5lX2ZiKHN0cnVjdCBkcm1f cGxhbmUgKnBsYW5lLAo+ICAJCSAqLwo+ICAJCWlmIChuZWVkc19tb2Rlc2V0KGNydGNfc3RhdGUp KQo+ICAJCQlyZXQgPSBpOTE1X2dlbV9vYmplY3Rfd2FpdF9yZW5kZXJpbmcob2xkX29iaiwgdHJ1 ZSk7Cj4gLQo+IC0JCS8qIFN3YWxsb3cgLUVJTyBlcnJvcnMgdG8gYWxsb3cgdXBkYXRlcyBkdXJp bmcgaHcgbG9ja3VwLiAqLwo+IC0JCWlmIChyZXQgJiYgcmV0ICE9IC1FSU8pCj4gKwkJaWYgKHJl dCkKClNhbWUgaGVyZSByZWFsbHkuCgpXZSBhbHJlYWR5IGhhdmUgYSBXQVJOX09OIGluIHRoZSBt bWlvX2ZsaXAsIHNvIGFyZSBjb3ZlcmVkIHRoZXJlIGFscmVhZHkuCgpPdGhlcndpc2UgbG9va3Mg Z29vZCwgYW5kIHdpdGggdGhlIGFib3ZlIGFkZHJlc3NlZCBhbmQgdW5kZXIgdGhlCmFzc3VtcHRp b24gdGhhdCB0aGUgbGFzdCBjYWxsZXIgb2YgY2hlY2tfd2VkZ2UgaXMgaW4gcmVxdWVzdF9hbGxv YyAod2hpY2gKSSB3YXMgdG9vIGxhenkgdG8gY2hlY2sgcGVyZmVjdGx5KToKClJldmlld2VkLWJ5 OiBEYW5pZWwgVmV0dGVyIDxkYW5pZWwudmV0dGVyQGZmd2xsLmNoPgoKPiAgCQkJcmV0dXJuIHJl dDsKPiAgCX0KPiAgCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2xy Yy5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJjLmMKPiBpbmRleCA2OWIyOThlZWQ2 OWQuLjcwMzBmZjUyNjk0MSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9scmMuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2xyYy5jCj4gQEAgLTk3 Niw3ICs5NzYsNyBAQCB2b2lkIGludGVsX2xvZ2ljYWxfcmluZ19zdG9wKHN0cnVjdCBpbnRlbF9l bmdpbmVfY3MgKnJpbmcpCj4gIAkJcmV0dXJuOwo+ICAKPiAgCXJldCA9IGludGVsX3JpbmdfaWRs ZShyaW5nKTsKPiAtCWlmIChyZXQgJiYgIWk5MTVfcmVzZXRfaW5fcHJvZ3Jlc3Nfb3Jfd2VkZ2Vk KCZ0b19pOTE1KHJpbmctPmRldiktPmdwdV9lcnJvcikpCj4gKwlpZiAocmV0KQo+ICAJCURSTV9F UlJPUigiZmFpbGVkIHRvIHF1aWVzY2UgJXMgd2hpbHN0IGNsZWFuaW5nIHVwOiAlZFxuIiwKPiAg CQkJICByaW5nLT5uYW1lLCByZXQpOwo+ICAKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfcmluZ2J1ZmZlci5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcmlu Z2J1ZmZlci5jCj4gaW5kZXggOTQyZjg2YjMxNmMyLi42Y2VjYzE1ZWMwMWIgMTAwNjQ0Cj4gLS0t IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcmluZ2J1ZmZlci5jCj4gKysrIGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfcmluZ2J1ZmZlci5jCj4gQEAgLTMwNjIsNyArMzA2Miw3IEBA IGludGVsX3N0b3BfcmluZ19idWZmZXIoc3RydWN0IGludGVsX2VuZ2luZV9jcyAqcmluZykKPiAg CQlyZXR1cm47Cj4gIAo+ICAJcmV0ID0gaW50ZWxfcmluZ19pZGxlKHJpbmcpOwo+IC0JaWYgKHJl dCAmJiAhaTkxNV9yZXNldF9pbl9wcm9ncmVzc19vcl93ZWRnZWQoJnRvX2k5MTUocmluZy0+ZGV2 KS0+Z3B1X2Vycm9yKSkKPiArCWlmIChyZXQpCj4gIAkJRFJNX0VSUk9SKCJmYWlsZWQgdG8gcXVp ZXNjZSAlcyB3aGlsc3QgY2xlYW5pbmcgdXA6ICVkXG4iLAo+ICAJCQkgIHJpbmctPm5hbWUsIHJl dCk7Cj4gIAo+IC0tIAo+IDIuNi4zCj4gCgotLSAKRGFuaWVsIFZldHRlcgpTb2Z0d2FyZSBFbmdp bmVlciwgSW50ZWwgQ29ycG9yYXRpb24KaHR0cDovL2Jsb2cuZmZ3bGwuY2gKX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlz dApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHA6Ly9saXN0cy5mcmVlZGVza3Rv cC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK