From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tvrtko Ursulin Subject: Re: [PATCH] drm/i915/breadcrumbs: Drop request reference for the signaler thread Date: Wed, 24 Jan 2018 13:09:37 +0000 Message-ID: <46efe423-ddd6-4148-853f-4d71f32b248f@linux.intel.com> References: <20180122154106.5448-1-chris@chris-wilson.co.uk> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) by gabe.freedesktop.org (Postfix) with ESMTPS id 50E3E89890 for ; Wed, 24 Jan 2018 13:09:40 +0000 (UTC) In-Reply-To: <20180122154106.5448-1-chris@chris-wilson.co.uk> Content-Language: en-GB 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 Ck9uIDIyLzAxLzIwMTggMTU6NDEsIENocmlzIFdpbHNvbiB3cm90ZToKPiBJZiB3ZSByZW1lbWJl ciB0byBjYW5jZWwgdGhlIHNpZ25hbGVyIG9uIGEgcmVxdWVzdCB3aGVuIHJldGlyaW5nIGl0Cj4g KGFmdGVyIHdlIGtub3cgdGhhdCB0aGUgcmVxdWVzdCBoYXMgYmVlbiBzaWduYWxlZCksIHdlIGRv IG5vdCBuZWVkIHRvCj4gY2FycnkgYW4gYWRkaXRpb25hbCByZXF1ZXN0IGluIHRoZSBzaWduYWxl ciBpdHNlbGYuIFRoaXMgcHJldmVudHMgYW4KPiBpc3N1ZSB3aGVyZWJ5IHRoZSBzaWduYWxlciB0 aHJlYWRzIG1heSBiZSBkZWxheWVkIGFuZCBob2xkIG9uIHRvCj4gdGhvdXNhbmRzIG9mIHJlcXVl c3QgcmVmZXJlbmNlcywgY2F1c2luZyBzZXZlcmUgbWVtb3J5IGZyYWdtZW50YXRpb24gYW5kCj4g cHJlbWF0dXJlIG9vbSAobW9zdCBub3RpY2VhYmxlIG9uIDMyYiBzbmIgZHVlIHRvIHRoZSBsaW1p dGVkIEdGUF9LRVJORUwKPiBhbmQgZnJlcXVlbnQgdXNlIG9mIGludGVyLWVuZ2luZSBmZW5jZXMp LgoKV2hhdCBpcyBzdGFydmluZyB0aGUgc2lnbmFsZXIgdGhyZWFkLCB3aGljaCBpcyBzZXQgdG8g U0NIRURfRklGTywgYW5kIApjYW4ndCBiZSB0YXNrbGV0cyBvbiBTTkI/CkJlZm9yZSBJIGFjdHVh bGx5IHN0YXJ0IHJldmlld2VpbmcgdGhlIGNvZGUsIHdoaWNoIEknZCByYXRoZXIgYXZvaWQgOikg OgoKSXMgaXQganVzdCBub3QgYWJsZSB0byBwcm9jZXNzIGVub3VnaCByZXF1ZXN0cyBpbiBpdCdz IHRpbWUtc2xpY2UgCihuZWVkX3Jlc2NoZWQpIHNvIGlzIGZhbGxpbmcgYmVoaW5kPyBJdCB3b3Vs ZCBiZSBzdXJwcmlzaW5nIHNpbmNlIEkgCndvdWxkIGV4cGVjdCBpdCB0byBiZSBtdWNoIGxpZ2h0 ZXIgd2FpdCBwcm9jZXNzaW5nIHRoZXJlLCBwZXIgcmVxdWVzdCwgCnRoYW4gb24gdGhlIHN1Ym1p c3Npb24gcGF0aHMuCgpSZWdhcmRzLAoKVHZydGtvCgo+IFNpZ25lZC1vZmYtYnk6IENocmlzIFdp bHNvbiA8Y2hyaXNAY2hyaXMtd2lsc29uLmNvLnVrPgo+IENjOiBUdnJ0a28gVXJzdWxpbiA8dHZy dGtvLnVyc3VsaW5AaW50ZWwuY29tPgo+IC0tLQo+ICAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkx NV9nZW1fcmVxdWVzdC5jICB8ICAgNiArLQo+ICAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf YnJlYWRjcnVtYnMuYyB8IDE0OSArKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tCj4gICAy IGZpbGVzIGNoYW5nZWQsIDg1IGluc2VydGlvbnMoKyksIDcwIGRlbGV0aW9ucygtKQo+IAo+IGRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9yZXF1ZXN0LmMgYi9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9yZXF1ZXN0LmMKPiBpbmRleCBhMGY0NTFiNGE0ZTgu LmU0ZWNhNmJhMGQwNSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dl bV9yZXF1ZXN0LmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9yZXF1ZXN0 LmMKPiBAQCAtNDQxLDcgKzQ0MSwxMCBAQCBzdGF0aWMgdm9pZCBpOTE1X2dlbV9yZXF1ZXN0X3Jl dGlyZShzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3JlcXVlc3QgKnJlcXVlc3QpCj4gICAJc3Bpbl9sb2Nr X2lycSgmcmVxdWVzdC0+bG9jayk7Cj4gICAJaWYgKHJlcXVlc3QtPndhaXRib29zdCkKPiAgIAkJ YXRvbWljX2RlYygmcmVxdWVzdC0+aTkxNS0+Z3RfcG0ucnBzLm51bV93YWl0ZXJzKTsKPiAtCWRt YV9mZW5jZV9zaWduYWxfbG9ja2VkKCZyZXF1ZXN0LT5mZW5jZSk7Cj4gKwlpZiAoIXRlc3RfYml0 KERNQV9GRU5DRV9GTEFHX1NJR05BTEVEX0JJVCwgJnJlcXVlc3QtPmZlbmNlLmZsYWdzKSkKPiAr CQlkbWFfZmVuY2Vfc2lnbmFsX2xvY2tlZCgmcmVxdWVzdC0+ZmVuY2UpOwo+ICsJaWYgKHRlc3Rf Yml0KERNQV9GRU5DRV9GTEFHX0VOQUJMRV9TSUdOQUxfQklULCAmcmVxdWVzdC0+ZmVuY2UuZmxh Z3MpKQo+ICsJCWludGVsX2VuZ2luZV9jYW5jZWxfc2lnbmFsaW5nKHJlcXVlc3QpOwo+ICAgCXNw aW5fdW5sb2NrX2lycSgmcmVxdWVzdC0+bG9jayk7Cj4gICAKPiAgIAlpOTE1X3ByaW90cmVlX2Zp bmkocmVxdWVzdC0+aTkxNSwgJnJlcXVlc3QtPnByaW90cmVlKTsKPiBAQCAtNzM4LDYgKzc0MSw3 IEBAIGk5MTVfZ2VtX3JlcXVlc3RfYWxsb2Moc3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5l LAo+ICAgCj4gICAJLyogTm8gemFsbG9jLCBtdXN0IGNsZWFyIHdoYXQgd2UgbmVlZCBieSBoYW5k ICovCj4gICAJcmVxLT5nbG9iYWxfc2Vxbm8gPSAwOwo+ICsJcmVxLT5zaWduYWxpbmcud2FpdC5z ZXFubyA9IDA7Cj4gICAJcmVxLT5maWxlX3ByaXYgPSBOVUxMOwo+ICAgCXJlcS0+YmF0Y2ggPSBO VUxMOwo+ICAgCXJlcS0+Y2FwdHVyZV9saXN0ID0gTlVMTDsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfYnJlYWRjcnVtYnMuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX2JyZWFkY3J1bWJzLmMKPiBpbmRleCA4NmFjYWMwMTBiYjguLmUzNjY3ZGMxZTk2ZCAx MDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9icmVhZGNydW1icy5jCj4g KysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfYnJlYWRjcnVtYnMuYwo+IEBAIC0yMzUs NyArMjM1LDcgQEAgdm9pZCBpbnRlbF9lbmdpbmVfZGlzYXJtX2JyZWFkY3J1bWJzKHN0cnVjdCBp bnRlbF9lbmdpbmVfY3MgKmVuZ2luZSkKPiAgIAlzdHJ1Y3QgaW50ZWxfd2FpdCAqd2FpdCwgKm47 Cj4gICAKPiAgIAlpZiAoIWItPmlycV9hcm1lZCkKPiAtCQlnb3RvIHdha2V1cF9zaWduYWxlcjsK PiArCQlyZXR1cm47Cj4gICAKPiAgIAkvKgo+ICAgCSAqIFdlIG9ubHkgZGlzYXJtIHRoZSBpcnEg d2hlbiB3ZSBhcmUgaWRsZSAoYWxsIHJlcXVlc3RzIGNvbXBsZXRlZCksCj4gQEAgLTI2MCwxNCAr MjYwLDYgQEAgdm9pZCBpbnRlbF9lbmdpbmVfZGlzYXJtX2JyZWFkY3J1bWJzKHN0cnVjdCBpbnRl bF9lbmdpbmVfY3MgKmVuZ2luZSkKPiAgIAliLT53YWl0ZXJzID0gUkJfUk9PVDsKPiAgIAo+ICAg CXNwaW5fdW5sb2NrX2lycSgmYi0+cmJfbG9jayk7Cj4gLQo+IC0JLyoKPiAtCSAqIFRoZSBzaWdu YWxpbmcgdGhyZWFkIG1heSBiZSBhc2xlZXAgaG9sZGluZyBhIHJlZmVyZW5jZSB0byBhIHJlcXVl c3QsCj4gLQkgKiB0aGF0IGhhZCBpdHMgc2lnbmFsaW5nIGNhbmNlbGxlZCBwcmlvciB0byBiZWlu ZyBwcmVlbXB0ZWQuIFdlIG5lZWQKPiAtCSAqIHRvIGtpY2sgdGhlIHNpZ25hbGVyLCBqdXN0IGlu IGNhc2UsIHRvIHJlbGVhc2UgYW55IHN1Y2ggcmVmZXJlbmNlLgo+IC0JICovCj4gLXdha2V1cF9z aWduYWxlcjoKPiAtCXdha2VfdXBfcHJvY2VzcyhiLT5zaWduYWxlcik7Cj4gICB9Cj4gICAKPiAg IHN0YXRpYyBib29sIHVzZV9mYWtlX2lycShjb25zdCBzdHJ1Y3QgaW50ZWxfYnJlYWRjcnVtYnMg KmIpCj4gQEAgLTY0NCw2ICs2MzYsNjIgQEAgc3RhdGljIHZvaWQgc2lnbmFsZXJfc2V0X3J0cHJp b3JpdHkodm9pZCkKPiAgIAkgc2NoZWRfc2V0c2NoZWR1bGVyX25vY2hlY2soY3VycmVudCwgU0NI RURfRklGTywgJnBhcmFtKTsKPiAgIH0KPiAgIAo+ICtzdGF0aWMgdm9pZCBfX2ludGVsX2VuZ2lu ZV9yZW1vdmVfc2lnbmFsKHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSwKPiArCQkJCQkg c3RydWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0ICpyZXF1ZXN0KQo+ICt7Cj4gKwlzdHJ1Y3QgaW50 ZWxfYnJlYWRjcnVtYnMgKmIgPSAmZW5naW5lLT5icmVhZGNydW1iczsKPiArCj4gKwlsb2NrZGVw X2Fzc2VydF9oZWxkKCZiLT5yYl9sb2NrKTsKPiArCj4gKwkvKgo+ICsJICogV2FrZSB1cCBhbGwg b3RoZXIgY29tcGxldGVkIHdhaXRlcnMgYW5kIHNlbGVjdCB0aGUKPiArCSAqIG5leHQgYm90dG9t LWhhbGYgZm9yIHRoZSBuZXh0IHVzZXIgaW50ZXJydXB0Lgo+ICsJICovCj4gKwlfX2ludGVsX2Vu Z2luZV9yZW1vdmVfd2FpdChlbmdpbmUsICZyZXF1ZXN0LT5zaWduYWxpbmcud2FpdCk7Cj4gKwo+ ICsJLyoKPiArCSAqIEZpbmQgdGhlIG5leHQgb2xkZXN0IHNpZ25hbC4gTm90ZSB0aGF0IGFzIHdl IGhhdmUKPiArCSAqIG5vdCBiZWVuIGhvbGRpbmcgdGhlIGxvY2ssIGFub3RoZXIgY2xpZW50IG1h eQo+ICsJICogaGF2ZSBpbnN0YWxsZWQgYW4gZXZlbiBvbGRlciBzaWduYWwgdGhhbiB0aGUgb25l Cj4gKwkgKiB3ZSBqdXN0IGNvbXBsZXRlZCAtIHNvIGRvdWJsZSBjaGVjayB3ZSBhcmUgc3RpbGwK PiArCSAqIHRoZSBvbGRlc3QgYmVmb3JlIHBpY2tpbmcgdGhlIG5leHQgb25lLgo+ICsJICovCj4g KwlpZiAocmVxdWVzdC0+c2lnbmFsaW5nLndhaXQuc2Vxbm8pIHsKPiArCQlpZiAocmVxdWVzdCA9 PSByY3VfYWNjZXNzX3BvaW50ZXIoYi0+Zmlyc3Rfc2lnbmFsKSkgewo+ICsJCQlzdHJ1Y3QgcmJf bm9kZSAqcmIgPSByYl9uZXh0KCZyZXF1ZXN0LT5zaWduYWxpbmcubm9kZSk7Cj4gKwkJCXJjdV9h c3NpZ25fcG9pbnRlcihiLT5maXJzdF9zaWduYWwsCj4gKwkJCQkJICAgcmIgPyB0b19zaWduYWxl cihyYikgOiBOVUxMKTsKPiArCQl9Cj4gKwo+ICsJCXJiX2VyYXNlKCZyZXF1ZXN0LT5zaWduYWxp bmcubm9kZSwgJmItPnNpZ25hbHMpOwo+ICsJCXJlcXVlc3QtPnNpZ25hbGluZy53YWl0LnNlcW5v ID0gMDsKPiArCX0KPiArfQo+ICsKPiArc3RhdGljIHN0cnVjdCBkcm1faTkxNV9nZW1fcmVxdWVz dCAqZmlyc3Rfc2lnbmFsKHN0cnVjdCBpbnRlbF9icmVhZGNydW1icyAqYikKPiArewo+ICsJLyoK PiArCSAqIFNlZSB0aGUgYmlnIHdhcm5pbmdzIGZvciBpOTE1X2dlbV9hY3RpdmVfZ2V0X3JjdSgp IGFuZCBzaW1pbGFybHkKPiArCSAqIGZvciBkbWFfZmVuY2VfZ2V0X3JjdV9zYWZlKCkgdGhhdCBl eHBsYWluIHRoZSBpbnRyaWNhY2llcyBpbnZvbHZlZAo+ICsJICogaGVyZSB3aXRoIGRlZmVhdGlu ZyBDUFUvY29tcGlsZXIgc3BlY3VsYXRpb24gYW5kIGVuZm9yY2luZwo+ICsJICogdGhlIHJlcXVp cmVkIG1lbW9yeSBiYXJyaWVycy4KPiArCSAqLwo+ICsJZG8gewo+ICsJCXN0cnVjdCBkcm1faTkx NV9nZW1fcmVxdWVzdCAqcmVxdWVzdDsKPiArCj4gKwkJcmVxdWVzdCA9IHJjdV9kZXJlZmVyZW5j ZShiLT5maXJzdF9zaWduYWwpOwo+ICsJCWlmIChyZXF1ZXN0KQo+ICsJCQlyZXF1ZXN0ID0gaTkx NV9nZW1fcmVxdWVzdF9nZXRfcmN1KHJlcXVlc3QpOwo+ICsKPiArCQliYXJyaWVyKCk7Cj4gKwo+ ICsJCWlmICghcmVxdWVzdCB8fCByZXF1ZXN0ID09IHJjdV9hY2Nlc3NfcG9pbnRlcihiLT5maXJz dF9zaWduYWwpKQo+ICsJCQlyZXR1cm4gcmN1X3BvaW50ZXJfaGFuZG9mZihyZXF1ZXN0KTsKPiAr Cj4gKwkJaTkxNV9nZW1fcmVxdWVzdF9wdXQocmVxdWVzdCk7Cj4gKwl9IHdoaWxlICgxKTsKPiAr fQo+ICsKPiAgIHN0YXRpYyBpbnQgaW50ZWxfYnJlYWRjcnVtYnNfc2lnbmFsZXIodm9pZCAqYXJn KQo+ICAgewo+ICAgCXN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSA9IGFyZzsKPiBAQCAt NjY3LDQxICs3MTUsMjEgQEAgc3RhdGljIGludCBpbnRlbF9icmVhZGNydW1ic19zaWduYWxlcih2 b2lkICphcmcpCj4gICAJCSAqIGEgbmV3IGNsaWVudC4KPiAgIAkJICovCj4gICAJCXJjdV9yZWFk X2xvY2soKTsKPiAtCQlyZXF1ZXN0ID0gcmN1X2RlcmVmZXJlbmNlKGItPmZpcnN0X3NpZ25hbCk7 Cj4gLQkJaWYgKHJlcXVlc3QpCj4gLQkJCXJlcXVlc3QgPSBpOTE1X2dlbV9yZXF1ZXN0X2dldF9y Y3UocmVxdWVzdCk7Cj4gKwkJcmVxdWVzdCA9IGZpcnN0X3NpZ25hbChiKTsKPiAgIAkJcmN1X3Jl YWRfdW5sb2NrKCk7Cj4gICAJCWlmIChzaWduYWxfY29tcGxldGUocmVxdWVzdCkpIHsKPiAtCQkJ bG9jYWxfYmhfZGlzYWJsZSgpOwo+IC0JCQlkbWFfZmVuY2Vfc2lnbmFsKCZyZXF1ZXN0LT5mZW5j ZSk7Cj4gLQkJCWxvY2FsX2JoX2VuYWJsZSgpOyAvKiBraWNrIHN0YXJ0IHRoZSB0YXNrbGV0cyAq Lwo+IC0KPiAtCQkJc3Bpbl9sb2NrX2lycSgmYi0+cmJfbG9jayk7Cj4gLQo+IC0JCQkvKiBXYWtl IHVwIGFsbCBvdGhlciBjb21wbGV0ZWQgd2FpdGVycyBhbmQgc2VsZWN0IHRoZQo+IC0JCQkgKiBu ZXh0IGJvdHRvbS1oYWxmIGZvciB0aGUgbmV4dCB1c2VyIGludGVycnVwdC4KPiAtCQkJICovCj4g LQkJCV9faW50ZWxfZW5naW5lX3JlbW92ZV93YWl0KGVuZ2luZSwKPiAtCQkJCQkJICAgJnJlcXVl c3QtPnNpZ25hbGluZy53YWl0KTsKPiAtCj4gLQkJCS8qIEZpbmQgdGhlIG5leHQgb2xkZXN0IHNp Z25hbC4gTm90ZSB0aGF0IGFzIHdlIGhhdmUKPiAtCQkJICogbm90IGJlZW4gaG9sZGluZyB0aGUg bG9jaywgYW5vdGhlciBjbGllbnQgbWF5Cj4gLQkJCSAqIGhhdmUgaW5zdGFsbGVkIGFuIGV2ZW4g b2xkZXIgc2lnbmFsIHRoYW4gdGhlIG9uZQo+IC0JCQkgKiB3ZSBqdXN0IGNvbXBsZXRlZCAtIHNv IGRvdWJsZSBjaGVjayB3ZSBhcmUgc3RpbGwKPiAtCQkJICogdGhlIG9sZGVzdCBiZWZvcmUgcGlj a2luZyB0aGUgbmV4dCBvbmUuCj4gLQkJCSAqLwo+IC0JCQlpZiAocmVxdWVzdCA9PSByY3VfYWNj ZXNzX3BvaW50ZXIoYi0+Zmlyc3Rfc2lnbmFsKSkgewo+IC0JCQkJc3RydWN0IHJiX25vZGUgKnJi ID0KPiAtCQkJCQlyYl9uZXh0KCZyZXF1ZXN0LT5zaWduYWxpbmcubm9kZSk7Cj4gLQkJCQlyY3Vf YXNzaWduX3BvaW50ZXIoYi0+Zmlyc3Rfc2lnbmFsLAo+IC0JCQkJCQkgICByYiA/IHRvX3NpZ25h bGVyKHJiKSA6IE5VTEwpOwo+ICsJCQlpZiAoIXRlc3RfYml0KERNQV9GRU5DRV9GTEFHX1NJR05B TEVEX0JJVCwKPiArCQkJCSAgICAgICZyZXF1ZXN0LT5mZW5jZS5mbGFncykpIHsKPiArCQkJCWxv Y2FsX2JoX2Rpc2FibGUoKTsKPiArCQkJCWRtYV9mZW5jZV9zaWduYWwoJnJlcXVlc3QtPmZlbmNl KTsKPiArCQkJCWxvY2FsX2JoX2VuYWJsZSgpOyAvKiBraWNrIHN0YXJ0IHRoZSB0YXNrbGV0cyAq Lwo+ICAgCQkJfQo+IC0JCQlyYl9lcmFzZSgmcmVxdWVzdC0+c2lnbmFsaW5nLm5vZGUsICZiLT5z aWduYWxzKTsKPiAtCQkJUkJfQ0xFQVJfTk9ERSgmcmVxdWVzdC0+c2lnbmFsaW5nLm5vZGUpOwo+ IC0KPiAtCQkJc3Bpbl91bmxvY2tfaXJxKCZiLT5yYl9sb2NrKTsKPiAgIAo+IC0JCQlpOTE1X2dl bV9yZXF1ZXN0X3B1dChyZXF1ZXN0KTsKPiArCQkJaWYgKHJlcXVlc3QtPnNpZ25hbGluZy53YWl0 LnNlcW5vKSB7Cj4gKwkJCQlzcGluX2xvY2tfaXJxKCZiLT5yYl9sb2NrKTsKPiArCQkJCV9faW50 ZWxfZW5naW5lX3JlbW92ZV9zaWduYWwoZW5naW5lLCByZXF1ZXN0KTsKPiArCQkJCXNwaW5fdW5s b2NrX2lycSgmYi0+cmJfbG9jayk7Cj4gKwkJCX0KPiAgIAo+ICAgCQkJLyogSWYgdGhlIGVuZ2lu ZSBpcyBzYXR1cmF0ZWQgd2UgbWF5IGJlIGNvbnRpbnVhbGx5Cj4gICAJCQkgKiBwcm9jZXNzaW5n IGNvbXBsZXRlZCByZXF1ZXN0cy4gVGhpcyBhbmdlcnMgdGhlCj4gQEAgLTcxMiwxOSArNzQwLDE3 IEBAIHN0YXRpYyBpbnQgaW50ZWxfYnJlYWRjcnVtYnNfc2lnbmFsZXIodm9pZCAqYXJnKQo+ICAg CQkJICovCj4gICAJCQlkb19zY2hlZHVsZSA9IG5lZWRfcmVzY2hlZCgpOwo+ICAgCQl9Cj4gKwkJ aTkxNV9nZW1fcmVxdWVzdF9wdXQocmVxdWVzdCk7Cj4gICAKPiAgIAkJaWYgKHVubGlrZWx5KGRv X3NjaGVkdWxlKSkgewo+ICAgCQkJaWYgKGt0aHJlYWRfc2hvdWxkX3BhcmsoKSkKPiAgIAkJCQlr dGhyZWFkX3BhcmttZSgpOwo+ICAgCj4gLQkJCWlmICh1bmxpa2VseShrdGhyZWFkX3Nob3VsZF9z dG9wKCkpKSB7Cj4gLQkJCQlpOTE1X2dlbV9yZXF1ZXN0X3B1dChyZXF1ZXN0KTsKPiArCQkJaWYg KHVubGlrZWx5KGt0aHJlYWRfc2hvdWxkX3N0b3AoKSkpCj4gICAJCQkJYnJlYWs7Cj4gLQkJCX0K PiAgIAo+ICAgCQkJc2NoZWR1bGUoKTsKPiAgIAkJfQo+IC0JCWk5MTVfZ2VtX3JlcXVlc3RfcHV0 KHJlcXVlc3QpOwo+ICAgCX0gd2hpbGUgKDEpOwo+ICAgCV9fc2V0X2N1cnJlbnRfc3RhdGUoVEFT S19SVU5OSU5HKTsKPiAgIAo+IEBAIC03NTMsMTIgKzc3OSwxMiBAQCB2b2lkIGludGVsX2VuZ2lu ZV9lbmFibGVfc2lnbmFsaW5nKHN0cnVjdCBkcm1faTkxNV9nZW1fcmVxdWVzdCAqcmVxdWVzdCwK PiAgIAlpZiAoIXNlcW5vKQo+ICAgCQlyZXR1cm47Cj4gICAKPiArCXNwaW5fbG9jaygmYi0+cmJf bG9jayk7Cj4gKwo+ICsJR0VNX0JVR19PTihyZXF1ZXN0LT5zaWduYWxpbmcud2FpdC5zZXFubyk7 Cj4gICAJcmVxdWVzdC0+c2lnbmFsaW5nLndhaXQudHNrID0gYi0+c2lnbmFsZXI7Cj4gICAJcmVx dWVzdC0+c2lnbmFsaW5nLndhaXQucmVxdWVzdCA9IHJlcXVlc3Q7Cj4gICAJcmVxdWVzdC0+c2ln bmFsaW5nLndhaXQuc2Vxbm8gPSBzZXFubzsKPiAtCWk5MTVfZ2VtX3JlcXVlc3RfZ2V0KHJlcXVl c3QpOwo+IC0KPiAtCXNwaW5fbG9jaygmYi0+cmJfbG9jayk7Cj4gICAKPiAgIAkvKiBGaXJzdCBh ZGQgb3Vyc2VsdmVzIGludG8gdGhlIGxpc3Qgb2Ygd2FpdGVycywgYnV0IHJlZ2lzdGVyIG91cgo+ ICAgCSAqIGJvdHRvbS1oYWxmIGFzIHRoZSBzaWduYWxsZXIgdGhyZWFkLiBBcyBwZXIgdXN1YWws IG9ubHkgdGhlIG9sZGVzdAo+IEBAIC03OTcsNyArODIzLDcgQEAgdm9pZCBpbnRlbF9lbmdpbmVf ZW5hYmxlX3NpZ25hbGluZyhzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3JlcXVlc3QgKnJlcXVlc3QsCj4g ICAJCQlyY3VfYXNzaWduX3BvaW50ZXIoYi0+Zmlyc3Rfc2lnbmFsLCByZXF1ZXN0KTsKPiAgIAl9 IGVsc2Ugewo+ICAgCQlfX2ludGVsX2VuZ2luZV9yZW1vdmVfd2FpdChlbmdpbmUsICZyZXF1ZXN0 LT5zaWduYWxpbmcud2FpdCk7Cj4gLQkJaTkxNV9nZW1fcmVxdWVzdF9wdXQocmVxdWVzdCk7Cj4g KwkJcmVxdWVzdC0+c2lnbmFsaW5nLndhaXQuc2Vxbm8gPSAwOwo+ICAgCQl3YWtldXAgPSBmYWxz ZTsKPiAgIAl9Cj4gICAKPiBAQCAtODA5LDMyICs4MzUsMTcgQEAgdm9pZCBpbnRlbF9lbmdpbmVf ZW5hYmxlX3NpZ25hbGluZyhzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3JlcXVlc3QgKnJlcXVlc3QsCj4g ICAKPiAgIHZvaWQgaW50ZWxfZW5naW5lX2NhbmNlbF9zaWduYWxpbmcoc3RydWN0IGRybV9pOTE1 X2dlbV9yZXF1ZXN0ICpyZXF1ZXN0KQo+ICAgewo+IC0Jc3RydWN0IGludGVsX2VuZ2luZV9jcyAq ZW5naW5lID0gcmVxdWVzdC0+ZW5naW5lOwo+IC0Jc3RydWN0IGludGVsX2JyZWFkY3J1bWJzICpi ID0gJmVuZ2luZS0+YnJlYWRjcnVtYnM7Cj4gLQo+ICAgCUdFTV9CVUdfT04oIWlycXNfZGlzYWJs ZWQoKSk7Cj4gICAJbG9ja2RlcF9hc3NlcnRfaGVsZCgmcmVxdWVzdC0+bG9jayk7Cj4gLQlHRU1f QlVHX09OKCFyZXF1ZXN0LT5zaWduYWxpbmcud2FpdC5zZXFubyk7Cj4gICAKPiAtCXNwaW5fbG9j aygmYi0+cmJfbG9jayk7Cj4gKwlpZiAocmVxdWVzdC0+c2lnbmFsaW5nLndhaXQuc2Vxbm8pIHsK PiArCQlzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUgPSByZXF1ZXN0LT5lbmdpbmU7Cj4g KwkJc3RydWN0IGludGVsX2JyZWFkY3J1bWJzICpiID0gJmVuZ2luZS0+YnJlYWRjcnVtYnM7Cj4g ICAKPiAtCWlmICghUkJfRU1QVFlfTk9ERSgmcmVxdWVzdC0+c2lnbmFsaW5nLm5vZGUpKSB7Cj4g LQkJaWYgKHJlcXVlc3QgPT0gcmN1X2FjY2Vzc19wb2ludGVyKGItPmZpcnN0X3NpZ25hbCkpIHsK PiAtCQkJc3RydWN0IHJiX25vZGUgKnJiID0KPiAtCQkJCXJiX25leHQoJnJlcXVlc3QtPnNpZ25h bGluZy5ub2RlKTsKPiAtCQkJcmN1X2Fzc2lnbl9wb2ludGVyKGItPmZpcnN0X3NpZ25hbCwKPiAt CQkJCQkgICByYiA/IHRvX3NpZ25hbGVyKHJiKSA6IE5VTEwpOwo+IC0JCX0KPiAtCQlyYl9lcmFz ZSgmcmVxdWVzdC0+c2lnbmFsaW5nLm5vZGUsICZiLT5zaWduYWxzKTsKPiAtCQlSQl9DTEVBUl9O T0RFKCZyZXF1ZXN0LT5zaWduYWxpbmcubm9kZSk7Cj4gLQkJaTkxNV9nZW1fcmVxdWVzdF9wdXQo cmVxdWVzdCk7Cj4gKwkJc3Bpbl9sb2NrKCZiLT5yYl9sb2NrKTsKPiArCQlfX2ludGVsX2VuZ2lu ZV9yZW1vdmVfc2lnbmFsKGVuZ2luZSwgcmVxdWVzdCk7Cj4gKwkJc3Bpbl91bmxvY2soJmItPnJi X2xvY2spOwo+ICAgCX0KPiAtCj4gLQlfX2ludGVsX2VuZ2luZV9yZW1vdmVfd2FpdChlbmdpbmUs ICZyZXF1ZXN0LT5zaWduYWxpbmcud2FpdCk7Cj4gLQo+IC0Jc3Bpbl91bmxvY2soJmItPnJiX2xv Y2spOwo+IC0KPiAtCXJlcXVlc3QtPnNpZ25hbGluZy53YWl0LnNlcW5vID0gMDsKPiAgIH0KPiAg IAo+ICAgaW50IGludGVsX2VuZ2luZV9pbml0X2JyZWFkY3J1bWJzKHN0cnVjdCBpbnRlbF9lbmdp bmVfY3MgKmVuZ2luZSkKPiAKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0 b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50 ZWwtZ2Z4Cg==