From mboxrd@z Thu Jan 1 00:00:00 1970 From: Mika Kuoppala Subject: Re: [PATCH 01/40] drm/i915/hangcheck: Replace hangcheck.seqno with RING_HEAD Date: Wed, 08 May 2019 15:30:46 +0300 Message-ID: <87ftppdt6x.fsf@gaia.fi.intel.com> References: <20190508080704.24223-1-chris@chris-wilson.co.uk> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga06.intel.com (mga06.intel.com [134.134.136.31]) by gabe.freedesktop.org (Postfix) with ESMTPS id 2FFBB896ED for ; Wed, 8 May 2019 12:31:29 +0000 (UTC) In-Reply-To: <20190508080704.24223-1-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 Q2hyaXMgV2lsc29uIDxjaHJpc0BjaHJpcy13aWxzb24uY28udWs+IHdyaXRlczoKCj4gQWZ0ZXIg cmVhbGlzaW5nIHdlIG5lZWQgdG8gc2FtcGxlIFJJTkdfU1RBUlQgdG8gZGV0ZWN0IGNvbnRleHQg c3dpdGNoZXMKPiBmcm9tIHByZWVtcHRpb24gZXZlbnRzIHRoYXQgZG8gbm90IGFsbG93IGZvciB0 aGUgc2Vxbm8gdG8gYWR2YW5jZSwgd2UKPiBjYW4gYWxzbyByZWFsaXNlIHRoYXQgdGhlIHNlcW5v IGl0c2VsZiBpcyBqdXN0IGEgZGlzdGFuY2UgYWxvbmcgdGhlIHJpbmcKPiBhbmQgc28gY2FuIGJl IHJlcGxhY2VkIGJ5IHNhbXBsaW5nIFJJTkdfSEVBRC4KPgo+IFNpZ25lZC1vZmYtYnk6IENocmlz IFdpbHNvbiA8Y2hyaXNAY2hyaXMtd2lsc29uLmNvLnVrPgo+IENjOiBNaWthIEt1b3BwYWxhIDxt aWthLmt1b3BwYWxhQGxpbnV4LmludGVsLmNvbT4KPiAtLS0KPiAgZHJpdmVycy9ncHUvZHJtL2k5 MTUvZ3QvaW50ZWxfZW5naW5lLmggICAgICAgfCAxNSAtLS0tLS0tLS0KPiAgZHJpdmVycy9ncHUv ZHJtL2k5MTUvZ3QvaW50ZWxfZW5naW5lX2NzLmMgICAgfCAgNSArKy0KPiAgZHJpdmVycy9ncHUv ZHJtL2k5MTUvZ3QvaW50ZWxfZW5naW5lX3R5cGVzLmggfCAgMyArLQo+ICBkcml2ZXJzL2dwdS9k cm0vaTkxNS9ndC9pbnRlbF9oYW5nY2hlY2suYyAgICB8ICA4ICsrLS0tCj4gIGRyaXZlcnMvZ3B1 L2RybS9pOTE1L2d0L2ludGVsX2xyYy5jICAgICAgICAgIHwgMTkgKysrLS0tLS0tLS0tCj4gIGRy aXZlcnMvZ3B1L2RybS9pOTE1L2d0L2ludGVsX3JpbmdidWZmZXIuYyAgIHwgMzIgKystLS0tLS0t LS0tLS0tLS0tLS0KPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kZWJ1Z2ZzLmMgICAgICAg ICAgfCAxMiArKy0tLS0tLQo+ICA3IGZpbGVzIGNoYW5nZWQsIDE3IGluc2VydGlvbnMoKyksIDc3 IGRlbGV0aW9ucygtKQo+Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L2lu dGVsX2VuZ2luZS5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50ZWxfZW5naW5lLmgKPiBp bmRleCAwNmQ3ODU1MzM1MDIuLjkzNTliM2E3YWQ5YyAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9ndC9pbnRlbF9lbmdpbmUuaAo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2d0L2ludGVsX2VuZ2luZS5oCj4gQEAgLTIxNSw4ICsyMTUsNiBAQCBpbnRlbF93cml0ZV9zdGF0 dXNfcGFnZShzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUsIGludCByZWcsIHUzMiB2YWx1 ZSkKPiAgICovCj4gICNkZWZpbmUgSTkxNV9HRU1fSFdTX1BSRUVNUFQJCTB4MzIKPiAgI2RlZmlu ZSBJOTE1X0dFTV9IV1NfUFJFRU1QVF9BRERSCShJOTE1X0dFTV9IV1NfUFJFRU1QVCAqIHNpemVv Zih1MzIpKQo+IC0jZGVmaW5lIEk5MTVfR0VNX0hXU19IQU5HQ0hFQ0sJCTB4MzQKPiAtI2RlZmlu ZSBJOTE1X0dFTV9IV1NfSEFOR0NIRUNLX0FERFIJKEk5MTVfR0VNX0hXU19IQU5HQ0hFQ0sgKiBz aXplb2YodTMyKSkKPiAgI2RlZmluZSBJOTE1X0dFTV9IV1NfU0VRTk8JCTB4NDAKPiAgI2RlZmlu ZSBJOTE1X0dFTV9IV1NfU0VRTk9fQUREUgkJKEk5MTVfR0VNX0hXU19TRVFOTyAqIHNpemVvZih1 MzIpKQo+ICAjZGVmaW5lIEk5MTVfR0VNX0hXU19TQ1JBVENICQkweDgwCj4gQEAgLTU0OCwxNyAr NTQ2LDQgQEAgc3RhdGljIGlubGluZSBib29sIGluamVjdF9wcmVlbXB0X2hhbmcoc3RydWN0IGlu dGVsX2VuZ2luZV9leGVjbGlzdHMgKmV4ZWNsaXN0cykKPiAgCj4gICNlbmRpZgo+ICAKPiAtc3Rh dGljIGlubGluZSB1MzIKPiAtaW50ZWxfZW5naW5lX25leHRfaGFuZ2NoZWNrX3NlcW5vKHN0cnVj dCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSkKPiAtewo+IC0JcmV0dXJuIGVuZ2luZS0+aGFuZ2No ZWNrLm5leHRfc2Vxbm8gPQo+IC0JCW5leHRfcHNldWRvX3JhbmRvbTMyKGVuZ2luZS0+aGFuZ2No ZWNrLm5leHRfc2Vxbm8pOwo+IC19Cj4gLQo+IC1zdGF0aWMgaW5saW5lIHUzMgo+IC1pbnRlbF9l bmdpbmVfZ2V0X2hhbmdjaGVja19zZXFubyhzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUp Cj4gLXsKPiAtCXJldHVybiBpbnRlbF9yZWFkX3N0YXR1c19wYWdlKGVuZ2luZSwgSTkxNV9HRU1f SFdTX0hBTkdDSEVDSyk7Cj4gLX0KPiAtCj4gICNlbmRpZiAvKiBfSU5URUxfUklOR0JVRkZFUl9I XyAqLwo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRlbF9lbmdpbmVf Y3MuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L2ludGVsX2VuZ2luZV9jcy5jCj4gaW5kZXgg NDE2ZDdlMmU2ZjhjLi40YzM3NTNjMWI1NzMgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJt L2k5MTUvZ3QvaW50ZWxfZW5naW5lX2NzLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9n dC9pbnRlbF9lbmdpbmVfY3MuYwo+IEBAIC03MjEsNiArNzIxLDcgQEAgc3RhdGljIGludCBtZWFz dXJlX2JyZWFkY3J1bWJfZHcoc3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lKQo+ICAJCWdv dG8gb3V0X3RpbWVsaW5lOwo+ICAKPiAgCWR3ID0gZW5naW5lLT5lbWl0X2ZpbmlfYnJlYWRjcnVt YigmZnJhbWUtPnJxLCBmcmFtZS0+Y3MpIC0gZnJhbWUtPmNzOwo+ICsJR0VNX0JVR19PTihkdyAm IDEpOyAvKiBSSU5HX1RBSUwgbXVzdCBiZSBxd29yZCBhbGlnbmVkICovCj4gIAo+ICAJaTkxNV90 aW1lbGluZV91bnBpbigmZnJhbWUtPnRpbWVsaW5lKTsKPiAgCj4gQEAgLTE0NDQsOSArMTQ0NSw3 IEBAIHZvaWQgaW50ZWxfZW5naW5lX2R1bXAoc3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5l LAo+ICAJCWRybV9wcmludGYobSwgIioqKiBXRURHRUQgKioqXG4iKTsKPiAgCj4gIAlkcm1fcHJp bnRmKG0sICJcdEF3YWtlPyAlZFxuIiwgYXRvbWljX3JlYWQoJmVuZ2luZS0+d2FrZXJlZi5jb3Vu dCkpOwo+IC0JZHJtX3ByaW50ZihtLCAiXHRIYW5nY2hlY2sgJXg6JXggWyVkIG1zXVxuIiwKPiAt CQkgICBlbmdpbmUtPmhhbmdjaGVjay5sYXN0X3NlcW5vLAo+IC0JCSAgIGVuZ2luZS0+aGFuZ2No ZWNrLm5leHRfc2Vxbm8sCj4gKwlkcm1fcHJpbnRmKG0sICJcdEhhbmdjaGVjazogJWQgbXMgYWdv XG4iLAo+ICAJCSAgIGppZmZpZXNfdG9fbXNlY3MoamlmZmllcyAtIGVuZ2luZS0+aGFuZ2NoZWNr LmFjdGlvbl90aW1lc3RhbXApKTsKPiAgCWRybV9wcmludGYobSwgIlx0UmVzZXQgY291bnQ6ICVk IChnbG9iYWwgJWQpXG4iLAo+ICAJCSAgIGk5MTVfcmVzZXRfZW5naW5lX2NvdW50KGVycm9yLCBl bmdpbmUpLAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRlbF9lbmdp bmVfdHlwZXMuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L2ludGVsX2VuZ2luZV90eXBlcy5o Cj4gaW5kZXggYzBhYjExYjEyZTE0Li5lMzgxYzFjNzM5MDIgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVy cy9ncHUvZHJtL2k5MTUvZ3QvaW50ZWxfZW5naW5lX3R5cGVzLmgKPiArKysgYi9kcml2ZXJzL2dw dS9kcm0vaTkxNS9ndC9pbnRlbF9lbmdpbmVfdHlwZXMuaAo+IEBAIC01NCw4ICs1NCw3IEBAIHN0 cnVjdCBpbnRlbF9pbnN0ZG9uZSB7Cj4gIHN0cnVjdCBpbnRlbF9lbmdpbmVfaGFuZ2NoZWNrIHsK PiAgCXU2NCBhY3RoZDsKPiAgCXUzMiBsYXN0X3Jpbmc7Cj4gLQl1MzIgbGFzdF9zZXFubzsKPiAt CXUzMiBuZXh0X3NlcW5vOwo+ICsJdTMyIGxhc3RfaGVhZDsKPiAgCXVuc2lnbmVkIGxvbmcgYWN0 aW9uX3RpbWVzdGFtcDsKPiAgCXN0cnVjdCBpbnRlbF9pbnN0ZG9uZSBpbnN0ZG9uZTsKPiAgfTsK PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50ZWxfaGFuZ2NoZWNrLmMg Yi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRlbF9oYW5nY2hlY2suYwo+IGluZGV4IDcyMWFi NzRhMzgyZi4uM2E0ZDA5YjgwZmEwIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2d0L2ludGVsX2hhbmdjaGVjay5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50 ZWxfaGFuZ2NoZWNrLmMKPiBAQCAtMjgsNyArMjgsNyBAQAo+ICBzdHJ1Y3QgaGFuZ2NoZWNrIHsK PiAgCXU2NCBhY3RoZDsKPiAgCXUzMiByaW5nOwo+IC0JdTMyIHNlcW5vOwo+ICsJdTMyIGhlYWQ7 Cj4gIAllbnVtIGludGVsX2VuZ2luZV9oYW5nY2hlY2tfYWN0aW9uIGFjdGlvbjsKPiAgCXVuc2ln bmVkIGxvbmcgYWN0aW9uX3RpbWVzdGFtcDsKPiAgCWludCBkZWFkbG9jazsKPiBAQCAtMTM0LDE2 ICsxMzQsMTYgQEAgc3RhdGljIHZvaWQgaGFuZ2NoZWNrX2xvYWRfc2FtcGxlKHN0cnVjdCBpbnRl bF9lbmdpbmVfY3MgKmVuZ2luZSwKPiAgCQkJCSAgc3RydWN0IGhhbmdjaGVjayAqaGMpCj4gIHsK PiAgCWhjLT5hY3RoZCA9IGludGVsX2VuZ2luZV9nZXRfYWN0aXZlX2hlYWQoZW5naW5lKTsKPiAt CWhjLT5zZXFubyA9IGludGVsX2VuZ2luZV9nZXRfaGFuZ2NoZWNrX3NlcW5vKGVuZ2luZSk7Cj4g IAloYy0+cmluZyA9IEVOR0lORV9SRUFEKGVuZ2luZSwgUklOR19TVEFSVCk7Cj4gKwloYy0+aGVh ZCA9IEVOR0lORV9SRUFEKGVuZ2luZSwgUklOR19IRUFEKTsKPiAgfQo+ICAKPiAgc3RhdGljIHZv aWQgaGFuZ2NoZWNrX3N0b3JlX3NhbXBsZShzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUs Cj4gIAkJCQkgICBjb25zdCBzdHJ1Y3QgaGFuZ2NoZWNrICpoYykKPiAgewo+ICAJZW5naW5lLT5o YW5nY2hlY2suYWN0aGQgPSBoYy0+YWN0aGQ7Cj4gLQllbmdpbmUtPmhhbmdjaGVjay5sYXN0X3Nl cW5vID0gaGMtPnNlcW5vOwo+ICAJZW5naW5lLT5oYW5nY2hlY2subGFzdF9yaW5nID0gaGMtPnJp bmc7Cj4gKwllbmdpbmUtPmhhbmdjaGVjay5sYXN0X2hlYWQgPSBoYy0+aGVhZDsKPiAgfQo+ICAK PiAgc3RhdGljIGVudW0gaW50ZWxfZW5naW5lX2hhbmdjaGVja19hY3Rpb24KPiBAQCAtMTU2LDcg KzE1Niw3IEBAIGhhbmdjaGVja19nZXRfYWN0aW9uKHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVu Z2luZSwKPiAgCWlmIChlbmdpbmUtPmhhbmdjaGVjay5sYXN0X3JpbmcgIT0gaGMtPnJpbmcpCj4g IAkJcmV0dXJuIEVOR0lORV9BQ1RJVkVfU0VRTk87Cj4gIAo+IC0JaWYgKGVuZ2luZS0+aGFuZ2No ZWNrLmxhc3Rfc2Vxbm8gIT0gaGMtPnNlcW5vKQo+ICsJaWYgKGVuZ2luZS0+aGFuZ2NoZWNrLmxh c3RfaGVhZCAhPSBoYy0+aGVhZCkKPiAgCQlyZXR1cm4gRU5HSU5FX0FDVElWRV9TRVFOTzsKCkNo YW5nZSB0aGUgZW51bSBhbHNvPwoKPiAgCj4gIAlyZXR1cm4gZW5naW5lX3N0dWNrKGVuZ2luZSwg aGMtPmFjdGhkKTsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50ZWxf bHJjLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRlbF9scmMuYwo+IGluZGV4IGQxYTU0 ZDJjM2Q1ZC4uZjFkNjI3NDZlMDY2IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2d0L2ludGVsX2xyYy5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50ZWxfbHJj LmMKPiBAQCAtMjI3NSwxMiArMjI3NSw2IEBAIHN0YXRpYyB1MzIgKmdlbjhfZW1pdF9maW5pX2Jy ZWFkY3J1bWIoc3RydWN0IGk5MTVfcmVxdWVzdCAqcmVxdWVzdCwgdTMyICpjcykKPiAgCQkJCSAg cmVxdWVzdC0+dGltZWxpbmUtPmh3c3Bfb2Zmc2V0LAo+ICAJCQkJICAwKTsKPiAgCj4gLQljcyA9 IGdlbjhfZW1pdF9nZ3R0X3dyaXRlKGNzLAo+IC0JCQkJICBpbnRlbF9lbmdpbmVfbmV4dF9oYW5n Y2hlY2tfc2Vxbm8ocmVxdWVzdC0+ZW5naW5lKSwKPiAtCQkJCSAgSTkxNV9HRU1fSFdTX0hBTkdD SEVDS19BRERSLAo+IC0JCQkJICBNSV9GTFVTSF9EV19TVE9SRV9JTkRFWCk7Cj4gLQo+IC0KPiAg CSpjcysrID0gTUlfVVNFUl9JTlRFUlJVUFQ7Cj4gIAkqY3MrKyA9IE1JX0FSQl9PTl9PRkYgfCBN SV9BUkJfRU5BQkxFOwo+ICAKPiBAQCAtMjI5NywxNCArMjI5MSwxMSBAQCBzdGF0aWMgdTMyICpn ZW44X2VtaXRfZmluaV9icmVhZGNydW1iX3JjcyhzdHJ1Y3QgaTkxNV9yZXF1ZXN0ICpyZXF1ZXN0 LCB1MzIgKmNzKQo+ICAJCQkJICAgICAgcmVxdWVzdC0+dGltZWxpbmUtPmh3c3Bfb2Zmc2V0LAo+ ICAJCQkJICAgICAgUElQRV9DT05UUk9MX1JFTkRFUl9UQVJHRVRfQ0FDSEVfRkxVU0ggfAo+ICAJ CQkJICAgICAgUElQRV9DT05UUk9MX0RFUFRIX0NBQ0hFX0ZMVVNIIHwKPiAtCQkJCSAgICAgIFBJ UEVfQ09OVFJPTF9EQ19GTFVTSF9FTkFCTEUgfAo+IC0JCQkJICAgICAgUElQRV9DT05UUk9MX0ZM VVNIX0VOQUJMRSB8Cj4gLQkJCQkgICAgICBQSVBFX0NPTlRST0xfQ1NfU1RBTEwpOwoKPz8/Cgot TWlrYQoKPiAtCj4gLQljcyA9IGdlbjhfZW1pdF9nZ3R0X3dyaXRlX3JjcyhjcywKPiAtCQkJCSAg ICAgIGludGVsX2VuZ2luZV9uZXh0X2hhbmdjaGVja19zZXFubyhyZXF1ZXN0LT5lbmdpbmUpLAo+ IC0JCQkJICAgICAgSTkxNV9HRU1fSFdTX0hBTkdDSEVDS19BRERSLAo+IC0JCQkJICAgICAgUElQ RV9DT05UUk9MX1NUT1JFX0RBVEFfSU5ERVgpOwo+ICsJCQkJICAgICAgUElQRV9DT05UUk9MX0RD X0ZMVVNIX0VOQUJMRSk7Cj4gKwljcyA9IGdlbjhfZW1pdF9waXBlX2NvbnRyb2woY3MsCj4gKwkJ CQkgICAgUElQRV9DT05UUk9MX0ZMVVNIX0VOQUJMRSB8Cj4gKwkJCQkgICAgUElQRV9DT05UUk9M X0NTX1NUQUxMLAo+ICsJCQkJICAgIDApOwo+ICAKPiAgCSpjcysrID0gTUlfVVNFUl9JTlRFUlJV UFQ7Cj4gIAkqY3MrKyA9IE1JX0FSQl9PTl9PRkYgfCBNSV9BUkJfRU5BQkxFOwo+IGRpZmYgLS1n aXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRlbF9yaW5nYnVmZmVyLmMgYi9kcml2ZXJz L2dwdS9kcm0vaTkxNS9ndC9pbnRlbF9yaW5nYnVmZmVyLmMKPiBpbmRleCA2ZmJjNWRkYmM4OTYu LmYwZDYwYWZmZGJhMyAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRl bF9yaW5nYnVmZmVyLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRlbF9yaW5n YnVmZmVyLmMKPiBAQCAtMzA5LDExICszMDksNiBAQCBzdGF0aWMgdTMyICpnZW42X3Jjc19lbWl0 X2JyZWFkY3J1bWIoc3RydWN0IGk5MTVfcmVxdWVzdCAqcnEsIHUzMiAqY3MpCj4gIAkqY3MrKyA9 IHJxLT50aW1lbGluZS0+aHdzcF9vZmZzZXQgfCBQSVBFX0NPTlRST0xfR0xPQkFMX0dUVDsKPiAg CSpjcysrID0gcnEtPmZlbmNlLnNlcW5vOwo+ICAKPiAtCSpjcysrID0gR0ZYX09QX1BJUEVfQ09O VFJPTCg0KTsKPiAtCSpjcysrID0gUElQRV9DT05UUk9MX1FXX1dSSVRFIHwgUElQRV9DT05UUk9M X1NUT1JFX0RBVEFfSU5ERVg7Cj4gLQkqY3MrKyA9IEk5MTVfR0VNX0hXU19IQU5HQ0hFQ0tfQURE UiB8IFBJUEVfQ09OVFJPTF9HTE9CQUxfR1RUOwo+IC0JKmNzKysgPSBpbnRlbF9lbmdpbmVfbmV4 dF9oYW5nY2hlY2tfc2Vxbm8ocnEtPmVuZ2luZSk7Cj4gLQo+ICAJKmNzKysgPSBNSV9VU0VSX0lO VEVSUlVQVDsKPiAgCSpjcysrID0gTUlfTk9PUDsKPiAgCj4gQEAgLTQxNSwxMyArNDEwLDYgQEAg c3RhdGljIHUzMiAqZ2VuN19yY3NfZW1pdF9icmVhZGNydW1iKHN0cnVjdCBpOTE1X3JlcXVlc3Qg KnJxLCB1MzIgKmNzKQo+ICAJKmNzKysgPSBycS0+dGltZWxpbmUtPmh3c3Bfb2Zmc2V0Owo+ICAJ KmNzKysgPSBycS0+ZmVuY2Uuc2Vxbm87Cj4gIAo+IC0JKmNzKysgPSBHRlhfT1BfUElQRV9DT05U Uk9MKDQpOwo+IC0JKmNzKysgPSAoUElQRV9DT05UUk9MX1FXX1dSSVRFIHwKPiAtCQkgUElQRV9D T05UUk9MX1NUT1JFX0RBVEFfSU5ERVggfAo+IC0JCSBQSVBFX0NPTlRST0xfR0xPQkFMX0dUVF9J VkIpOwo+IC0JKmNzKysgPSBJOTE1X0dFTV9IV1NfSEFOR0NIRUNLX0FERFI7Cj4gLQkqY3MrKyA9 IGludGVsX2VuZ2luZV9uZXh0X2hhbmdjaGVja19zZXFubyhycS0+ZW5naW5lKTsKPiAtCj4gIAkq Y3MrKyA9IE1JX1VTRVJfSU5URVJSVVBUOwo+ICAJKmNzKysgPSBNSV9OT09QOwo+ICAKPiBAQCAt NDQwLDEyICs0MjgsNyBAQCBzdGF0aWMgdTMyICpnZW42X3hjc19lbWl0X2JyZWFkY3J1bWIoc3Ry dWN0IGk5MTVfcmVxdWVzdCAqcnEsIHUzMiAqY3MpCj4gIAkqY3MrKyA9IEk5MTVfR0VNX0hXU19T RVFOT19BRERSIHwgTUlfRkxVU0hfRFdfVVNFX0dUVDsKPiAgCSpjcysrID0gcnEtPmZlbmNlLnNl cW5vOwo+ICAKPiAtCSpjcysrID0gTUlfRkxVU0hfRFcgfCBNSV9GTFVTSF9EV19PUF9TVE9SRURX IHwgTUlfRkxVU0hfRFdfU1RPUkVfSU5ERVg7Cj4gLQkqY3MrKyA9IEk5MTVfR0VNX0hXU19IQU5H Q0hFQ0tfQUREUiB8IE1JX0ZMVVNIX0RXX1VTRV9HVFQ7Cj4gLQkqY3MrKyA9IGludGVsX2VuZ2lu ZV9uZXh0X2hhbmdjaGVja19zZXFubyhycS0+ZW5naW5lKTsKPiAtCj4gIAkqY3MrKyA9IE1JX1VT RVJfSU5URVJSVVBUOwo+IC0JKmNzKysgPSBNSV9OT09QOwo+ICAKPiAgCXJxLT50YWlsID0gaW50 ZWxfcmluZ19vZmZzZXQocnEsIGNzKTsKPiAgCWFzc2VydF9yaW5nX3RhaWxfdmFsaWQocnEtPnJp bmcsIHJxLT50YWlsKTsKPiBAQCAtNDY1LDEwICs0NDgsNiBAQCBzdGF0aWMgdTMyICpnZW43X3hj c19lbWl0X2JyZWFkY3J1bWIoc3RydWN0IGk5MTVfcmVxdWVzdCAqcnEsIHUzMiAqY3MpCj4gIAkq Y3MrKyA9IEk5MTVfR0VNX0hXU19TRVFOT19BRERSIHwgTUlfRkxVU0hfRFdfVVNFX0dUVDsKPiAg CSpjcysrID0gcnEtPmZlbmNlLnNlcW5vOwo+ICAKPiAtCSpjcysrID0gTUlfRkxVU0hfRFcgfCBN SV9GTFVTSF9EV19PUF9TVE9SRURXIHwgTUlfRkxVU0hfRFdfU1RPUkVfSU5ERVg7Cj4gLQkqY3Mr KyA9IEk5MTVfR0VNX0hXU19IQU5HQ0hFQ0tfQUREUiB8IE1JX0ZMVVNIX0RXX1VTRV9HVFQ7Cj4g LQkqY3MrKyA9IGludGVsX2VuZ2luZV9uZXh0X2hhbmdjaGVja19zZXFubyhycS0+ZW5naW5lKTsK PiAtCj4gIAlmb3IgKGkgPSAwOyBpIDwgR0VON19YQ1NfV0E7IGkrKykgewo+ICAJCSpjcysrID0g TUlfU1RPUkVfRFdPUkRfSU5ERVg7Cj4gIAkJKmNzKysgPSBJOTE1X0dFTV9IV1NfU0VRTk9fQURE UjsKPiBAQCAtNDgwLDYgKzQ1OSw3IEBAIHN0YXRpYyB1MzIgKmdlbjdfeGNzX2VtaXRfYnJlYWRj cnVtYihzdHJ1Y3QgaTkxNV9yZXF1ZXN0ICpycSwgdTMyICpjcykKPiAgCSpjcysrID0gMDsKPiAg Cj4gIAkqY3MrKyA9IE1JX1VTRVJfSU5URVJSVVBUOwo+ICsJKmNzKysgPSBNSV9OT09QOwo+ICAK PiAgCXJxLT50YWlsID0gaW50ZWxfcmluZ19vZmZzZXQocnEsIGNzKTsKPiAgCWFzc2VydF9yaW5n X3RhaWxfdmFsaWQocnEtPnJpbmcsIHJxLT50YWlsKTsKPiBAQCAtOTI4LDExICs5MDgsOCBAQCBz dGF0aWMgdTMyICppOXh4X2VtaXRfYnJlYWRjcnVtYihzdHJ1Y3QgaTkxNV9yZXF1ZXN0ICpycSwg dTMyICpjcykKPiAgCSpjcysrID0gSTkxNV9HRU1fSFdTX1NFUU5PX0FERFI7Cj4gIAkqY3MrKyA9 IHJxLT5mZW5jZS5zZXFubzsKPiAgCj4gLQkqY3MrKyA9IE1JX1NUT1JFX0RXT1JEX0lOREVYOwo+ IC0JKmNzKysgPSBJOTE1X0dFTV9IV1NfSEFOR0NIRUNLX0FERFI7Cj4gLQkqY3MrKyA9IGludGVs X2VuZ2luZV9uZXh0X2hhbmdjaGVja19zZXFubyhycS0+ZW5naW5lKTsKPiAtCj4gIAkqY3MrKyA9 IE1JX1VTRVJfSU5URVJSVVBUOwo+ICsJKmNzKysgPSBNSV9OT09QOwo+ICAKPiAgCXJxLT50YWls ID0gaW50ZWxfcmluZ19vZmZzZXQocnEsIGNzKTsKPiAgCWFzc2VydF9yaW5nX3RhaWxfdmFsaWQo cnEtPnJpbmcsIHJxLT50YWlsKTsKPiBAQCAtOTUwLDEwICs5MjcsNiBAQCBzdGF0aWMgdTMyICpn ZW41X2VtaXRfYnJlYWRjcnVtYihzdHJ1Y3QgaTkxNV9yZXF1ZXN0ICpycSwgdTMyICpjcykKPiAg Cj4gIAkqY3MrKyA9IE1JX0ZMVVNIOwo+ICAKPiAtCSpjcysrID0gTUlfU1RPUkVfRFdPUkRfSU5E RVg7Cj4gLQkqY3MrKyA9IEk5MTVfR0VNX0hXU19IQU5HQ0hFQ0tfQUREUjsKPiAtCSpjcysrID0g aW50ZWxfZW5naW5lX25leHRfaGFuZ2NoZWNrX3NlcW5vKHJxLT5lbmdpbmUpOwo+IC0KPiAgCUJV SUxEX0JVR19PTihHRU41X1dBX1NUT1JFUyA8IDEpOwo+ICAJZm9yIChpID0gMDsgaSA8IEdFTjVf V0FfU1RPUkVTOyBpKyspIHsKPiAgCQkqY3MrKyA9IE1JX1NUT1JFX0RXT1JEX0lOREVYOwo+IEBA IC05NjIsNyArOTM1LDYgQEAgc3RhdGljIHUzMiAqZ2VuNV9lbWl0X2JyZWFkY3J1bWIoc3RydWN0 IGk5MTVfcmVxdWVzdCAqcnEsIHUzMiAqY3MpCj4gIAl9Cj4gIAo+ICAJKmNzKysgPSBNSV9VU0VS X0lOVEVSUlVQVDsKPiAtCSpjcysrID0gTUlfTk9PUDsKPiAgCj4gIAlycS0+dGFpbCA9IGludGVs X3Jpbmdfb2Zmc2V0KHJxLCBjcyk7Cj4gIAlhc3NlcnRfcmluZ190YWlsX3ZhbGlkKHJxLT5yaW5n LCBycS0+dGFpbCk7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZGVi dWdmcy5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kZWJ1Z2ZzLmMKPiBpbmRleCBiNjA5 NDA2M2JlOWIuLmNiOWI1NmZiNmE4YSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pOTE1X2RlYnVnZnMuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZGVidWdm cy5jCj4gQEAgLTEyODgsNyArMTI4OCw2IEBAIHN0YXRpYyBpbnQgaTkxNV9oYW5nY2hlY2tfaW5m byhzdHJ1Y3Qgc2VxX2ZpbGUgKm0sIHZvaWQgKnVudXNlZCkKPiAgCXN0cnVjdCBkcm1faTkxNV9w cml2YXRlICpkZXZfcHJpdiA9IG5vZGVfdG9faTkxNShtLT5wcml2YXRlKTsKPiAgCXN0cnVjdCBp bnRlbF9lbmdpbmVfY3MgKmVuZ2luZTsKPiAgCXU2NCBhY3RoZFtJOTE1X05VTV9FTkdJTkVTXTsK PiAtCXUzMiBzZXFub1tJOTE1X05VTV9FTkdJTkVTXTsKPiAgCXN0cnVjdCBpbnRlbF9pbnN0ZG9u ZSBpbnN0ZG9uZTsKPiAgCWludGVsX3dha2VyZWZfdCB3YWtlcmVmOwo+ICAJZW51bSBpbnRlbF9l bmdpbmVfaWQgaWQ7Cj4gQEAgLTEzMDUsMTAgKzEzMDQsOCBAQCBzdGF0aWMgaW50IGk5MTVfaGFu Z2NoZWNrX2luZm8oc3RydWN0IHNlcV9maWxlICptLCB2b2lkICp1bnVzZWQpCj4gIAl9Cj4gIAo+ ICAJd2l0aF9pbnRlbF9ydW50aW1lX3BtKGRldl9wcml2LCB3YWtlcmVmKSB7Cj4gLQkJZm9yX2Vh Y2hfZW5naW5lKGVuZ2luZSwgZGV2X3ByaXYsIGlkKSB7Cj4gKwkJZm9yX2VhY2hfZW5naW5lKGVu Z2luZSwgZGV2X3ByaXYsIGlkKQo+ICAJCQlhY3RoZFtpZF0gPSBpbnRlbF9lbmdpbmVfZ2V0X2Fj dGl2ZV9oZWFkKGVuZ2luZSk7Cj4gLQkJCXNlcW5vW2lkXSA9IGludGVsX2VuZ2luZV9nZXRfaGFu Z2NoZWNrX3NlcW5vKGVuZ2luZSk7Cj4gLQkJfQo+ICAKPiAgCQlpbnRlbF9lbmdpbmVfZ2V0X2lu c3Rkb25lKGRldl9wcml2LT5lbmdpbmVbUkNTMF0sICZpbnN0ZG9uZSk7Cj4gIAl9Cj4gQEAgLTEz MjUsMTEgKzEzMjIsOCBAQCBzdGF0aWMgaW50IGk5MTVfaGFuZ2NoZWNrX2luZm8oc3RydWN0IHNl cV9maWxlICptLCB2b2lkICp1bnVzZWQpCj4gIAlzZXFfcHJpbnRmKG0sICJHVCBhY3RpdmU/ICVz XG4iLCB5ZXNubyhkZXZfcHJpdi0+Z3QuYXdha2UpKTsKPiAgCj4gIAlmb3JfZWFjaF9lbmdpbmUo ZW5naW5lLCBkZXZfcHJpdiwgaWQpIHsKPiAtCQlzZXFfcHJpbnRmKG0sICIlczpcbiIsIGVuZ2lu ZS0+bmFtZSk7Cj4gLQkJc2VxX3ByaW50ZihtLCAiXHRzZXFubyA9ICV4IFtjdXJyZW50ICV4LCBs YXN0ICV4XSwgJWRtcyBhZ29cbiIsCj4gLQkJCSAgIGVuZ2luZS0+aGFuZ2NoZWNrLmxhc3Rfc2Vx bm8sCj4gLQkJCSAgIHNlcW5vW2lkXSwKPiAtCQkJICAgZW5naW5lLT5oYW5nY2hlY2submV4dF9z ZXFubywKPiArCQlzZXFfcHJpbnRmKG0sICIlczogJWQgbXMgYWdvXG4iLAo+ICsJCQkgICBlbmdp bmUtPm5hbWUsCj4gIAkJCSAgIGppZmZpZXNfdG9fbXNlY3MoamlmZmllcyAtCj4gIAkJCQkJICAg IGVuZ2luZS0+aGFuZ2NoZWNrLmFjdGlvbl90aW1lc3RhbXApKTsKPiAgCj4gLS0gCj4gMi4yMC4x Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdm eCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xp c3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeA==