From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tvrtko Ursulin Subject: Re: [PATCH 14/34] drm/i915: Pull VM lists under the VM mutex. Date: Tue, 22 Jan 2019 09:09:23 +0000 Message-ID: References: <20190121222117.23305-1-chris@chris-wilson.co.uk> <20190121222117.23305-15-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 ESMTPS id 7202F6EBF3 for ; Tue, 22 Jan 2019 09:09:21 +0000 (UTC) In-Reply-To: <20190121222117.23305-15-chris@chris-wilson.co.uk> Content-Language: en-US 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 Ck9uIDIxLzAxLzIwMTkgMjI6MjAsIENocmlzIFdpbHNvbiB3cm90ZToKPiBBIHN0YXJ0aW5nIHBv aW50IHRvIGNvdW50ZXIgdGhlIHBlcnZhc2l2ZSBzdHJ1Y3RfbXV0ZXguIEZvciB0aGUgZ29hbCBv Zgo+IGF2b2lkaW5nIChvciBhdCBsZWFzdCBibG9ja2luZyB1bmRlciB0aGVtISkgZ2xvYmFsIGxv Y2tzIGR1cmluZyB1c2VyCj4gcmVxdWVzdCBzdWJtaXNzaW9uLCBhIHNpbXBsZSBidXQgaW1wb3J0 YW50IHN0ZXAgaXMgYmVpbmcgYWJsZSB0byBtYW5hZ2UKPiBlYWNoIGNsaWVudHMgR1RUIHNlcGFy YXRlbHkuIEZvciB3aGljaCwgd2Ugd2FudCB0byByZXBsYWNlIHVzaW5nIHRoZQo+IHN0cnVjdF9t dXRleCBhcyB0aGUgZ3VhcmQgZm9yIGFsbCB0aGluZ3MgR1RUL1ZNIGFuZCBzd2l0Y2ggaW5zdGVh ZCB0byBhCj4gc3BlY2lmaWMgbXV0ZXggaW5zaWRlIGk5MTVfYWRkcmVzc19zcGFjZS4KPiAKPiBT aWduZWQtb2ZmLWJ5OiBDaHJpcyBXaWxzb24gPGNocmlzQGNocmlzLXdpbHNvbi5jby51az4KClJl dmlld2VkLWJ5OiBUdnJ0a28gVXJzdWxpbiA8dHZydGtvLnVyc3VsaW5AaW50ZWwuY29tPgoKUmVn YXJkcywKClR2cnRrbwoKPiAtLS0KPiAgIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMg ICAgICAgICAgICAgICAgIHwgMTQgKysrKysrKystLS0tLS0KPiAgIGRyaXZlcnMvZ3B1L2RybS9p OTE1L2k5MTVfZ2VtX2V2aWN0LmMgICAgICAgICAgIHwgIDIgKysKPiAgIGRyaXZlcnMvZ3B1L2Ry bS9pOTE1L2k5MTVfZ2VtX2d0dC5jICAgICAgICAgICAgIHwgMTUgKysrKysrKysrKysrKy0tCj4g ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9zaHJpbmtlci5jICAgICAgICB8ICA0ICsr KysKPiAgIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX3N0b2xlbi5jICAgICAgICAgIHwg IDIgKysKPiAgIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfdm1hLmMgICAgICAgICAgICAgICAg IHwgMTEgKysrKysrKysrKysKPiAgIGRyaXZlcnMvZ3B1L2RybS9pOTE1L3NlbGZ0ZXN0cy9pOTE1 X2dlbV9ldmljdC5jIHwgIDMgKysrCj4gICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9zZWxmdGVzdHMv aTkxNV9nZW1fZ3R0LmMgICB8ICAzICsrKwo+ICAgOCBmaWxlcyBjaGFuZ2VkLCA0NiBpbnNlcnRp b25zKCspLCA4IGRlbGV0aW9ucygtKQo+IAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pOTE1X2dlbS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW0uYwo+IGluZGV4 IGY0NTE4NmRkYjIzNi4uNTM4ZmE1NDA0NjAzIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2k5MTVfZ2VtLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbS5j Cj4gQEAgLTI0NSwxOCArMjQ1LDE5IEBAIGludAo+ICAgaTkxNV9nZW1fZ2V0X2FwZXJ0dXJlX2lv Y3RsKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHZvaWQgKmRhdGEsCj4gICAJCQkgICAgc3RydWN0 IGRybV9maWxlICpmaWxlKQo+ICAgewo+IC0Jc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9w cml2ID0gdG9faTkxNShkZXYpOwo+IC0Jc3RydWN0IGk5MTVfZ2d0dCAqZ2d0dCA9ICZkZXZfcHJp di0+Z2d0dDsKPiArCXN0cnVjdCBpOTE1X2dndHQgKmdndHQgPSAmdG9faTkxNShkZXYpLT5nZ3R0 Owo+ICAgCXN0cnVjdCBkcm1faTkxNV9nZW1fZ2V0X2FwZXJ0dXJlICphcmdzID0gZGF0YTsKPiAg IAlzdHJ1Y3QgaTkxNV92bWEgKnZtYTsKPiAgIAl1NjQgcGlubmVkOwo+ICAgCj4gKwltdXRleF9s b2NrKCZnZ3R0LT52bS5tdXRleCk7Cj4gKwo+ICAgCXBpbm5lZCA9IGdndHQtPnZtLnJlc2VydmVk Owo+IC0JbXV0ZXhfbG9jaygmZGV2LT5zdHJ1Y3RfbXV0ZXgpOwo+ICAgCWxpc3RfZm9yX2VhY2hf ZW50cnkodm1hLCAmZ2d0dC0+dm0uYm91bmRfbGlzdCwgdm1fbGluaykKPiAgIAkJaWYgKGk5MTVf dm1hX2lzX3Bpbm5lZCh2bWEpKQo+ICAgCQkJcGlubmVkICs9IHZtYS0+bm9kZS5zaXplOwo+IC0J bXV0ZXhfdW5sb2NrKCZkZXYtPnN0cnVjdF9tdXRleCk7Cj4gKwo+ICsJbXV0ZXhfdW5sb2NrKCZn Z3R0LT52bS5tdXRleCk7Cj4gICAKPiAgIAlhcmdzLT5hcGVyX3NpemUgPSBnZ3R0LT52bS50b3Rh bDsKPiAgIAlhcmdzLT5hcGVyX2F2YWlsYWJsZV9zaXplID0gYXJncy0+YXBlcl9zaXplIC0gcGlu bmVkOwo+IEBAIC0xNTI5LDIwICsxNTMwLDIxIEBAIGk5MTVfZ2VtX3B3cml0ZV9pb2N0bChzdHJ1 Y3QgZHJtX2RldmljZSAqZGV2LCB2b2lkICpkYXRhLAo+ICAgCj4gICBzdGF0aWMgdm9pZCBpOTE1 X2dlbV9vYmplY3RfYnVtcF9pbmFjdGl2ZV9nZ3R0KHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0 ICpvYmopCj4gICB7Cj4gLQlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNTsKPiArCXN0cnVj dCBkcm1faTkxNV9wcml2YXRlICppOTE1ID0gdG9faTkxNShvYmotPmJhc2UuZGV2KTsKPiAgIAlz dHJ1Y3QgbGlzdF9oZWFkICpsaXN0Owo+ICAgCXN0cnVjdCBpOTE1X3ZtYSAqdm1hOwo+ICAgCj4g ICAJR0VNX0JVR19PTighaTkxNV9nZW1fb2JqZWN0X2hhc19waW5uZWRfcGFnZXMob2JqKSk7Cj4g ICAKPiArCW11dGV4X2xvY2soJmk5MTUtPmdndHQudm0ubXV0ZXgpOwo+ICAgCWZvcl9lYWNoX2dn dHRfdm1hKHZtYSwgb2JqKSB7Cj4gICAJCWlmICghZHJtX21tX25vZGVfYWxsb2NhdGVkKCZ2bWEt Pm5vZGUpKQo+ICAgCQkJY29udGludWU7Cj4gICAKPiAgIAkJbGlzdF9tb3ZlX3RhaWwoJnZtYS0+ dm1fbGluaywgJnZtYS0+dm0tPmJvdW5kX2xpc3QpOwo+ICAgCX0KPiArCW11dGV4X3VubG9jaygm aTkxNS0+Z2d0dC52bS5tdXRleCk7Cj4gICAKPiAtCWk5MTUgPSB0b19pOTE1KG9iai0+YmFzZS5k ZXYpOwo+ICAgCXNwaW5fbG9jaygmaTkxNS0+bW0ub2JqX2xvY2spOwo+ICAgCWxpc3QgPSBvYmot PmJpbmRfY291bnQgPyAmaTkxNS0+bW0uYm91bmRfbGlzdCA6ICZpOTE1LT5tbS51bmJvdW5kX2xp c3Q7Cj4gICAJbGlzdF9tb3ZlX3RhaWwoJm9iai0+bW0ubGluaywgbGlzdCk7Cj4gZGlmZiAtLWdp dCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2V2aWN0LmMgYi9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pOTE1X2dlbV9ldmljdC5jCj4gaW5kZXggNWNmZTRiNzVlN2Q2Li5kYzEzNzcwMWFj YjggMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZXZpY3QuYwo+ ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2V2aWN0LmMKPiBAQCAtNDMyLDYg KzQzMiw3IEBAIGludCBpOTE1X2dlbV9ldmljdF92bShzdHJ1Y3QgaTkxNV9hZGRyZXNzX3NwYWNl ICp2bSkKPiAgIAl9Cj4gICAKPiAgIAlJTklUX0xJU1RfSEVBRCgmZXZpY3Rpb25fbGlzdCk7Cj4g KwltdXRleF9sb2NrKCZ2bS0+bXV0ZXgpOwo+ICAgCWxpc3RfZm9yX2VhY2hfZW50cnkodm1hLCAm dm0tPmJvdW5kX2xpc3QsIHZtX2xpbmspIHsKPiAgIAkJaWYgKGk5MTVfdm1hX2lzX3Bpbm5lZCh2 bWEpKQo+ICAgCQkJY29udGludWU7Cj4gQEAgLTQzOSw2ICs0NDAsNyBAQCBpbnQgaTkxNV9nZW1f ZXZpY3Rfdm0oc3RydWN0IGk5MTVfYWRkcmVzc19zcGFjZSAqdm0pCj4gICAJCV9faTkxNV92bWFf cGluKHZtYSk7Cj4gICAJCWxpc3RfYWRkKCZ2bWEtPmV2aWN0X2xpbmssICZldmljdGlvbl9saXN0 KTsKPiAgIAl9Cj4gKwltdXRleF91bmxvY2soJnZtLT5tdXRleCk7Cj4gICAKPiAgIAlyZXQgPSAw Owo+ICAgCWxpc3RfZm9yX2VhY2hfZW50cnlfc2FmZSh2bWEsIG5leHQsICZldmljdGlvbl9saXN0 LCBldmljdF9saW5rKSB7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVf Z2VtX2d0dC5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZ3R0LmMKPiBpbmRleCAy YWQ5MDcwYTU0YzEuLjQ5YjAwOTk2YTE1ZSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pOTE1X2dlbV9ndHQuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2Vt X2d0dC5jCj4gQEAgLTE5MzEsNyArMTkzMSwxMCBAQCBzdGF0aWMgc3RydWN0IGk5MTVfdm1hICpw ZF92bWFfY3JlYXRlKHN0cnVjdCBnZW42X2h3X3BwZ3R0ICpwcGd0dCwgaW50IHNpemUpCj4gICAJ dm1hLT5nZ3R0X3ZpZXcudHlwZSA9IEk5MTVfR0dUVF9WSUVXX1JPVEFURUQ7IC8qIHByZXZlbnQg ZmVuY2luZyAqLwo+ICAgCj4gICAJSU5JVF9MSVNUX0hFQUQoJnZtYS0+b2JqX2xpbmspOwo+ICsK PiArCW11dGV4X2xvY2soJnZtYS0+dm0tPm11dGV4KTsKPiAgIAlsaXN0X2FkZCgmdm1hLT52bV9s aW5rLCAmdm1hLT52bS0+dW5ib3VuZF9saXN0KTsKPiArCW11dGV4X3VubG9jaygmdm1hLT52bS0+ bXV0ZXgpOwo+ICAgCj4gICAJcmV0dXJuIHZtYTsKPiAgIH0KPiBAQCAtMzUwNCw5ICszNTA3LDEw IEBAIHZvaWQgaTkxNV9nZW1fcmVzdG9yZV9ndHRfbWFwcGluZ3Moc3RydWN0IGRybV9pOTE1X3By aXZhdGUgKmRldl9wcml2KQo+ICAgCj4gICAJaTkxNV9jaGVja19hbmRfY2xlYXJfZmF1bHRzKGRl dl9wcml2KTsKPiAgIAo+ICsJbXV0ZXhfbG9jaygmZ2d0dC0+dm0ubXV0ZXgpOwo+ICsKPiAgIAkv KiBGaXJzdCBmaWxsIG91ciBwb3J0aW9uIG9mIHRoZSBHVFQgd2l0aCBzY3JhdGNoIHBhZ2VzICov Cj4gICAJZ2d0dC0+dm0uY2xlYXJfcmFuZ2UoJmdndHQtPnZtLCAwLCBnZ3R0LT52bS50b3RhbCk7 Cj4gLQo+ICAgCWdndHQtPnZtLmNsb3NlZCA9IHRydWU7IC8qIHNraXAgcmV3cml0aW5nIFBURSBv biBWTUEgdW5iaW5kICovCj4gICAKPiAgIAkvKiBjbGZsdXNoIG9iamVjdHMgYm91bmQgaW50byB0 aGUgR0dUVCBhbmQgcmViaW5kIHRoZW0uICovCj4gQEAgLTM1MTYsMTkgKzM1MjAsMjYgQEAgdm9p ZCBpOTE1X2dlbV9yZXN0b3JlX2d0dF9tYXBwaW5ncyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAq ZGV2X3ByaXYpCj4gICAJCWlmICghKHZtYS0+ZmxhZ3MgJiBJOTE1X1ZNQV9HTE9CQUxfQklORCkp Cj4gICAJCQljb250aW51ZTsKPiAgIAo+ICsJCW11dGV4X3VubG9jaygmZ2d0dC0+dm0ubXV0ZXgp Owo+ICsKPiAgIAkJaWYgKCFpOTE1X3ZtYV91bmJpbmQodm1hKSkKPiAtCQkJY29udGludWU7Cj4g KwkJCWdvdG8gbG9jazsKPiAgIAo+ICAgCQlXQVJOX09OKGk5MTVfdm1hX2JpbmQodm1hLAo+ICAg CQkJCSAgICAgIG9iaiA/IG9iai0+Y2FjaGVfbGV2ZWwgOiAwLAo+ICAgCQkJCSAgICAgIFBJTl9V UERBVEUpKTsKPiAgIAkJaWYgKG9iaikKPiAgIAkJCVdBUk5fT04oaTkxNV9nZW1fb2JqZWN0X3Nl dF90b19ndHRfZG9tYWluKG9iaiwgZmFsc2UpKTsKPiArCj4gK2xvY2s6Cj4gKwkJbXV0ZXhfbG9j aygmZ2d0dC0+dm0ubXV0ZXgpOwo+ICAgCX0KPiAgIAo+ICAgCWdndHQtPnZtLmNsb3NlZCA9IGZh bHNlOwo+ICAgCWk5MTVfZ2d0dF9pbnZhbGlkYXRlKGRldl9wcml2KTsKPiAgIAo+ICsJbXV0ZXhf dW5sb2NrKCZnZ3R0LT52bS5tdXRleCk7Cj4gKwo+ICAgCWlmIChJTlRFTF9HRU4oZGV2X3ByaXYp ID49IDgpIHsKPiAgIAkJc3RydWN0IGludGVsX3BwYXQgKnBwYXQgPSAmZGV2X3ByaXYtPnBwYXQ7 Cj4gICAKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fc2hyaW5r ZXIuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX3Nocmlua2VyLmMKPiBpbmRleCBh NzZkNmM5NWM4MjQuLjZkYTc5NWM3ZTYyZSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pOTE1X2dlbV9zaHJpbmtlci5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkx NV9nZW1fc2hyaW5rZXIuYwo+IEBAIC00NjEsNiArNDYxLDcgQEAgaTkxNV9nZW1fc2hyaW5rZXJf dm1hcChzdHJ1Y3Qgbm90aWZpZXJfYmxvY2sgKm5iLCB1bnNpZ25lZCBsb25nIGV2ZW50LCB2b2lk ICpwdHIKPiAgIAkJCQkJICAgICAgIEk5MTVfU0hSSU5LX1ZNQVBTKTsKPiAgIAo+ICAgCS8qIFdl IGFsc28gd2FudCB0byBjbGVhciBhbnkgY2FjaGVkIGlvbWFwcyBhcyB0aGV5IHdyYXAgdm1hcCAq Lwo+ICsJbXV0ZXhfbG9jaygmaTkxNS0+Z2d0dC52bS5tdXRleCk7Cj4gICAJbGlzdF9mb3JfZWFj aF9lbnRyeV9zYWZlKHZtYSwgbmV4dCwKPiAgIAkJCQkgJmk5MTUtPmdndHQudm0uYm91bmRfbGlz dCwgdm1fbGluaykgewo+ICAgCQl1bnNpZ25lZCBsb25nIGNvdW50ID0gdm1hLT5ub2RlLnNpemUg Pj4gUEFHRV9TSElGVDsKPiBAQCAtNDY4LDkgKzQ2OSwxMiBAQCBpOTE1X2dlbV9zaHJpbmtlcl92 bWFwKHN0cnVjdCBub3RpZmllcl9ibG9jayAqbmIsIHVuc2lnbmVkIGxvbmcgZXZlbnQsIHZvaWQg KnB0cgo+ICAgCQlpZiAoIXZtYS0+aW9tYXAgfHwgaTkxNV92bWFfaXNfYWN0aXZlKHZtYSkpCj4g ICAJCQljb250aW51ZTsKPiAgIAo+ICsJCW11dGV4X3VubG9jaygmaTkxNS0+Z2d0dC52bS5tdXRl eCk7Cj4gICAJCWlmIChpOTE1X3ZtYV91bmJpbmQodm1hKSA9PSAwKQo+ICAgCQkJZnJlZWRfcGFn ZXMgKz0gY291bnQ7Cj4gKwkJbXV0ZXhfbG9jaygmaTkxNS0+Z2d0dC52bS5tdXRleCk7Cj4gICAJ fQo+ICsJbXV0ZXhfdW5sb2NrKCZpOTE1LT5nZ3R0LnZtLm11dGV4KTsKPiAgIAo+ICAgb3V0Ogo+ ICAgCXNocmlua2VyX3VubG9jayhpOTE1LCB1bmxvY2spOwo+IGRpZmYgLS1naXQgYS9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9zdG9sZW4uYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5 MTVfZ2VtX3N0b2xlbi5jCj4gaW5kZXggYTllMzY1Nzg5Njg2Li43NGE5NjYxNDc5Y2EgMTAwNjQ0 Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fc3RvbGVuLmMKPiArKysgYi9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9zdG9sZW4uYwo+IEBAIC03MDIsNyArNzAyLDkg QEAgaTkxNV9nZW1fb2JqZWN0X2NyZWF0ZV9zdG9sZW5fZm9yX3ByZWFsbG9jYXRlZChzdHJ1Y3Qg ZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYKPiAgIAl2bWEtPmZsYWdzIHw9IEk5MTVfVk1BX0dM T0JBTF9CSU5EOwo+ICAgCV9faTkxNV92bWFfc2V0X21hcF9hbmRfZmVuY2VhYmxlKHZtYSk7Cj4g ICAKPiArCW11dGV4X2xvY2soJmdndHQtPnZtLm11dGV4KTsKPiAgIAlsaXN0X21vdmVfdGFpbCgm dm1hLT52bV9saW5rLCAmZ2d0dC0+dm0uYm91bmRfbGlzdCk7Cj4gKwltdXRleF91bmxvY2soJmdn dHQtPnZtLm11dGV4KTsKPiAgIAo+ICAgCXNwaW5fbG9jaygmZGV2X3ByaXYtPm1tLm9ial9sb2Nr KTsKPiAgIAlsaXN0X21vdmVfdGFpbCgmb2JqLT5tbS5saW5rLCAmZGV2X3ByaXYtPm1tLmJvdW5k X2xpc3QpOwo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3ZtYS5jIGIv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV92bWEuYwo+IGluZGV4IDdkZTI4YmFmZmI4Zi4uZGNi ZDBkMzQ1YzcyIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfdm1hLmMK PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3ZtYS5jCj4gQEAgLTIxMyw3ICsyMTMs MTAgQEAgdm1hX2NyZWF0ZShzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqLAo+ICAgCX0K PiAgIAlyYl9saW5rX25vZGUoJnZtYS0+b2JqX25vZGUsIHJiLCBwKTsKPiAgIAlyYl9pbnNlcnRf Y29sb3IoJnZtYS0+b2JqX25vZGUsICZvYmotPnZtYV90cmVlKTsKPiArCj4gKwltdXRleF9sb2Nr KCZ2bS0+bXV0ZXgpOwo+ICAgCWxpc3RfYWRkKCZ2bWEtPnZtX2xpbmssICZ2bS0+dW5ib3VuZF9s aXN0KTsKPiArCW11dGV4X3VubG9jaygmdm0tPm11dGV4KTsKPiAgIAo+ICAgCXJldHVybiB2bWE7 Cj4gICAKPiBAQCAtNjU2LDcgKzY1OSw5IEBAIGk5MTVfdm1hX2luc2VydChzdHJ1Y3QgaTkxNV92 bWEgKnZtYSwgdTY0IHNpemUsIHU2NCBhbGlnbm1lbnQsIHU2NCBmbGFncykKPiAgIAlHRU1fQlVH X09OKCFkcm1fbW1fbm9kZV9hbGxvY2F0ZWQoJnZtYS0+bm9kZSkpOwo+ICAgCUdFTV9CVUdfT04o IWk5MTVfZ2VtX3ZhbGlkX2d0dF9zcGFjZSh2bWEsIGNhY2hlX2xldmVsKSk7Cj4gICAKPiArCW11 dGV4X2xvY2soJnZtYS0+dm0tPm11dGV4KTsKPiAgIAlsaXN0X21vdmVfdGFpbCgmdm1hLT52bV9s aW5rLCAmdm1hLT52bS0+Ym91bmRfbGlzdCk7Cj4gKwltdXRleF91bmxvY2soJnZtYS0+dm0tPm11 dGV4KTsKPiAgIAo+ICAgCWlmICh2bWEtPm9iaikgewo+ICAgCQlzdHJ1Y3QgZHJtX2k5MTVfZ2Vt X29iamVjdCAqb2JqID0gdm1hLT5vYmo7Cj4gQEAgLTY4OSw4ICs2OTQsMTAgQEAgaTkxNV92bWFf cmVtb3ZlKHN0cnVjdCBpOTE1X3ZtYSAqdm1hKQo+ICAgCj4gICAJdm1hLT5vcHMtPmNsZWFyX3Bh Z2VzKHZtYSk7Cj4gICAKPiArCW11dGV4X2xvY2soJnZtYS0+dm0tPm11dGV4KTsKPiAgIAlkcm1f bW1fcmVtb3ZlX25vZGUoJnZtYS0+bm9kZSk7Cj4gICAJbGlzdF9tb3ZlX3RhaWwoJnZtYS0+dm1f bGluaywgJnZtYS0+dm0tPnVuYm91bmRfbGlzdCk7Cj4gKwltdXRleF91bmxvY2soJnZtYS0+dm0t Pm11dGV4KTsKPiAgIAo+ICAgCS8qCj4gICAJICogU2luY2UgdGhlIHVuYm91bmQgbGlzdCBpcyBn bG9iYWwsIG9ubHkgbW92ZSB0byB0aGF0IGxpc3QgaWYKPiBAQCAtODAyLDcgKzgwOSwxMSBAQCBz dGF0aWMgdm9pZCBfX2k5MTVfdm1hX2Rlc3Ryb3koc3RydWN0IGk5MTVfdm1hICp2bWEpCj4gICAJ R0VNX0JVR19PTihpOTE1X2dlbV9hY3RpdmVfaXNzZXQoJnZtYS0+bGFzdF9mZW5jZSkpOwo+ICAg Cj4gICAJbGlzdF9kZWwoJnZtYS0+b2JqX2xpbmspOwo+ICsKPiArCW11dGV4X2xvY2soJnZtYS0+ dm0tPm11dGV4KTsKPiAgIAlsaXN0X2RlbCgmdm1hLT52bV9saW5rKTsKPiArCW11dGV4X3VubG9j aygmdm1hLT52bS0+bXV0ZXgpOwo+ICsKPiAgIAlpZiAodm1hLT5vYmopCj4gICAJCXJiX2VyYXNl KCZ2bWEtPm9ial9ub2RlLCAmdm1hLT5vYmotPnZtYV90cmVlKTsKPiAgIAo+IGRpZmYgLS1naXQg YS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9zZWxmdGVzdHMvaTkxNV9nZW1fZXZpY3QuYyBiL2RyaXZl cnMvZ3B1L2RybS9pOTE1L3NlbGZ0ZXN0cy9pOTE1X2dlbV9ldmljdC5jCj4gaW5kZXggYWY5Yjg1 Y2I4NjM5Li4zMmRjZTcxNzZmNjMgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUv c2VsZnRlc3RzL2k5MTVfZ2VtX2V2aWN0LmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9z ZWxmdGVzdHMvaTkxNV9nZW1fZXZpY3QuYwo+IEBAIC05NCwxMSArOTQsMTQgQEAgc3RhdGljIGlu dCBwb3B1bGF0ZV9nZ3R0KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1LAo+ICAgCj4gICBz dGF0aWMgdm9pZCB1bnBpbl9nZ3R0KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1KQo+ICAg ewo+ICsJc3RydWN0IGk5MTVfZ2d0dCAqZ2d0dCA9ICZpOTE1LT5nZ3R0Owo+ICAgCXN0cnVjdCBp OTE1X3ZtYSAqdm1hOwo+ICAgCj4gKwltdXRleF9sb2NrKCZnZ3R0LT52bS5tdXRleCk7Cj4gICAJ bGlzdF9mb3JfZWFjaF9lbnRyeSh2bWEsICZpOTE1LT5nZ3R0LnZtLmJvdW5kX2xpc3QsIHZtX2xp bmspCj4gICAJCWlmICh2bWEtPm9iai0+bW0ucXVpcmtlZCkKPiAgIAkJCWk5MTVfdm1hX3VucGlu KHZtYSk7Cj4gKwltdXRleF91bmxvY2soJmdndHQtPnZtLm11dGV4KTsKPiAgIH0KPiAgIAo+ICAg c3RhdGljIHZvaWQgY2xlYW51cF9vYmplY3RzKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1 LAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9zZWxmdGVzdHMvaTkxNV9nZW1f Z3R0LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9zZWxmdGVzdHMvaTkxNV9nZW1fZ3R0LmMKPiBp bmRleCA4ZmViNGFmMzA4ZmYuLjM4NTBlZjRhNWVjOCAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9zZWxmdGVzdHMvaTkxNV9nZW1fZ3R0LmMKPiArKysgYi9kcml2ZXJzL2dwdS9k cm0vaTkxNS9zZWxmdGVzdHMvaTkxNV9nZW1fZ3R0LmMKPiBAQCAtMTIzNyw3ICsxMjM3LDEwIEBA IHN0YXRpYyB2b2lkIHRyYWNrX3ZtYV9iaW5kKHN0cnVjdCBpOTE1X3ZtYSAqdm1hKQo+ICAgCV9f aTkxNV9nZW1fb2JqZWN0X3Bpbl9wYWdlcyhvYmopOwo+ICAgCj4gICAJdm1hLT5wYWdlcyA9IG9i ai0+bW0ucGFnZXM7Cj4gKwo+ICsJbXV0ZXhfbG9jaygmdm1hLT52bS0+bXV0ZXgpOwo+ICAgCWxp c3RfbW92ZV90YWlsKCZ2bWEtPnZtX2xpbmssICZ2bWEtPnZtLT5ib3VuZF9saXN0KTsKPiArCW11 dGV4X3VubG9jaygmdm1hLT52bS0+bXV0ZXgpOwo+ICAgfQo+ICAgCj4gICBzdGF0aWMgaW50IGV4 ZXJjaXNlX21vY2soc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUsCj4gCl9fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxp c3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNr dG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=