From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tvrtko Ursulin Subject: Re: [PATCH 045/190] drm/i915: Move releasing of the GEM request from free to retire/cancel Date: Tue, 8 Mar 2016 13:15:21 +0000 Message-ID: <56DED069.3040205@linux.intel.com> References: <1452503961-14837-1-git-send-email-chris@chris-wilson.co.uk> <1452503961-14837-45-git-send-email-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 mga01.intel.com (mga01.intel.com [192.55.52.88]) by gabe.freedesktop.org (Postfix) with ESMTP id 263926E69A for ; Tue, 8 Mar 2016 13:16:16 +0000 (UTC) In-Reply-To: <1452503961-14837-45-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 , intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org Ck9uIDExLzAxLzE2IDA5OjE2LCBDaHJpcyBXaWxzb24gd3JvdGU6Cj4gSWYgd2UgbW92ZSB0aGUg cmVsZWFzZSBvZiB0aGUgR0VNIHJlcXVlc3QgKGkuZS4gZGVjb3VwbGluZyBpdCBmcm9tIHRoZQo+ IHZhcmlvdXMgbGlzdHMgdXNlZCBmb3IgY2xpZW50IGFuZCBjb250ZXh0IHRyYWNraW5nKSBhZnRl ciBpdCBpcyBjb21wbGV0ZQo+IChlaXRoZXIgYnkgdGhlIEdQVSByZXRpcmluZyB0aGUgcmVxdWVz dCwgb3IgYnkgdGhlIGNhbGxlciBjYW5jZWxsaW5nIHRoZQo+IHJlcXVlc3QpLCB3ZSBjYW4gcmVt b3ZlIHRoZSByZXF1aXJlbWVudCB0aGF0IHRoZSBmaW5hbCB1bnJlZmVyZW5jZSBvZgo+IHRoZSBH RU0gcmVxdWVzdCBuZWVkIHRvIGJlIHVuZGVyIHRoZSBzdHJ1Y3RfbXV0ZXguCj4KPiB2MjogRXhl Y2xpc3RzIGFzIGFsd2F5cyBpcyBiYWRseSBhc3ltZXRyaWMgYW5kIHllYXIgb2xkIHBhdGNoZXMg c3RpbGwKPiBoYXZlbid0IGxhbmRlZCB0byBmaXggaXQgdXAuCgpMb29rcyBnb29kIGFuZCBwcmV0 dHkgc3RhbmRhbG9uZSB0byBtZSAoZGVwZW5kcyBvbiBpOTE1X2dlbV9yZXF1ZXN0IGNvZGUgCm1v dmVtZW50IG9ubHkgSSB0aGluaykuIEp1c3Qgb25lIHF1ZXN0aW9uIGJlbG93LgoKPiBTaWduZWQt b2ZmLWJ5OiBDaHJpcyBXaWxzb24gPGNocmlzQGNocmlzLXdpbHNvbi5jby51az4KPiAtLS0KPiAg IGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMgICAgICAgICAgfCAgNCArLS0KPiAgIGRy aXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX3JlcXVlc3QuYyAgfCA1MCArKysrKysrKysrKysr Ky0tLS0tLS0tLS0tLS0tLS0tLQo+ICAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fcmVx dWVzdC5oICB8IDE0IC0tLS0tLS0tLQo+ICAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfYnJl YWRjcnVtYnMuYyB8ICAyICstCj4gICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5 LmMgICAgIHwgIDIgKy0KPiAgIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2xyYy5jICAgICAg ICAgfCAgNiArKy0tCj4gICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9wbS5jICAgICAgICAg IHwgIDIgKy0KPiAgIDcgZmlsZXMgY2hhbmdlZCwgMzAgaW5zZXJ0aW9ucygrKSwgNTAgZGVsZXRp b25zKC0pCj4KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW0uYyBi L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMKPiBpbmRleCA2OGEyNTYxN2NhN2EuLjZk OGQ2NTMwNGFiZiAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbS5j Cj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW0uYwo+IEBAIC0yNTAyLDcgKzI1 MDIsNyBAQCBpOTE1X2dlbV93YWl0X2lvY3RsKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHZvaWQg KmRhdGEsIHN0cnVjdCBkcm1fZmlsZSAqZmlsZSkKPiAgIAkJCXJldCA9IF9faTkxNV93YWl0X3Jl cXVlc3QocmVxW2ldLCB0cnVlLAo+ICAgCQkJCQkJICBhcmdzLT50aW1lb3V0X25zID4gMCA/ICZh cmdzLT50aW1lb3V0X25zIDogTlVMTCwKPiAgIAkJCQkJCSAgdG9fcnBzX2NsaWVudChmaWxlKSk7 Cj4gLQkJaTkxNV9nZW1fcmVxdWVzdF91bnJlZmVyZW5jZV9fdW5sb2NrZWQocmVxW2ldKTsKPiAr CQlpOTE1X2dlbV9yZXF1ZXN0X3VucmVmZXJlbmNlKHJlcVtpXSk7Cj4gICAJfQo+ICAgCXJldHVy biByZXQ7Cj4KPiBAQCAtMzUwNSw3ICszNTA1LDcgQEAgaTkxNV9nZW1fcmluZ190aHJvdHRsZShz dHJ1Y3QgZHJtX2RldmljZSAqZGV2LCBzdHJ1Y3QgZHJtX2ZpbGUgKmZpbGUpCj4gICAJCXJldHVy biAwOwo+Cj4gICAJcmV0ID0gX19pOTE1X3dhaXRfcmVxdWVzdCh0YXJnZXQsIHRydWUsIE5VTEws IE5VTEwpOwo+IC0JaTkxNV9nZW1fcmVxdWVzdF91bnJlZmVyZW5jZV9fdW5sb2NrZWQodGFyZ2V0 KTsKPiArCWk5MTVfZ2VtX3JlcXVlc3RfdW5yZWZlcmVuY2UodGFyZ2V0KTsKPgo+ICAgCXJldHVy biByZXQ7Cj4gICB9Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2Vt X3JlcXVlc3QuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX3JlcXVlc3QuYwo+IGlu ZGV4IGI0ZWRlNmRkN2IyMC4uMWM0ZjRkODNhM2MyIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2k5MTVfZ2VtX3JlcXVlc3QuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2k5MTVfZ2VtX3JlcXVlc3QuYwo+IEBAIC0xODQsMTMgKzE4NCw2IEBAIGVycjoKPiAgIAlyZXR1 cm4gcmV0Owo+ICAgfQo+Cj4gLXZvaWQgaTkxNV9nZW1fcmVxdWVzdF9jYW5jZWwoc3RydWN0IGRy bV9pOTE1X2dlbV9yZXF1ZXN0ICpyZXEpCj4gLXsKPiAtCWludGVsX3JpbmdfcmVzZXJ2ZWRfc3Bh Y2VfY2FuY2VsKHJlcS0+cmluZ2J1Zik7Cj4gLQo+IC0JaTkxNV9nZW1fcmVxdWVzdF91bnJlZmVy ZW5jZShyZXEpOwo+IC19Cj4gLQo+ICAgaW50IGk5MTVfZ2VtX3JlcXVlc3RfYWRkX3RvX2NsaWVu dChzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3JlcXVlc3QgKnJlcSwKPiAgIAkJCQkgICBzdHJ1Y3QgZHJt X2ZpbGUgKmZpbGUpCj4gICB7Cj4gQEAgLTIzNSw5ICsyMjgsMjggQEAgaTkxNV9nZW1fcmVxdWVz dF9yZW1vdmVfZnJvbV9jbGllbnQoc3RydWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0ICpyZXF1ZXN0 KQo+ICAgCXJlcXVlc3QtPnBpZCA9IE5VTEw7Cj4gICB9Cj4KPiArc3RhdGljIHZvaWQgX19pOTE1 X2dlbV9yZXF1ZXN0X3JlbGVhc2Uoc3RydWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0ICpyZXF1ZXN0 KQo+ICt7Cj4gKwlpOTE1X2dlbV9yZXF1ZXN0X3JlbW92ZV9mcm9tX2NsaWVudChyZXF1ZXN0KTsK PiArCj4gKwlpOTE1X2dlbV9jb250ZXh0X3VucmVmZXJlbmNlKHJlcXVlc3QtPmN0eCk7Cj4gKwlp OTE1X2dlbV9yZXF1ZXN0X3VucmVmZXJlbmNlKHJlcXVlc3QpOwo+ICt9Cj4gKwo+ICt2b2lkIGk5 MTVfZ2VtX3JlcXVlc3RfY2FuY2VsKHN0cnVjdCBkcm1faTkxNV9nZW1fcmVxdWVzdCAqcmVxKQo+ ICt7Cj4gKwlpbnRlbF9yaW5nX3Jlc2VydmVkX3NwYWNlX2NhbmNlbChyZXEtPnJpbmdidWYpOwo+ ICsJaWYgKGk5MTUuZW5hYmxlX2V4ZWNsaXN0cykgewo+ICsJCWlmIChyZXEtPmN0eCAhPSByZXEt PnJpbmctPmRlZmF1bHRfY29udGV4dCkKPiArCQkJaW50ZWxfbHJfY29udGV4dF91bnBpbihyZXEp Owo+ICsJfQo+ICsJX19pOTE1X2dlbV9yZXF1ZXN0X3JlbGVhc2UocmVxKTsKPiArfQo+ICsKPiAg IHN0YXRpYyB2b2lkIGk5MTVfZ2VtX3JlcXVlc3RfcmV0aXJlKHN0cnVjdCBkcm1faTkxNV9nZW1f cmVxdWVzdCAqcmVxdWVzdCkKPiAgIHsKPiAgIAl0cmFjZV9pOTE1X2dlbV9yZXF1ZXN0X3JldGly ZShyZXF1ZXN0KTsKPiArCWxpc3RfZGVsX2luaXQoJnJlcXVlc3QtPmxpc3QpOwo+Cj4gICAJLyog V2Uga25vdyB0aGUgR1BVIG11c3QgaGF2ZSByZWFkIHRoZSByZXF1ZXN0IHRvIGhhdmUKPiAgIAkg KiBzZW50IHVzIHRoZSBzZXFubyArIGludGVycnVwdCwgc28gdXNlIHRoZSBwb3NpdGlvbgo+IEBA IC0yNDgsMTEgKzI2MCw3IEBAIHN0YXRpYyB2b2lkIGk5MTVfZ2VtX3JlcXVlc3RfcmV0aXJlKHN0 cnVjdCBkcm1faTkxNV9nZW1fcmVxdWVzdCAqcmVxdWVzdCkKPiAgIAkgKiBjb21wbGV0aW9uIG9y ZGVyLgo+ICAgCSAqLwo+ICAgCXJlcXVlc3QtPnJpbmdidWYtPmxhc3RfcmV0aXJlZF9oZWFkID0g cmVxdWVzdC0+cG9zdGZpeDsKPiAtCj4gLQlsaXN0X2RlbF9pbml0KCZyZXF1ZXN0LT5saXN0KTsK PiAtCWk5MTVfZ2VtX3JlcXVlc3RfcmVtb3ZlX2Zyb21fY2xpZW50KHJlcXVlc3QpOwo+IC0KPiAt CWk5MTVfZ2VtX3JlcXVlc3RfdW5yZWZlcmVuY2UocmVxdWVzdCk7Cj4gKwlfX2k5MTVfZ2VtX3Jl cXVlc3RfcmVsZWFzZShyZXF1ZXN0KTsKPiAgIH0KPgo+ICAgdm9pZAo+IEBAIC02MzksMjEgKzY0 Nyw3IEBAIGk5MTVfd2FpdF9yZXF1ZXN0KHN0cnVjdCBkcm1faTkxNV9nZW1fcmVxdWVzdCAqcmVx KQo+Cj4gICB2b2lkIGk5MTVfZ2VtX3JlcXVlc3RfZnJlZShzdHJ1Y3Qga3JlZiAqcmVxX3JlZikK PiAgIHsKPiAtCXN0cnVjdCBkcm1faTkxNV9nZW1fcmVxdWVzdCAqcmVxID0gY29udGFpbmVyX29m KHJlcV9yZWYsCj4gLQkJCQkJCSB0eXBlb2YoKnJlcSksIHJlZik7Cj4gLQlzdHJ1Y3QgaW50ZWxf Y29udGV4dCAqY3R4ID0gcmVxLT5jdHg7Cj4gLQo+IC0JaWYgKHJlcS0+ZmlsZV9wcml2KQo+IC0J CWk5MTVfZ2VtX3JlcXVlc3RfcmVtb3ZlX2Zyb21fY2xpZW50KHJlcSk7Cj4gLQo+IC0JaWYgKGN0 eCkgewo+IC0JCWlmIChpOTE1LmVuYWJsZV9leGVjbGlzdHMpIHsKPiAtCQkJaWYgKGN0eCAhPSBy ZXEtPnJpbmctPmRlZmF1bHRfY29udGV4dCkKPiAtCQkJCWludGVsX2xyX2NvbnRleHRfdW5waW4o cmVxKTsKPiAtCQl9Cj4gLQo+IC0JCWk5MTVfZ2VtX2NvbnRleHRfdW5yZWZlcmVuY2UoY3R4KTsK PiAtCX0KPiAtCj4gKwlzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3JlcXVlc3QgKnJlcSA9Cj4gKwkJY29u dGFpbmVyX29mKHJlcV9yZWYsIHR5cGVvZigqcmVxKSwgcmVmKTsKPiAgIAlrbWVtX2NhY2hlX2Zy ZWUocmVxLT5pOTE1LT5yZXF1ZXN0cywgcmVxKTsKPiAgIH0KPiBkaWZmIC0tZ2l0IGEvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fcmVxdWVzdC5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUv aTkxNV9nZW1fcmVxdWVzdC5oCj4gaW5kZXggZDQ2ZjIyZjMwYjBhLi5hZjFiODI1ZmNlNTAgMTAw NjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fcmVxdWVzdC5oCj4gKysr IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fcmVxdWVzdC5oCj4gQEAgLTE1NCwyMyAr MTU0LDkgQEAgaTkxNV9nZW1fcmVxdWVzdF9yZWZlcmVuY2Uoc3RydWN0IGRybV9pOTE1X2dlbV9y ZXF1ZXN0ICpyZXEpCj4gICBzdGF0aWMgaW5saW5lIHZvaWQKPiAgIGk5MTVfZ2VtX3JlcXVlc3Rf dW5yZWZlcmVuY2Uoc3RydWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0ICpyZXEpCj4gICB7Cj4gLQlX QVJOX09OKCFtdXRleF9pc19sb2NrZWQoJnJlcS0+cmluZy0+ZGV2LT5zdHJ1Y3RfbXV0ZXgpKTsK PiAgIAlrcmVmX3B1dCgmcmVxLT5yZWYsIGk5MTVfZ2VtX3JlcXVlc3RfZnJlZSk7Cj4gICB9Cj4K PiAtc3RhdGljIGlubGluZSB2b2lkCj4gLWk5MTVfZ2VtX3JlcXVlc3RfdW5yZWZlcmVuY2VfX3Vu bG9ja2VkKHN0cnVjdCBkcm1faTkxNV9nZW1fcmVxdWVzdCAqcmVxKQo+IC17Cj4gLQlzdHJ1Y3Qg ZHJtX2RldmljZSAqZGV2Owo+IC0KPiAtCWlmICghcmVxKQo+IC0JCXJldHVybjsKPiAtCj4gLQlk ZXYgPSByZXEtPnJpbmctPmRldjsKPiAtCWlmIChrcmVmX3B1dF9tdXRleCgmcmVxLT5yZWYsIGk5 MTVfZ2VtX3JlcXVlc3RfZnJlZSwgJmRldi0+c3RydWN0X211dGV4KSkKPiAtCQltdXRleF91bmxv Y2soJmRldi0+c3RydWN0X211dGV4KTsKPiAtfQo+IC0KPiAgIHN0YXRpYyBpbmxpbmUgdm9pZCBp OTE1X2dlbV9yZXF1ZXN0X2Fzc2lnbihzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3JlcXVlc3QgKipwZHN0 LAo+ICAgCQkJCQkgICBzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3JlcXVlc3QgKnNyYykKPiAgIHsKPiBk aWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfYnJlYWRjcnVtYnMuYyBiL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2JyZWFkY3J1bWJzLmMKPiBpbmRleCAwZWEwMWJkNjgx MWMuLmY2NzMxYWFjN2ZjZiAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9icmVhZGNydW1icy5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfYnJlYWRj cnVtYnMuYwo+IEBAIC0zOTAsNyArMzkwLDcgQEAgc3RhdGljIGludCBpbnRlbF9icmVhZGNydW1i c19zaWduYWxlcih2b2lkICphcmcpCj4gICAJCQkgKi8KPiAgIAkJCWludGVsX2VuZ2luZV9yZW1v dmVfd2FpdChlbmdpbmUsICZzaWduYWwtPndhaXQpOwo+Cj4gLQkJCWk5MTVfZ2VtX3JlcXVlc3Rf dW5yZWZlcmVuY2VfX3VubG9ja2VkKHNpZ25hbC0+cmVxdWVzdCk7Cj4gKwkJCWk5MTVfZ2VtX3Jl cXVlc3RfdW5yZWZlcmVuY2Uoc2lnbmFsLT5yZXF1ZXN0KTsKPgo+ICAgCQkJLyogRmluZCB0aGUg bmV4dCBvbGRlc3Qgc2lnbmFsLiBOb3RlIHRoYXQgYXMgd2UgaGF2ZQo+ICAgCQkJICogbm90IGJl ZW4gaG9sZGluZyB0aGUgbG9jaywgYW5vdGhlciBjbGllbnQgbWF5Cj4gZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX2Rpc3BsYXkuYwo+IGluZGV4IDU3YzU0YzliYzgyYi4uMzI4ODViOGQ1YzAyIDEwMDY0 NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYwo+ICsrKyBiL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYwo+IEBAIC0xMTQzMSw3ICsxMTQzMSw3 IEBAIHN0YXRpYyB2b2lkIGludGVsX21taW9fZmxpcF93b3JrX2Z1bmMoc3RydWN0IHdvcmtfc3Ry dWN0ICp3b3JrKQo+ICAgCQlXQVJOX09OKF9faTkxNV93YWl0X3JlcXVlc3QobW1pb19mbGlwLT5y ZXEsCj4gICAJCQkJCSAgICBmYWxzZSwgTlVMTCwKPiAgIAkJCQkJICAgICZtbWlvX2ZsaXAtPmk5 MTUtPnJwcy5tbWlvZmxpcHMpKTsKPiAtCQlpOTE1X2dlbV9yZXF1ZXN0X3VucmVmZXJlbmNlX191 bmxvY2tlZChtbWlvX2ZsaXAtPnJlcSk7Cj4gKwkJaTkxNV9nZW1fcmVxdWVzdF91bnJlZmVyZW5j ZShtbWlvX2ZsaXAtPnJlcSk7Cj4gICAJfQo+Cj4gICAJLyogRm9yIGZyYW1lYnVmZmVyIGJhY2tl ZCBieSBkbWFidWYsIHdhaXQgZm9yIGZlbmNlICovCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX2xyYy5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJjLmMK PiBpbmRleCBiNjM0ZTdkN2E5MmIuLjdhMzA2OWEyYmViMiAxMDA2NDQKPiAtLS0gYS9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9scmMuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX2xyYy5jCj4gQEAgLTU4Nyw5ICs1ODcsNiBAQCBzdGF0aWMgaW50IGV4ZWNsaXN0c19jb250 ZXh0X3F1ZXVlKHN0cnVjdCBkcm1faTkxNV9nZW1fcmVxdWVzdCAqcmVxdWVzdCkKPiAgIAlzdHJ1 Y3QgZHJtX2k5MTVfZ2VtX3JlcXVlc3QgKmN1cnNvcjsKPiAgIAlpbnQgbnVtX2VsZW1lbnRzID0g MDsKPgo+IC0JaWYgKHJlcXVlc3QtPmN0eCAhPSByaW5nLT5kZWZhdWx0X2NvbnRleHQpCj4gLQkJ aW50ZWxfbHJfY29udGV4dF9waW4ocmVxdWVzdCk7Cj4gLQoKU2luY2UgeW91IHJlbW92ZSBMUkMg cGluIGZyb20gcXVldWUsIHRoZSBsaWZldGltZSBpcyBub3cgZWl0aGVyOgoKMS4gRnJvbSByZXF1 ZXN0IGNyZWF0ZSB0byBjYW5jZWwuCjIuIEZyb20gcmVxdWVzdCBjcmVhdGUgdG8gZXhlY2xpc3Qg cmV0aXJlbWVudC4KCldvdWxkIGl0IGJlIG1vcmUgbG9naWNhbCB0byBsZWF2ZSB0aGUgTFJDIHBp biBpbiBxdWV1ZSwgYnV0IHJlbW92ZSBpdCAKZnJvbSByZXF1ZXN0IGNyZWF0aW9uIGluc3RlYWQ/ IFRoYXQgd291bGQgbWFrZSB0aGUgTFJDIHBpbiBsaWZldGltZSBvbmx5IAphIHNpbmdsZSBwb3Nz aWJpbGl0eSwgZnJvbSBxdWV1ZSB0byBleGVjbGlzdCByZXRpcmUuCgo+ICAgCWk5MTVfZ2VtX3Jl cXVlc3RfcmVmZXJlbmNlKHJlcXVlc3QpOwo+Cj4gICAJc3Bpbl9sb2NrX2lycSgmcmluZy0+ZXhl Y2xpc3RfbG9jayk7Cj4gQEAgLTEwNzEsNiArMTA2OCw4IEBAIHN0YXRpYyBpbnQgaW50ZWxfbHJf Y29udGV4dF9waW4oc3RydWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0ICpycSkKPiAgIAkJcmV0ID0g aW50ZWxfbHJfY29udGV4dF9kb19waW4ocmluZywgY3R4X29iaiwgcmluZ2J1Zik7Cj4gICAJCWlm IChyZXQpCj4gICAJCQlnb3RvIHJlc2V0X3Bpbl9jb3VudDsKPiArCj4gKwkJaTkxNV9nZW1fY29u dGV4dF9yZWZlcmVuY2UocnEtPmN0eCk7Cj4gICAJfQo+ICAgCXJldHVybiByZXQ7Cj4KPiBAQCAt MTA5MCw2ICsxMDg5LDcgQEAgdm9pZCBpbnRlbF9scl9jb250ZXh0X3VucGluKHN0cnVjdCBkcm1f aTkxNV9nZW1fcmVxdWVzdCAqcnEpCj4gICAJCWlmICgtLXJxLT5jdHgtPmVuZ2luZVtyaW5nLT5p ZF0ucGluX2NvdW50ID09IDApIHsKPiAgIAkJCWludGVsX3VucGluX3JpbmdidWZmZXJfb2JqKHJp bmdidWYpOwo+ICAgCQkJaTkxNV9nZW1fb2JqZWN0X2dndHRfdW5waW4oY3R4X29iaik7Cj4gKwkJ CWk5MTVfZ2VtX2NvbnRleHRfdW5yZWZlcmVuY2UocnEtPmN0eCk7Cj4gICAJCX0KPiAgIAl9Cj4g ICB9Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3BtLmMgYi9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9wbS5jCj4gaW5kZXggZTUxYmE1MjlhOTdlLi4wZTEzMTM1 YWVmYWEgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcG0uYwo+ICsr KyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3BtLmMKPiBAQCAtNzI4OSw3ICs3Mjg5LDcg QEAgc3RhdGljIHZvaWQgX19pbnRlbF9ycHNfYm9vc3Rfd29yayhzdHJ1Y3Qgd29ya19zdHJ1Y3Qg KndvcmspCj4gICAJCWdlbjZfcnBzX2Jvb3N0KHRvX2k5MTUocmVxLT5yaW5nLT5kZXYpLCBOVUxM LAo+ICAgCQkJICAgICAgIHJlcS0+ZW1pdHRlZF9qaWZmaWVzKTsKPgo+IC0JaTkxNV9nZW1fcmVx dWVzdF91bnJlZmVyZW5jZV9fdW5sb2NrZWQocmVxKTsKPiArCWk5MTVfZ2VtX3JlcXVlc3RfdW5y ZWZlcmVuY2UocmVxKTsKPiAgIAlrZnJlZShib29zdCk7Cj4gICB9Cj4KPgoKUmVnYXJkcywKClR2 cnRrbwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRl bC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6 Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK