From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tvrtko Ursulin Subject: Re: [PATCH 3/6] drm/i915: Start returning an error from i915_vma_move_to_active() Date: Mon, 2 Jul 2018 12:41:00 +0100 Message-ID: <29678cae-899b-ffed-b35d-465426a00c6e@linux.intel.com> References: <20180629225419.5832-1-chris@chris-wilson.co.uk> <20180629225419.5832-3-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 mga05.intel.com (mga05.intel.com [192.55.52.43]) by gabe.freedesktop.org (Postfix) with ESMTPS id D40A96E3EF for ; Mon, 2 Jul 2018 11:41:04 +0000 (UTC) In-Reply-To: <20180629225419.5832-3-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 Ck9uIDI5LzA2LzIwMTggMjM6NTQsIENocmlzIFdpbHNvbiB3cm90ZToKPiBIYW5kbGluZyBzdWNo IGEgbGF0ZSBlcnJvciBpbiByZXF1ZXN0IGNvbnN0cnVjdGlvbiBpcyB0cmlja3ksIGJ1dCB0bwo+ IGFjY29tbW9kYXRlIGZ1dHVyZSBwYXRjaGVzIHdoaWNoIG1heSBhbGxvY2F0ZSBoZXJlLCB3ZSBw b3RlbnRpYWxseSBjb3VsZAo+IGVyci4gVG8gaGFuZGxlIHRoZSBlcnJvciBhZnRlciBhbHJlYWR5 IGFkanVzdGluZyBnbG9iYWwgc3RhdGUgdG8gdHJhY2sKPiB0aGUgbmV3IHJlcXVlc3QsIHdlIG11 c3QgZmluaXNoIGFuZCBzdWJtaXQgdGhlIHJlcXVlc3QuIEJ1dCB3ZSBkb24ndAo+IHdhbnQgdG8g dXNlIHRoZSByZXF1ZXN0IGFzIG5vdCBldmVyeXRoaW5nIGlzIGJlaW5nIHRyYWNrZWQgYnkgaXQs IHNvIHdlCj4gb3B0IHRvIGNhbmNlbCB0aGUgY29tbWFuZHMgaW5zaWRlIHRoZSByZXF1ZXN0Lgo+ IAo+IFNpZ25lZC1vZmYtYnk6IENocmlzIFdpbHNvbiA8Y2hyaXNAY2hyaXMtd2lsc29uLmNvLnVr Pgo+IC0tLQo+ICAgZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3Z0L3NjaGVkdWxlci5jICAgICAgICAg IHwgIDYgKysrKy0KPiAgIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmggICAgICAgICAg ICAgICB8ICA2ICsrLS0tCj4gICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9leGVjYnVm ZmVyLmMgICAgfCAyNSArKysrKysrKysrKysrLS0tLS0tCj4gICBkcml2ZXJzL2dwdS9kcm0vaTkx NS9pOTE1X2dlbV9yZW5kZXJfc3RhdGUuYyAgfCAgMiArLQo+ICAgZHJpdmVycy9ncHUvZHJtL2k5 MTUvc2VsZnRlc3RzL2h1Z2VfcGFnZXMuYyAgIHwgIDkgKysrKystLQo+ICAgLi4uL2RybS9pOTE1 L3NlbGZ0ZXN0cy9pOTE1X2dlbV9jb2hlcmVuY3kuYyAgIHwgIDQgKy0tCj4gICAuLi4vZ3B1L2Ry bS9pOTE1L3NlbGZ0ZXN0cy9pOTE1X2dlbV9jb250ZXh0LmMgfCAxMiArKysrKysrLS0KPiAgIC4u Li9ncHUvZHJtL2k5MTUvc2VsZnRlc3RzL2k5MTVfZ2VtX29iamVjdC5jICB8ICA3ICsrKy0tLQo+ ICAgZHJpdmVycy9ncHUvZHJtL2k5MTUvc2VsZnRlc3RzL2k5MTVfcmVxdWVzdC5jIHwgIDggKysr Ky0tCj4gICAuLi4vZ3B1L2RybS9pOTE1L3NlbGZ0ZXN0cy9pbnRlbF9oYW5nY2hlY2suYyAgfCAx MSArKysrKystLQo+ICAgZHJpdmVycy9ncHUvZHJtL2k5MTUvc2VsZnRlc3RzL2ludGVsX2xyYy5j ICAgIHwgMTEgKysrKysrLS0KPiAgIC4uLi9kcm0vaTkxNS9zZWxmdGVzdHMvaW50ZWxfd29ya2Fy b3VuZHMuYyAgICB8ICA1ICsrKy0KPiAgIDEyIGZpbGVzIGNoYW5nZWQsIDc4IGluc2VydGlvbnMo KyksIDI4IGRlbGV0aW9ucygtKQo+IAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkx NS9ndnQvc2NoZWR1bGVyLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndnQvc2NoZWR1bGVyLmMK PiBpbmRleCA5Mjg4MThmMjE4ZjcuLmIwZTU2Njk1NmI4ZCAxMDA2NDQKPiAtLS0gYS9kcml2ZXJz L2dwdS9kcm0vaTkxNS9ndnQvc2NoZWR1bGVyLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkx NS9ndnQvc2NoZWR1bGVyLmMKPiBAQCAtNDc2LDcgKzQ3NiwxMSBAQCBzdGF0aWMgaW50IHByZXBh cmVfc2hhZG93X2JhdGNoX2J1ZmZlcihzdHJ1Y3QgaW50ZWxfdmdwdV93b3JrbG9hZCAqd29ya2xv YWQpCj4gICAJCQlpOTE1X2dlbV9vYmpfZmluaXNoX3NobWVtX2FjY2VzcyhiYi0+b2JqKTsKPiAg IAkJCWJiLT5hY2Nlc3NpbmcgPSBmYWxzZTsKPiAgIAo+IC0JCQlpOTE1X3ZtYV9tb3ZlX3RvX2Fj dGl2ZShiYi0+dm1hLCB3b3JrbG9hZC0+cmVxLCAwKTsKPiArCQkJcmV0ID0gaTkxNV92bWFfbW92 ZV90b19hY3RpdmUoYmItPnZtYSwKPiArCQkJCQkJICAgICAgd29ya2xvYWQtPnJlcSwKPiArCQkJ CQkJICAgICAgMCk7Cj4gKwkJCWlmIChyZXQpCj4gKwkJCQlnb3RvIGVycjsKPiAgIAkJfQo+ICAg CX0KPiAgIAlyZXR1cm4gMDsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkx NV9kcnYuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKPiBpbmRleCBjZTdkMDYz MzI4ODQuLmNkOGY2OWEwMGU4NiAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p OTE1X2Rydi5oCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaAo+IEBAIC0z MDk5LDkgKzMwOTksOSBAQCBpOTE1X2dlbV9vYmpfZmluaXNoX3NobWVtX2FjY2VzcyhzdHJ1Y3Qg ZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqKQo+ICAgfQo+ICAgCj4gICBpbnQgX19tdXN0X2NoZWNr IGk5MTVfbXV0ZXhfbG9ja19pbnRlcnJ1cHRpYmxlKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpOwo+ IC12b2lkIGk5MTVfdm1hX21vdmVfdG9fYWN0aXZlKHN0cnVjdCBpOTE1X3ZtYSAqdm1hLAo+IC0J CQkgICAgIHN0cnVjdCBpOTE1X3JlcXVlc3QgKnJxLAo+IC0JCQkgICAgIHVuc2lnbmVkIGludCBm bGFncyk7Cj4gK2ludCBfX211c3RfY2hlY2sgaTkxNV92bWFfbW92ZV90b19hY3RpdmUoc3RydWN0 IGk5MTVfdm1hICp2bWEsCj4gKwkJCQkJIHN0cnVjdCBpOTE1X3JlcXVlc3QgKnJxLAo+ICsJCQkJ CSB1bnNpZ25lZCBpbnQgZmxhZ3MpOwo+ICAgaW50IGk5MTVfZ2VtX2R1bWJfY3JlYXRlKHN0cnVj dCBkcm1fZmlsZSAqZmlsZV9wcml2LAo+ICAgCQkJIHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCj4g ICAJCQkgc3RydWN0IGRybV9tb2RlX2NyZWF0ZV9kdW1iICphcmdzKTsKPiBkaWZmIC0tZ2l0IGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZXhlY2J1ZmZlci5jIGIvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaTkxNV9nZW1fZXhlY2J1ZmZlci5jCj4gaW5kZXggOTFmMjA0NDUxNDdmLi45NzEz NmU0Y2U5MWQgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZXhl Y2J1ZmZlci5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZXhlY2J1ZmZl ci5jCj4gQEAgLTExNjUsMTIgKzExNjUsMTYgQEAgc3RhdGljIGludCBfX3JlbG9jX2dwdV9hbGxv YyhzdHJ1Y3QgaTkxNV9leGVjYnVmZmVyICplYiwKPiAgIAkJZ290byBlcnJfcmVxdWVzdDsKPiAg IAo+ICAgCUdFTV9CVUdfT04oIXJlc2VydmF0aW9uX29iamVjdF90ZXN0X3NpZ25hbGVkX3JjdShi YXRjaC0+cmVzdiwgdHJ1ZSkpOwo+IC0JaTkxNV92bWFfbW92ZV90b19hY3RpdmUoYmF0Y2gsIHJx LCAwKTsKPiAtCWk5MTVfdm1hX3VucGluKGJhdGNoKTsKPiArCWVyciA9IGk5MTVfdm1hX21vdmVf dG9fYWN0aXZlKGJhdGNoLCBycSwgMCk7Cj4gKwlpZiAoZXJyKQo+ICsJCWdvdG8gc2tpcF9yZXF1 ZXN0Owo+ICAgCj4gLQlpOTE1X3ZtYV9tb3ZlX3RvX2FjdGl2ZSh2bWEsIHJxLCBFWEVDX09CSkVD VF9XUklURSk7Cj4gKwllcnIgPSBpOTE1X3ZtYV9tb3ZlX3RvX2FjdGl2ZSh2bWEsIHJxLCBFWEVD X09CSkVDVF9XUklURSk7Cj4gKwlpZiAoZXJyKQo+ICsJCWdvdG8gc2tpcF9yZXF1ZXN0Owo+ICAg Cj4gICAJcnEtPmJhdGNoID0gYmF0Y2g7Cj4gKwlpOTE1X3ZtYV91bnBpbihiYXRjaCk7Cj4gICAK PiAgIAljYWNoZS0+cnEgPSBycTsKPiAgIAljYWNoZS0+cnFfY21kID0gY21kOwo+IEBAIC0xMTc5 LDYgKzExODMsOCBAQCBzdGF0aWMgaW50IF9fcmVsb2NfZ3B1X2FsbG9jKHN0cnVjdCBpOTE1X2V4 ZWNidWZmZXIgKmViLAo+ICAgCS8qIFJldHVybiB3aXRoIGJhdGNoIG1hcHBpbmcgKGNtZCkgc3Rp bGwgcGlubmVkICovCj4gICAJcmV0dXJuIDA7Cj4gICAKPiArc2tpcF9yZXF1ZXN0Ogo+ICsJaTkx NV9yZXF1ZXN0X3NraXAocnEsIGVycik7Cj4gICBlcnJfcmVxdWVzdDoKPiAgIAlpOTE1X3JlcXVl c3RfYWRkKHJxKTsKPiAgIGVycl91bnBpbjoKPiBAQCAtMTgxOCw3ICsxODI0LDExIEBAIHN0YXRp YyBpbnQgZWJfbW92ZV90b19ncHUoc3RydWN0IGk5MTVfZXhlY2J1ZmZlciAqZWIpCj4gICAJCXVu c2lnbmVkIGludCBmbGFncyA9IGViLT5mbGFnc1tpXTsKPiAgIAkJc3RydWN0IGk5MTVfdm1hICp2 bWEgPSBlYi0+dm1hW2ldOwo+ICAgCj4gLQkJaTkxNV92bWFfbW92ZV90b19hY3RpdmUodm1hLCBl Yi0+cmVxdWVzdCwgZmxhZ3MpOwo+ICsJCWVyciA9IGk5MTVfdm1hX21vdmVfdG9fYWN0aXZlKHZt YSwgZWItPnJlcXVlc3QsIGZsYWdzKTsKPiArCQlpZiAodW5saWtlbHkoZXJyKSkgewo+ICsJCQlp OTE1X3JlcXVlc3Rfc2tpcChlYi0+cmVxdWVzdCwgZXJyKTsKPiArCQkJcmV0dXJuIGVycjsKPiAr CQl9Cj4gICAKPiAgIAkJX19lYl91bnJlc2VydmVfdm1hKHZtYSwgZmxhZ3MpOwo+ICAgCQl2bWEt PmV4ZWNfZmxhZ3MgPSBOVUxMOwo+IEBAIC0xODc3LDkgKzE4ODcsOSBAQCBzdGF0aWMgdm9pZCBl eHBvcnRfZmVuY2Uoc3RydWN0IGk5MTVfdm1hICp2bWEsCj4gICAJcmVzZXJ2YXRpb25fb2JqZWN0 X3VubG9jayhyZXN2KTsKPiAgIH0KPiAgIAo+IC12b2lkIGk5MTVfdm1hX21vdmVfdG9fYWN0aXZl KHN0cnVjdCBpOTE1X3ZtYSAqdm1hLAo+IC0JCQkgICAgIHN0cnVjdCBpOTE1X3JlcXVlc3QgKnJx LAo+IC0JCQkgICAgIHVuc2lnbmVkIGludCBmbGFncykKPiAraW50IGk5MTVfdm1hX21vdmVfdG9f YWN0aXZlKHN0cnVjdCBpOTE1X3ZtYSAqdm1hLAo+ICsJCQkgICAgc3RydWN0IGk5MTVfcmVxdWVz dCAqcnEsCj4gKwkJCSAgICB1bnNpZ25lZCBpbnQgZmxhZ3MpCj4gICB7Cj4gICAJc3RydWN0IGRy bV9pOTE1X2dlbV9vYmplY3QgKm9iaiA9IHZtYS0+b2JqOwo+ICAgCWNvbnN0IHVuc2lnbmVkIGlu dCBpZHggPSBycS0+ZW5naW5lLT5pZDsKPiBAQCAtMTkxNiw2ICsxOTI2LDcgQEAgdm9pZCBpOTE1 X3ZtYV9tb3ZlX3RvX2FjdGl2ZShzdHJ1Y3QgaTkxNV92bWEgKnZtYSwKPiAgIAkJaTkxNV9nZW1f YWN0aXZlX3NldCgmdm1hLT5sYXN0X2ZlbmNlLCBycSk7Cj4gICAKPiAgIAlleHBvcnRfZmVuY2Uo dm1hLCBycSwgZmxhZ3MpOwo+ICsJcmV0dXJuIDA7Cj4gICB9Cj4gICAKPiAgIHN0YXRpYyBpbnQg aTkxNV9yZXNldF9nZW43X3NvbF9vZmZzZXRzKHN0cnVjdCBpOTE1X3JlcXVlc3QgKnJxKQo+IGRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9yZW5kZXJfc3RhdGUuYyBi L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX3JlbmRlcl9zdGF0ZS5jCj4gaW5kZXggMzIx MGNlZGZhNDZjLi45MGJhZjkwODZkMGEgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaTkxNV9nZW1fcmVuZGVyX3N0YXRlLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p OTE1X2dlbV9yZW5kZXJfc3RhdGUuYwo+IEBAIC0yMjIsNyArMjIyLDcgQEAgaW50IGk5MTVfZ2Vt X3JlbmRlcl9zdGF0ZV9lbWl0KHN0cnVjdCBpOTE1X3JlcXVlc3QgKnJxKQo+ICAgCQkJZ290byBl cnJfdW5waW47Cj4gICAJfQo+ICAgCj4gLQlpOTE1X3ZtYV9tb3ZlX3RvX2FjdGl2ZShzby52bWEs IHJxLCAwKTsKPiArCWVyciA9IGk5MTVfdm1hX21vdmVfdG9fYWN0aXZlKHNvLnZtYSwgcnEsIDAp Owo+ICAgZXJyX3VucGluOgo+ICAgCWk5MTVfdm1hX3VucGluKHNvLnZtYSk7Cj4gICBlcnJfdm1h Ogo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9zZWxmdGVzdHMvaHVnZV9wYWdl cy5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvc2VsZnRlc3RzL2h1Z2VfcGFnZXMuYwo+IGluZGV4 IDM1OGZjODFmNmM5OS4uZDMzZTIwOTQwZTBhIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L3NlbGZ0ZXN0cy9odWdlX3BhZ2VzLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkx NS9zZWxmdGVzdHMvaHVnZV9wYWdlcy5jCj4gQEAgLTk4NSw3ICs5ODUsMTAgQEAgc3RhdGljIGlu dCBncHVfd3JpdGUoc3RydWN0IGk5MTVfdm1hICp2bWEsCj4gICAJCWdvdG8gZXJyX3JlcXVlc3Q7 Cj4gICAJfQo+ICAgCj4gLQlpOTE1X3ZtYV9tb3ZlX3RvX2FjdGl2ZShiYXRjaCwgcnEsIDApOwo+ ICsJZXJyID0gaTkxNV92bWFfbW92ZV90b19hY3RpdmUoYmF0Y2gsIHJxLCAwKTsKPiArCWlmIChl cnIpCj4gKwkJZ290byBlcnJfcmVxdWVzdDsKPiArCj4gICAJaTkxNV9nZW1fb2JqZWN0X3NldF9h Y3RpdmVfcmVmZXJlbmNlKGJhdGNoLT5vYmopOwo+ICAgCWk5MTVfdm1hX3VucGluKGJhdGNoKTsK PiAgIAlpOTE1X3ZtYV9jbG9zZShiYXRjaCk7Cj4gQEAgLTk5Niw3ICs5OTksOSBAQCBzdGF0aWMg aW50IGdwdV93cml0ZShzdHJ1Y3QgaTkxNV92bWEgKnZtYSwKPiAgIAlpZiAoZXJyKQo+ICAgCQln b3RvIGVycl9yZXF1ZXN0Owo+ICAgCj4gLQlpOTE1X3ZtYV9tb3ZlX3RvX2FjdGl2ZSh2bWEsIHJx LCBFWEVDX09CSkVDVF9XUklURSk7Cj4gKwllcnIgPSBpOTE1X3ZtYV9tb3ZlX3RvX2FjdGl2ZSh2 bWEsIHJxLCBFWEVDX09CSkVDVF9XUklURSk7Cj4gKwlpZiAoZXJyKQo+ICsJCWk5MTVfcmVxdWVz dF9za2lwKHJxLCBlcnIpOwo+ICAgCj4gICBlcnJfcmVxdWVzdDoKPiAgIAlpOTE1X3JlcXVlc3Rf YWRkKHJxKTsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvc2VsZnRlc3RzL2k5 MTVfZ2VtX2NvaGVyZW5jeS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvc2VsZnRlc3RzL2k5MTVf Z2VtX2NvaGVyZW5jeS5jCj4gaW5kZXggMTE0MjdhYWUwODUzLi4zMjg1ODU0NTljNjcgMTAwNjQ0 Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvc2VsZnRlc3RzL2k5MTVfZ2VtX2NvaGVyZW5j eS5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvc2VsZnRlc3RzL2k5MTVfZ2VtX2NvaGVy ZW5jeS5jCj4gQEAgLTIyMiwxMiArMjIyLDEyIEBAIHN0YXRpYyBpbnQgZ3B1X3NldChzdHJ1Y3Qg ZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqLAo+ICAgCX0KPiAgIAlpbnRlbF9yaW5nX2FkdmFuY2Uo cnEsIGNzKTsKPiAgIAo+IC0JaTkxNV92bWFfbW92ZV90b19hY3RpdmUodm1hLCBycSwgRVhFQ19P QkpFQ1RfV1JJVEUpOwo+ICsJZXJyID0gaTkxNV92bWFfbW92ZV90b19hY3RpdmUodm1hLCBycSwg RVhFQ19PQkpFQ1RfV1JJVEUpOwo+ICAgCWk5MTVfdm1hX3VucGluKHZtYSk7Cj4gICAKPiAgIAlp OTE1X3JlcXVlc3RfYWRkKHJxKTsKPiAgIAo+IC0JcmV0dXJuIDA7Cj4gKwlyZXR1cm4gZXJyOwo+ ICAgfQo+ICAgCj4gICBzdGF0aWMgYm9vbCBhbHdheXNfdmFsaWQoc3RydWN0IGRybV9pOTE1X3By aXZhdGUgKmk5MTUpCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L3NlbGZ0ZXN0 cy9pOTE1X2dlbV9jb250ZXh0LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9zZWxmdGVzdHMvaTkx NV9nZW1fY29udGV4dC5jCj4gaW5kZXggODFlZDg3YWEwYTRkLi5kYTQzZjBhOTllYjIgMTAwNjQ0 Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvc2VsZnRlc3RzL2k5MTVfZ2VtX2NvbnRleHQu Ywo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L3NlbGZ0ZXN0cy9pOTE1X2dlbV9jb250ZXh0 LmMKPiBAQCAtMTcwLDE4ICsxNzAsMjYgQEAgc3RhdGljIGludCBncHVfZmlsbChzdHJ1Y3QgZHJt X2k5MTVfZ2VtX29iamVjdCAqb2JqLAo+ICAgCWlmIChlcnIpCj4gICAJCWdvdG8gZXJyX3JlcXVl c3Q7Cj4gICAKPiAtCWk5MTVfdm1hX21vdmVfdG9fYWN0aXZlKGJhdGNoLCBycSwgMCk7Cj4gKwll cnIgPSBpOTE1X3ZtYV9tb3ZlX3RvX2FjdGl2ZShiYXRjaCwgcnEsIDApOwo+ICsJaWYgKGVycikK PiArCQlnb3RvIHNraXBfcmVxdWVzdDsKPiArCj4gKwllcnIgPSBpOTE1X3ZtYV9tb3ZlX3RvX2Fj dGl2ZSh2bWEsIHJxLCBFWEVDX09CSkVDVF9XUklURSk7Cj4gKwlpZiAoZXJyKQo+ICsJCWdvdG8g c2tpcF9yZXF1ZXN0Owo+ICsKPiAgIAlpOTE1X2dlbV9vYmplY3Rfc2V0X2FjdGl2ZV9yZWZlcmVu Y2UoYmF0Y2gtPm9iaik7Cj4gICAJaTkxNV92bWFfdW5waW4oYmF0Y2gpOwo+ICAgCWk5MTVfdm1h X2Nsb3NlKGJhdGNoKTsKPiAgIAo+IC0JaTkxNV92bWFfbW92ZV90b19hY3RpdmUodm1hLCBycSwg RVhFQ19PQkpFQ1RfV1JJVEUpOwo+ICAgCWk5MTVfdm1hX3VucGluKHZtYSk7Cj4gICAKPiAgIAlp OTE1X3JlcXVlc3RfYWRkKHJxKTsKPiAgIAo+ICAgCXJldHVybiAwOwo+ICAgCj4gK3NraXBfcmVx dWVzdDoKPiArCWk5MTVfcmVxdWVzdF9za2lwKHJxLCBlcnIpOwo+ICAgZXJyX3JlcXVlc3Q6Cj4g ICAJaTkxNV9yZXF1ZXN0X2FkZChycSk7Cj4gICBlcnJfYmF0Y2g6Cj4gZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L3NlbGZ0ZXN0cy9pOTE1X2dlbV9vYmplY3QuYyBiL2RyaXZlcnMv Z3B1L2RybS9pOTE1L3NlbGZ0ZXN0cy9pOTE1X2dlbV9vYmplY3QuYwo+IGluZGV4IGZhNWEwNjU0 MzE0YS4uN2QwZGRlZjE1MTliIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L3Nl bGZ0ZXN0cy9pOTE1X2dlbV9vYmplY3QuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L3Nl bGZ0ZXN0cy9pOTE1X2dlbV9vYmplY3QuYwo+IEBAIC00NTQsMTMgKzQ1NCwxNCBAQCBzdGF0aWMg aW50IG1ha2Vfb2JqX2J1c3koc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaikKPiAgIAkJ cmV0dXJuIFBUUl9FUlIocnEpOwo+ICAgCX0KPiAgIAo+IC0JaTkxNV92bWFfbW92ZV90b19hY3Rp dmUodm1hLCBycSwgRVhFQ19PQkpFQ1RfV1JJVEUpOwo+ICsJZXJyID0gaTkxNV92bWFfbW92ZV90 b19hY3RpdmUodm1hLCBycSwgRVhFQ19PQkpFQ1RfV1JJVEUpOwo+ICAgCj4gICAJaTkxNV9yZXF1 ZXN0X2FkZChycSk7Cj4gICAKPiAtCWk5MTVfZ2VtX29iamVjdF9zZXRfYWN0aXZlX3JlZmVyZW5j ZShvYmopOwo+ICsJX19pOTE1X2dlbV9vYmplY3RfcmVsZWFzZV91bmxlc3NfYWN0aXZlKG9iaik7 Cj4gICAJaTkxNV92bWFfdW5waW4odm1hKTsKPiAtCXJldHVybiAwOwo+ICsKPiArCXJldHVybiBl cnI7Cj4gICB9Cj4gICAKPiAgIHN0YXRpYyBib29sIGFzc2VydF9tbWFwX29mZnNldChzdHJ1Y3Qg ZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSwKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5 MTUvc2VsZnRlc3RzL2k5MTVfcmVxdWVzdC5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvc2VsZnRl c3RzL2k5MTVfcmVxdWVzdC5jCj4gaW5kZXggNTIxYWU0YTkwZGRmLi5jMjdmNzdhMjRjZTAgMTAw NjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvc2VsZnRlc3RzL2k5MTVfcmVxdWVzdC5j Cj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvc2VsZnRlc3RzL2k5MTVfcmVxdWVzdC5jCj4g QEAgLTY3OCw3ICs2NzgsOSBAQCBzdGF0aWMgaW50IGxpdmVfYWxsX2VuZ2luZXModm9pZCAqYXJn KQo+ICAgCQkJaTkxNV9nZW1fb2JqZWN0X3NldF9hY3RpdmVfcmVmZXJlbmNlKGJhdGNoLT5vYmop Owo+ICAgCQl9Cj4gICAKPiAtCQlpOTE1X3ZtYV9tb3ZlX3RvX2FjdGl2ZShiYXRjaCwgcmVxdWVz dFtpZF0sIDApOwo+ICsJCWVyciA9IGk5MTVfdm1hX21vdmVfdG9fYWN0aXZlKGJhdGNoLCByZXF1 ZXN0W2lkXSwgMCk7Cj4gKwkJR0VNX0JVR19PTihlcnIpOwo+ICsKPiAgIAkJaTkxNV9yZXF1ZXN0 X2dldChyZXF1ZXN0W2lkXSk7Cj4gICAJCWk5MTVfcmVxdWVzdF9hZGQocmVxdWVzdFtpZF0pOwo+ ICAgCX0KPiBAQCAtNzg4LDcgKzc5MCw5IEBAIHN0YXRpYyBpbnQgbGl2ZV9zZXF1ZW50aWFsX2Vu Z2luZXModm9pZCAqYXJnKQo+ICAgCQlHRU1fQlVHX09OKGVycik7Cj4gICAJCXJlcXVlc3RbaWRd LT5iYXRjaCA9IGJhdGNoOwo+ICAgCj4gLQkJaTkxNV92bWFfbW92ZV90b19hY3RpdmUoYmF0Y2gs IHJlcXVlc3RbaWRdLCAwKTsKPiArCQllcnIgPSBpOTE1X3ZtYV9tb3ZlX3RvX2FjdGl2ZShiYXRj aCwgcmVxdWVzdFtpZF0sIDApOwo+ICsJCUdFTV9CVUdfT04oZXJyKTsKPiArCj4gICAJCWk5MTVf Z2VtX29iamVjdF9zZXRfYWN0aXZlX3JlZmVyZW5jZShiYXRjaC0+b2JqKTsKPiAgIAkJaTkxNV92 bWFfZ2V0KGJhdGNoKTsKPiAgIAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9z ZWxmdGVzdHMvaW50ZWxfaGFuZ2NoZWNrLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9zZWxmdGVz dHMvaW50ZWxfaGFuZ2NoZWNrLmMKPiBpbmRleCBmZTdkMzE5MGViZmUuLmUxMWRmMjc0MzcwNCAx MDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9zZWxmdGVzdHMvaW50ZWxfaGFuZ2No ZWNrLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9zZWxmdGVzdHMvaW50ZWxfaGFuZ2No ZWNrLmMKPiBAQCAtMTMwLDEzICsxMzAsMTkgQEAgc3RhdGljIGludCBlbWl0X3JlY3Vyc2VfYmF0 Y2goc3RydWN0IGhhbmcgKmgsCj4gICAJaWYgKGVycikKPiAgIAkJZ290byB1bnBpbl92bWE7Cj4g ICAKPiAtCWk5MTVfdm1hX21vdmVfdG9fYWN0aXZlKHZtYSwgcnEsIDApOwo+ICsJZXJyID0gaTkx NV92bWFfbW92ZV90b19hY3RpdmUodm1hLCBycSwgMCk7Cj4gKwlpZiAoZXJyKQo+ICsJCWdvdG8g dW5waW5faHdzOwo+ICsKPiAgIAlpZiAoIWk5MTVfZ2VtX29iamVjdF9oYXNfYWN0aXZlX3JlZmVy ZW5jZSh2bWEtPm9iaikpIHsKPiAgIAkJaTkxNV9nZW1fb2JqZWN0X2dldCh2bWEtPm9iaik7Cj4g ICAJCWk5MTVfZ2VtX29iamVjdF9zZXRfYWN0aXZlX3JlZmVyZW5jZSh2bWEtPm9iaik7Cj4gICAJ fQo+ICAgCj4gLQlpOTE1X3ZtYV9tb3ZlX3RvX2FjdGl2ZShod3MsIHJxLCAwKTsKPiArCWVyciA9 IGk5MTVfdm1hX21vdmVfdG9fYWN0aXZlKGh3cywgcnEsIDApOwo+ICsJaWYgKGVycikKPiArCQln b3RvIHVucGluX2h3czsKPiArCj4gICAJaWYgKCFpOTE1X2dlbV9vYmplY3RfaGFzX2FjdGl2ZV9y ZWZlcmVuY2UoaHdzLT5vYmopKSB7Cj4gICAJCWk5MTVfZ2VtX29iamVjdF9nZXQoaHdzLT5vYmop Owo+ICAgCQlpOTE1X2dlbV9vYmplY3Rfc2V0X2FjdGl2ZV9yZWZlcmVuY2UoaHdzLT5vYmopOwo+ IEBAIC0yMDUsNiArMjExLDcgQEAgc3RhdGljIGludCBlbWl0X3JlY3Vyc2VfYmF0Y2goc3RydWN0 IGhhbmcgKmgsCj4gICAKPiAgIAllcnIgPSBycS0+ZW5naW5lLT5lbWl0X2JiX3N0YXJ0KHJxLCB2 bWEtPm5vZGUuc3RhcnQsIFBBR0VfU0laRSwgZmxhZ3MpOwo+ICAgCj4gK3VucGluX2h3czoKPiAg IAlpOTE1X3ZtYV91bnBpbihod3MpOwo+ICAgdW5waW5fdm1hOgo+ICAgCWk5MTVfdm1hX3VucGlu KHZtYSk7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L3NlbGZ0ZXN0cy9pbnRl bF9scmMuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L3NlbGZ0ZXN0cy9pbnRlbF9scmMuYwo+IGlu ZGV4IGVhMjdjN2NmYmY5Ni4uYjM0ZjdhYzY2MzFlIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L3NlbGZ0ZXN0cy9pbnRlbF9scmMuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9p OTE1L3NlbGZ0ZXN0cy9pbnRlbF9scmMuYwo+IEBAIC0xMDQsMTMgKzEwNCwxOSBAQCBzdGF0aWMg aW50IGVtaXRfcmVjdXJzZV9iYXRjaChzdHJ1Y3Qgc3Bpbm5lciAqc3BpbiwKPiAgIAlpZiAoZXJy KQo+ICAgCQlnb3RvIHVucGluX3ZtYTsKPiAgIAo+IC0JaTkxNV92bWFfbW92ZV90b19hY3RpdmUo dm1hLCBycSwgMCk7Cj4gKwllcnIgPSBpOTE1X3ZtYV9tb3ZlX3RvX2FjdGl2ZSh2bWEsIHJxLCAw KTsKPiArCWlmIChlcnIpCj4gKwkJZ290byB1bnBpbl9od3M7Cj4gKwo+ICAgCWlmICghaTkxNV9n ZW1fb2JqZWN0X2hhc19hY3RpdmVfcmVmZXJlbmNlKHZtYS0+b2JqKSkgewo+ICAgCQlpOTE1X2dl bV9vYmplY3RfZ2V0KHZtYS0+b2JqKTsKPiAgIAkJaTkxNV9nZW1fb2JqZWN0X3NldF9hY3RpdmVf cmVmZXJlbmNlKHZtYS0+b2JqKTsKPiAgIAl9Cj4gICAKPiAtCWk5MTVfdm1hX21vdmVfdG9fYWN0 aXZlKGh3cywgcnEsIDApOwo+ICsJZXJyID0gaTkxNV92bWFfbW92ZV90b19hY3RpdmUoaHdzLCBy cSwgMCk7Cj4gKwlpZiAoZXJyKQo+ICsJCWdvdG8gdW5waW5faHdzOwo+ICsKPiAgIAlpZiAoIWk5 MTVfZ2VtX29iamVjdF9oYXNfYWN0aXZlX3JlZmVyZW5jZShod3MtPm9iaikpIHsKPiAgIAkJaTkx NV9nZW1fb2JqZWN0X2dldChod3MtPm9iaik7Cj4gICAJCWk5MTVfZ2VtX29iamVjdF9zZXRfYWN0 aXZlX3JlZmVyZW5jZShod3MtPm9iaik7Cj4gQEAgLTEzNCw2ICsxNDAsNyBAQCBzdGF0aWMgaW50 IGVtaXRfcmVjdXJzZV9iYXRjaChzdHJ1Y3Qgc3Bpbm5lciAqc3BpbiwKPiAgIAo+ICAgCWVyciA9 IHJxLT5lbmdpbmUtPmVtaXRfYmJfc3RhcnQocnEsIHZtYS0+bm9kZS5zdGFydCwgUEFHRV9TSVpF LCAwKTsKPiAgIAo+ICt1bnBpbl9od3M6Cj4gICAJaTkxNV92bWFfdW5waW4oaHdzKTsKPiAgIHVu cGluX3ZtYToKPiAgIAlpOTE1X3ZtYV91bnBpbih2bWEpOwo+IGRpZmYgLS1naXQgYS9kcml2ZXJz L2dwdS9kcm0vaTkxNS9zZWxmdGVzdHMvaW50ZWxfd29ya2Fyb3VuZHMuYyBiL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L3NlbGZ0ZXN0cy9pbnRlbF93b3JrYXJvdW5kcy5jCj4gaW5kZXggZTFlYTJkMmJl ZGQyLi5jMTAwMTUzY2I0OTQgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvc2Vs ZnRlc3RzL2ludGVsX3dvcmthcm91bmRzLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9z ZWxmdGVzdHMvaW50ZWxfd29ya2Fyb3VuZHMuYwo+IEBAIC00OSw2ICs0OSwxMCBAQCByZWFkX25v bnByaXZzKHN0cnVjdCBpOTE1X2dlbV9jb250ZXh0ICpjdHgsIHN0cnVjdCBpbnRlbF9lbmdpbmVf Y3MgKmVuZ2luZSkKPiAgIAkJZ290byBlcnJfcGluOwo+ICAgCX0KPiAgIAo+ICsJZXJyID0gaTkx NV92bWFfbW92ZV90b19hY3RpdmUodm1hLCBycSwgRVhFQ19PQkpFQ1RfV1JJVEUpOwo+ICsJaWYg KGVycikKPiArCQlnb3RvIGVycl9yZXE7Cj4gKwo+ICAgCXNybSA9IE1JX1NUT1JFX1JFR0lTVEVS X01FTSB8IE1JX1NSTV9MUk1fR0xPQkFMX0dUVDsKPiAgIAlpZiAoSU5URUxfR0VOKGN0eC0+aTkx NSkgPj0gOCkKPiAgIAkJc3JtKys7Cj4gQEAgLTY3LDcgKzcxLDYgQEAgcmVhZF9ub25wcml2cyhz dHJ1Y3QgaTkxNV9nZW1fY29udGV4dCAqY3R4LCBzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdp bmUpCj4gICAJfQo+ICAgCWludGVsX3JpbmdfYWR2YW5jZShycSwgY3MpOwo+ICAgCj4gLQlpOTE1 X3ZtYV9tb3ZlX3RvX2FjdGl2ZSh2bWEsIHJxLCBFWEVDX09CSkVDVF9XUklURSk7Cj4gICAJcmVz ZXJ2YXRpb25fb2JqZWN0X2xvY2sodm1hLT5yZXN2LCBOVUxMKTsKPiAgIAlyZXNlcnZhdGlvbl9v YmplY3RfYWRkX2V4Y2xfZmVuY2Uodm1hLT5yZXN2LCAmcnEtPmZlbmNlKTsKPiAgIAlyZXNlcnZh dGlvbl9vYmplY3RfdW5sb2NrKHZtYS0+cmVzdik7CgpIbSwgYWJvdmUgdGhyZWUgbGluZXMgc2hv dWxkIGhhdmUgYmVlbiBudWtlZCBpbiBleHBvcnRfZmVuY2UgbWVyZ2Ugd2l0aCAKaTkxNV92bWFf bW92ZV90b19hY3RpdmVfcGF0Y2guLgoKT3RoZXJ3aXNlLCBnYXZlIHItYiBmb3IgdGhpcyBvbmUg YWxyZWFkeToKClJldmlld2VkLWJ5OiBUdnJ0a28gVXJzdWxpbiA8dHZydGtvLnVyc3VsaW5AaW50 ZWwuY29tPgoKUmVnYXJkcywKClR2cnRrbwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5m cmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0 aW5mby9pbnRlbC1nZngK