From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tvrtko Ursulin Subject: Re: [PATCH 07/23] drm/i915: Pull VM lists under the VM mutex. Date: Fri, 18 Jan 2019 10:07:07 +0000 Message-ID: <2aad97c1-927c-ca91-0e85-a95d8533c0b8@linux.intel.com> References: <20190117143519.16086-1-chris@chris-wilson.co.uk> <20190117143519.16086-8-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 mga03.intel.com (mga03.intel.com [134.134.136.65]) by gabe.freedesktop.org (Postfix) with ESMTPS id A113E6F6A5 for ; Fri, 18 Jan 2019 10:07:07 +0000 (UTC) In-Reply-To: <20190117143519.16086-8-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 Ck9uIDE3LzAxLzIwMTkgMTQ6MzQsIENocmlzIFdpbHNvbiB3cm90ZToKPiBBIHN0YXJ0aW5nIHBv aW50IHRvIGNvdW50ZXIgdGhlIHBlcnZhc2l2ZSBzdHJ1Y3RfbXV0ZXguIEZvciB0aGUgZ29hbCBv Zgo+IGF2b2lkaW5nIChvciBhdCBsZWFzdCBibG9ja2luZyB1bmRlciB0aGVtISkgZ2xvYmFsIGxv Y2tzIGR1cmluZyB1c2VyCj4gcmVxdWVzdCBzdWJtaXNzaW9uLCBhIHNpbXBsZSBidXQgaW1wb3J0 YW50IHN0ZXAgaXMgYmVpbmcgYWJsZSB0byBtYW5hZ2UKPiBlYWNoIGNsaWVudHMgR1RUIHNlcGFy YXRlbHkuIEZvciB3aGljaCwgd2Ugd2FudCB0byByZXBsYWNlIHVzaW5nIHRoZQo+IHN0cnVjdF9t dXRleCBhcyB0aGUgZ3VhcmQgZm9yIGFsbCB0aGluZ3MgR1RUL1ZNIGFuZCBzd2l0Y2ggaW5zdGVh ZCB0byBhCj4gc3BlY2lmaWMgbXV0ZXggaW5zaWRlIGk5MTVfYWRkcmVzc19zcGFjZS4KPiAKPiBT aWduZWQtb2ZmLWJ5OiBDaHJpcyBXaWxzb24gPGNocmlzQGNocmlzLXdpbHNvbi5jby51az4KPiAt LS0KPiAgIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMgICAgICAgICAgICAgICAgIHwg MTQgKysrKysrKystLS0tLS0KPiAgIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2V2aWN0 LmMgICAgICAgICAgIHwgIDIgKysKPiAgIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2d0 dC5jICAgICAgICAgICAgIHwgMTUgKysrKysrKysrKysrKy0tCj4gICBkcml2ZXJzL2dwdS9kcm0v aTkxNS9pOTE1X2dlbV9zaHJpbmtlci5jICAgICAgICB8ICA0ICsrKysKPiAgIGRyaXZlcnMvZ3B1 L2RybS9pOTE1L2k5MTVfZ2VtX3N0b2xlbi5jICAgICAgICAgIHwgIDIgKysKPiAgIGRyaXZlcnMv Z3B1L2RybS9pOTE1L2k5MTVfdm1hLmMgICAgICAgICAgICAgICAgIHwgMTEgKysrKysrKysrKysK PiAgIGRyaXZlcnMvZ3B1L2RybS9pOTE1L3NlbGZ0ZXN0cy9pOTE1X2dlbV9ldmljdC5jIHwgIDMg KysrCj4gICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9zZWxmdGVzdHMvaTkxNV9nZW1fZ3R0LmMgICB8 ICAzICsrKwo+ICAgOCBmaWxlcyBjaGFuZ2VkLCA0NiBpbnNlcnRpb25zKCspLCA4IGRlbGV0aW9u cygtKQo+IAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbS5jIGIv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW0uYwo+IGluZGV4IGY0NTE4NmRkYjIzNi4uNTM4 ZmE1NDA0NjAzIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMK PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbS5jCj4gQEAgLTI0NSwxOCArMjQ1 LDE5IEBAIGludAo+ICAgaTkxNV9nZW1fZ2V0X2FwZXJ0dXJlX2lvY3RsKHN0cnVjdCBkcm1fZGV2 aWNlICpkZXYsIHZvaWQgKmRhdGEsCj4gICAJCQkgICAgc3RydWN0IGRybV9maWxlICpmaWxlKQo+ ICAgewo+IC0Jc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShkZXYp Owo+IC0Jc3RydWN0IGk5MTVfZ2d0dCAqZ2d0dCA9ICZkZXZfcHJpdi0+Z2d0dDsKPiArCXN0cnVj dCBpOTE1X2dndHQgKmdndHQgPSAmdG9faTkxNShkZXYpLT5nZ3R0Owo+ICAgCXN0cnVjdCBkcm1f aTkxNV9nZW1fZ2V0X2FwZXJ0dXJlICphcmdzID0gZGF0YTsKPiAgIAlzdHJ1Y3QgaTkxNV92bWEg KnZtYTsKPiAgIAl1NjQgcGlubmVkOwo+ICAgCj4gKwltdXRleF9sb2NrKCZnZ3R0LT52bS5tdXRl eCk7Cj4gKwo+ICAgCXBpbm5lZCA9IGdndHQtPnZtLnJlc2VydmVkOwo+IC0JbXV0ZXhfbG9jaygm ZGV2LT5zdHJ1Y3RfbXV0ZXgpOwo+ICAgCWxpc3RfZm9yX2VhY2hfZW50cnkodm1hLCAmZ2d0dC0+ dm0uYm91bmRfbGlzdCwgdm1fbGluaykKPiAgIAkJaWYgKGk5MTVfdm1hX2lzX3Bpbm5lZCh2bWEp KQo+ICAgCQkJcGlubmVkICs9IHZtYS0+bm9kZS5zaXplOwo+IC0JbXV0ZXhfdW5sb2NrKCZkZXYt PnN0cnVjdF9tdXRleCk7Cj4gKwo+ICsJbXV0ZXhfdW5sb2NrKCZnZ3R0LT52bS5tdXRleCk7Cj4g ICAKPiAgIAlhcmdzLT5hcGVyX3NpemUgPSBnZ3R0LT52bS50b3RhbDsKPiAgIAlhcmdzLT5hcGVy X2F2YWlsYWJsZV9zaXplID0gYXJncy0+YXBlcl9zaXplIC0gcGlubmVkOwo+IEBAIC0xNTI5LDIw ICsxNTMwLDIxIEBAIGk5MTVfZ2VtX3B3cml0ZV9pb2N0bChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2 LCB2b2lkICpkYXRhLAo+ICAgCj4gICBzdGF0aWMgdm9pZCBpOTE1X2dlbV9vYmplY3RfYnVtcF9p bmFjdGl2ZV9nZ3R0KHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmopCj4gICB7Cj4gLQlz dHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNTsKPiArCXN0cnVjdCBkcm1faTkxNV9wcml2YXRl ICppOTE1ID0gdG9faTkxNShvYmotPmJhc2UuZGV2KTsKPiAgIAlzdHJ1Y3QgbGlzdF9oZWFkICps aXN0Owo+ICAgCXN0cnVjdCBpOTE1X3ZtYSAqdm1hOwo+ICAgCj4gICAJR0VNX0JVR19PTighaTkx NV9nZW1fb2JqZWN0X2hhc19waW5uZWRfcGFnZXMob2JqKSk7Cj4gICAKPiArCW11dGV4X2xvY2so Jmk5MTUtPmdndHQudm0ubXV0ZXgpOwo+ICAgCWZvcl9lYWNoX2dndHRfdm1hKHZtYSwgb2JqKSB7 Cj4gICAJCWlmICghZHJtX21tX25vZGVfYWxsb2NhdGVkKCZ2bWEtPm5vZGUpKQo+ICAgCQkJY29u dGludWU7Cj4gICAKPiAgIAkJbGlzdF9tb3ZlX3RhaWwoJnZtYS0+dm1fbGluaywgJnZtYS0+dm0t PmJvdW5kX2xpc3QpOwo+ICAgCX0KPiArCW11dGV4X3VubG9jaygmaTkxNS0+Z2d0dC52bS5tdXRl eCk7Cj4gICAKPiAtCWk5MTUgPSB0b19pOTE1KG9iai0+YmFzZS5kZXYpOwo+ICAgCXNwaW5fbG9j aygmaTkxNS0+bW0ub2JqX2xvY2spOwo+ICAgCWxpc3QgPSBvYmotPmJpbmRfY291bnQgPyAmaTkx NS0+bW0uYm91bmRfbGlzdCA6ICZpOTE1LT5tbS51bmJvdW5kX2xpc3Q7Cj4gICAJbGlzdF9tb3Zl X3RhaWwoJm9iai0+bW0ubGluaywgbGlzdCk7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2k5MTVfZ2VtX2V2aWN0LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9l dmljdC5jCj4gaW5kZXggNWNmZTRiNzVlN2Q2Li5kYzEzNzcwMWFjYjggMTAwNjQ0Cj4gLS0tIGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZXZpY3QuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2k5MTVfZ2VtX2V2aWN0LmMKPiBAQCAtNDMyLDYgKzQzMiw3IEBAIGludCBpOTE1 X2dlbV9ldmljdF92bShzdHJ1Y3QgaTkxNV9hZGRyZXNzX3NwYWNlICp2bSkKPiAgIAl9Cj4gICAK PiAgIAlJTklUX0xJU1RfSEVBRCgmZXZpY3Rpb25fbGlzdCk7Cj4gKwltdXRleF9sb2NrKCZ2bS0+ bXV0ZXgpOwo+ICAgCWxpc3RfZm9yX2VhY2hfZW50cnkodm1hLCAmdm0tPmJvdW5kX2xpc3QsIHZt X2xpbmspIHsKPiAgIAkJaWYgKGk5MTVfdm1hX2lzX3Bpbm5lZCh2bWEpKQo+ICAgCQkJY29udGlu dWU7Cj4gQEAgLTQzOSw2ICs0NDAsNyBAQCBpbnQgaTkxNV9nZW1fZXZpY3Rfdm0oc3RydWN0IGk5 MTVfYWRkcmVzc19zcGFjZSAqdm0pCj4gICAJCV9faTkxNV92bWFfcGluKHZtYSk7Cj4gICAJCWxp c3RfYWRkKCZ2bWEtPmV2aWN0X2xpbmssICZldmljdGlvbl9saXN0KTsKPiAgIAl9Cj4gKwltdXRl eF91bmxvY2soJnZtLT5tdXRleCk7Cj4gICAKPiAgIAlyZXQgPSAwOwo+ICAgCWxpc3RfZm9yX2Vh Y2hfZW50cnlfc2FmZSh2bWEsIG5leHQsICZldmljdGlvbl9saXN0LCBldmljdF9saW5rKSB7Cj4g ZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2d0dC5jIGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZ3R0LmMKPiBpbmRleCAyYWQ5MDcwYTU0YzEuLjQ5YjAw OTk2YTE1ZSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9ndHQu Ywo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2d0dC5jCj4gQEAgLTE5MzEs NyArMTkzMSwxMCBAQCBzdGF0aWMgc3RydWN0IGk5MTVfdm1hICpwZF92bWFfY3JlYXRlKHN0cnVj dCBnZW42X2h3X3BwZ3R0ICpwcGd0dCwgaW50IHNpemUpCj4gICAJdm1hLT5nZ3R0X3ZpZXcudHlw ZSA9IEk5MTVfR0dUVF9WSUVXX1JPVEFURUQ7IC8qIHByZXZlbnQgZmVuY2luZyAqLwo+ICAgCj4g ICAJSU5JVF9MSVNUX0hFQUQoJnZtYS0+b2JqX2xpbmspOwo+ICsKPiArCW11dGV4X2xvY2soJnZt YS0+dm0tPm11dGV4KTsKPiAgIAlsaXN0X2FkZCgmdm1hLT52bV9saW5rLCAmdm1hLT52bS0+dW5i b3VuZF9saXN0KTsKPiArCW11dGV4X3VubG9jaygmdm1hLT52bS0+bXV0ZXgpOwo+ICAgCj4gICAJ cmV0dXJuIHZtYTsKPiAgIH0KPiBAQCAtMzUwNCw5ICszNTA3LDEwIEBAIHZvaWQgaTkxNV9nZW1f cmVzdG9yZV9ndHRfbWFwcGluZ3Moc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQo+ ICAgCj4gICAJaTkxNV9jaGVja19hbmRfY2xlYXJfZmF1bHRzKGRldl9wcml2KTsKPiAgIAo+ICsJ bXV0ZXhfbG9jaygmZ2d0dC0+dm0ubXV0ZXgpOwo+ICsKPiAgIAkvKiBGaXJzdCBmaWxsIG91ciBw b3J0aW9uIG9mIHRoZSBHVFQgd2l0aCBzY3JhdGNoIHBhZ2VzICovCj4gICAJZ2d0dC0+dm0uY2xl YXJfcmFuZ2UoJmdndHQtPnZtLCAwLCBnZ3R0LT52bS50b3RhbCk7Cj4gLQo+ICAgCWdndHQtPnZt LmNsb3NlZCA9IHRydWU7IC8qIHNraXAgcmV3cml0aW5nIFBURSBvbiBWTUEgdW5iaW5kICovCj4g ICAKPiAgIAkvKiBjbGZsdXNoIG9iamVjdHMgYm91bmQgaW50byB0aGUgR0dUVCBhbmQgcmViaW5k IHRoZW0uICovCj4gQEAgLTM1MTYsMTkgKzM1MjAsMjYgQEAgdm9pZCBpOTE1X2dlbV9yZXN0b3Jl X2d0dF9tYXBwaW5ncyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCj4gICAJCWlm ICghKHZtYS0+ZmxhZ3MgJiBJOTE1X1ZNQV9HTE9CQUxfQklORCkpCj4gICAJCQljb250aW51ZTsK PiAgIAo+ICsJCW11dGV4X3VubG9jaygmZ2d0dC0+dm0ubXV0ZXgpOwo+ICsKPiAgIAkJaWYgKCFp OTE1X3ZtYV91bmJpbmQodm1hKSkKPiAtCQkJY29udGludWU7Cj4gKwkJCWdvdG8gbG9jazsKPiAg IAo+ICAgCQlXQVJOX09OKGk5MTVfdm1hX2JpbmQodm1hLAo+ICAgCQkJCSAgICAgIG9iaiA/IG9i ai0+Y2FjaGVfbGV2ZWwgOiAwLAo+ICAgCQkJCSAgICAgIFBJTl9VUERBVEUpKTsKPiAgIAkJaWYg KG9iaikKPiAgIAkJCVdBUk5fT04oaTkxNV9nZW1fb2JqZWN0X3NldF90b19ndHRfZG9tYWluKG9i aiwgZmFsc2UpKTsKPiArCj4gK2xvY2s6Cj4gKwkJbXV0ZXhfbG9jaygmZ2d0dC0+dm0ubXV0ZXgp Owo+ICAgCX0KPiAgIAo+ICAgCWdndHQtPnZtLmNsb3NlZCA9IGZhbHNlOwo+ICAgCWk5MTVfZ2d0 dF9pbnZhbGlkYXRlKGRldl9wcml2KTsKPiAgIAo+ICsJbXV0ZXhfdW5sb2NrKCZnZ3R0LT52bS5t dXRleCk7Cj4gKwo+ICAgCWlmIChJTlRFTF9HRU4oZGV2X3ByaXYpID49IDgpIHsKPiAgIAkJc3Ry dWN0IGludGVsX3BwYXQgKnBwYXQgPSAmZGV2X3ByaXYtPnBwYXQ7Cj4gICAKPiBkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fc2hyaW5rZXIuYyBiL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2k5MTVfZ2VtX3Nocmlua2VyLmMKPiBpbmRleCBhNzZkNmM5NWM4MjQuLjZkYTc5 NWM3ZTYyZSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9zaHJp bmtlci5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fc2hyaW5rZXIuYwo+ IEBAIC00NjEsNiArNDYxLDcgQEAgaTkxNV9nZW1fc2hyaW5rZXJfdm1hcChzdHJ1Y3Qgbm90aWZp ZXJfYmxvY2sgKm5iLCB1bnNpZ25lZCBsb25nIGV2ZW50LCB2b2lkICpwdHIKPiAgIAkJCQkJICAg ICAgIEk5MTVfU0hSSU5LX1ZNQVBTKTsKPiAgIAo+ICAgCS8qIFdlIGFsc28gd2FudCB0byBjbGVh ciBhbnkgY2FjaGVkIGlvbWFwcyBhcyB0aGV5IHdyYXAgdm1hcCAqLwo+ICsJbXV0ZXhfbG9jaygm aTkxNS0+Z2d0dC52bS5tdXRleCk7Cj4gICAJbGlzdF9mb3JfZWFjaF9lbnRyeV9zYWZlKHZtYSwg bmV4dCwKPiAgIAkJCQkgJmk5MTUtPmdndHQudm0uYm91bmRfbGlzdCwgdm1fbGluaykgewo+ICAg CQl1bnNpZ25lZCBsb25nIGNvdW50ID0gdm1hLT5ub2RlLnNpemUgPj4gUEFHRV9TSElGVDsKPiBA QCAtNDY4LDkgKzQ2OSwxMiBAQCBpOTE1X2dlbV9zaHJpbmtlcl92bWFwKHN0cnVjdCBub3RpZmll cl9ibG9jayAqbmIsIHVuc2lnbmVkIGxvbmcgZXZlbnQsIHZvaWQgKnB0cgo+ICAgCQlpZiAoIXZt YS0+aW9tYXAgfHwgaTkxNV92bWFfaXNfYWN0aXZlKHZtYSkpCj4gICAJCQljb250aW51ZTsKPiAg IAo+ICsJCW11dGV4X3VubG9jaygmaTkxNS0+Z2d0dC52bS5tdXRleCk7Cj4gICAJCWlmIChpOTE1 X3ZtYV91bmJpbmQodm1hKSA9PSAwKQo+ICAgCQkJZnJlZWRfcGFnZXMgKz0gY291bnQ7Cj4gKwkJ bXV0ZXhfbG9jaygmaTkxNS0+Z2d0dC52bS5tdXRleCk7Cj4gICAJfQo+ICsJbXV0ZXhfdW5sb2Nr KCZpOTE1LT5nZ3R0LnZtLm11dGV4KTsKPiAgIAo+ICAgb3V0Ogo+ICAgCXNocmlua2VyX3VubG9j ayhpOTE1LCB1bmxvY2spOwo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1 X2dlbV9zdG9sZW4uYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX3N0b2xlbi5jCj4g aW5kZXggYTllMzY1Nzg5Njg2Li43NGE5NjYxNDc5Y2EgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9n cHUvZHJtL2k5MTUvaTkxNV9nZW1fc3RvbGVuLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pOTE1X2dlbV9zdG9sZW4uYwo+IEBAIC03MDIsNyArNzAyLDkgQEAgaTkxNV9nZW1fb2JqZWN0 X2NyZWF0ZV9zdG9sZW5fZm9yX3ByZWFsbG9jYXRlZChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAq ZGV2X3ByaXYKPiAgIAl2bWEtPmZsYWdzIHw9IEk5MTVfVk1BX0dMT0JBTF9CSU5EOwo+ICAgCV9f aTkxNV92bWFfc2V0X21hcF9hbmRfZmVuY2VhYmxlKHZtYSk7Cj4gICAKPiArCW11dGV4X2xvY2so JmdndHQtPnZtLm11dGV4KTsKPiAgIAlsaXN0X21vdmVfdGFpbCgmdm1hLT52bV9saW5rLCAmZ2d0 dC0+dm0uYm91bmRfbGlzdCk7Cj4gKwltdXRleF91bmxvY2soJmdndHQtPnZtLm11dGV4KTsKPiAg IAo+ICAgCXNwaW5fbG9jaygmZGV2X3ByaXYtPm1tLm9ial9sb2NrKTsKPiAgIAlsaXN0X21vdmVf dGFpbCgmb2JqLT5tbS5saW5rLCAmZGV2X3ByaXYtPm1tLmJvdW5kX2xpc3QpOwo+IGRpZmYgLS1n aXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3ZtYS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaTkxNV92bWEuYwo+IGluZGV4IDdkZTI4YmFmZmI4Zi4uZGNiZDBkMzQ1YzcyIDEwMDY0NAo+ IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfdm1hLmMKPiArKysgYi9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pOTE1X3ZtYS5jCj4gQEAgLTIxMyw3ICsyMTMsMTAgQEAgdm1hX2NyZWF0ZShz dHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqLAo+ICAgCX0KPiAgIAlyYl9saW5rX25vZGUo JnZtYS0+b2JqX25vZGUsIHJiLCBwKTsKPiAgIAlyYl9pbnNlcnRfY29sb3IoJnZtYS0+b2JqX25v ZGUsICZvYmotPnZtYV90cmVlKTsKPiArCj4gKwltdXRleF9sb2NrKCZ2bS0+bXV0ZXgpOwo+ICAg CWxpc3RfYWRkKCZ2bWEtPnZtX2xpbmssICZ2bS0+dW5ib3VuZF9saXN0KTsKPiArCW11dGV4X3Vu bG9jaygmdm0tPm11dGV4KTsKPiAgIAo+ICAgCXJldHVybiB2bWE7Cj4gICAKPiBAQCAtNjU2LDcg KzY1OSw5IEBAIGk5MTVfdm1hX2luc2VydChzdHJ1Y3QgaTkxNV92bWEgKnZtYSwgdTY0IHNpemUs IHU2NCBhbGlnbm1lbnQsIHU2NCBmbGFncykKPiAgIAlHRU1fQlVHX09OKCFkcm1fbW1fbm9kZV9h bGxvY2F0ZWQoJnZtYS0+bm9kZSkpOwo+ICAgCUdFTV9CVUdfT04oIWk5MTVfZ2VtX3ZhbGlkX2d0 dF9zcGFjZSh2bWEsIGNhY2hlX2xldmVsKSk7Cj4gICAKPiArCW11dGV4X2xvY2soJnZtYS0+dm0t Pm11dGV4KTsKPiAgIAlsaXN0X21vdmVfdGFpbCgmdm1hLT52bV9saW5rLCAmdm1hLT52bS0+Ym91 bmRfbGlzdCk7Cj4gKwltdXRleF91bmxvY2soJnZtYS0+dm0tPm11dGV4KTsKPiAgIAo+ICAgCWlm ICh2bWEtPm9iaikgewo+ICAgCQlzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqID0gdm1h LT5vYmo7Cj4gQEAgLTY4OSw4ICs2OTQsMTAgQEAgaTkxNV92bWFfcmVtb3ZlKHN0cnVjdCBpOTE1 X3ZtYSAqdm1hKQo+ICAgCj4gICAJdm1hLT5vcHMtPmNsZWFyX3BhZ2VzKHZtYSk7Cj4gICAKPiAr CW11dGV4X2xvY2soJnZtYS0+dm0tPm11dGV4KTsKPiAgIAlkcm1fbW1fcmVtb3ZlX25vZGUoJnZt YS0+bm9kZSk7Cj4gICAJbGlzdF9tb3ZlX3RhaWwoJnZtYS0+dm1fbGluaywgJnZtYS0+dm0tPnVu Ym91bmRfbGlzdCk7Cj4gKwltdXRleF91bmxvY2soJnZtYS0+dm0tPm11dGV4KTsKPiAgIAo+ICAg CS8qCj4gICAJICogU2luY2UgdGhlIHVuYm91bmQgbGlzdCBpcyBnbG9iYWwsIG9ubHkgbW92ZSB0 byB0aGF0IGxpc3QgaWYKPiBAQCAtODAyLDcgKzgwOSwxMSBAQCBzdGF0aWMgdm9pZCBfX2k5MTVf dm1hX2Rlc3Ryb3koc3RydWN0IGk5MTVfdm1hICp2bWEpCj4gICAJR0VNX0JVR19PTihpOTE1X2dl bV9hY3RpdmVfaXNzZXQoJnZtYS0+bGFzdF9mZW5jZSkpOwo+ICAgCj4gICAJbGlzdF9kZWwoJnZt YS0+b2JqX2xpbmspOwo+ICsKPiArCW11dGV4X2xvY2soJnZtYS0+dm0tPm11dGV4KTsKPiAgIAls aXN0X2RlbCgmdm1hLT52bV9saW5rKTsKPiArCW11dGV4X3VubG9jaygmdm1hLT52bS0+bXV0ZXgp Owo+ICsKPiAgIAlpZiAodm1hLT5vYmopCj4gICAJCXJiX2VyYXNlKCZ2bWEtPm9ial9ub2RlLCAm dm1hLT5vYmotPnZtYV90cmVlKTsKPiAgIAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0v aTkxNS9zZWxmdGVzdHMvaTkxNV9nZW1fZXZpY3QuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L3Nl bGZ0ZXN0cy9pOTE1X2dlbV9ldmljdC5jCj4gaW5kZXggNmM5YzdhMWMyNzI4Li5mYjdkZjg5NWFm ZWIgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvc2VsZnRlc3RzL2k5MTVfZ2Vt X2V2aWN0LmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9zZWxmdGVzdHMvaTkxNV9nZW1f ZXZpY3QuYwo+IEBAIC02NywxMCArNjcsMTMgQEAgc3RhdGljIGludCBwb3B1bGF0ZV9nZ3R0KHN0 cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1KQo+ICAgCj4gICBzdGF0aWMgdm9pZCB1bnBpbl9n Z3R0KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1KQo+ICAgewo+ICsJc3RydWN0IGk5MTVf Z2d0dCAqZ2d0dCA9ICZpOTE1LT5nZ3R0Owo+ICAgCXN0cnVjdCBpOTE1X3ZtYSAqdm1hOwo+ICAg Cj4gKwltdXRleF9sb2NrKCZnZ3R0LT52bS5tdXRleCk7Cj4gICAJbGlzdF9mb3JfZWFjaF9lbnRy eSh2bWEsICZpOTE1LT5nZ3R0LnZtLmJvdW5kX2xpc3QsIHZtX2xpbmspCj4gICAJCWk5MTVfdm1h X3VucGluKHZtYSk7Cj4gKwltdXRleF91bmxvY2soJmdndHQtPnZtLm11dGV4KTsKPiAgIH0KPiAg IAo+ICAgc3RhdGljIHZvaWQgY2xlYW51cF9vYmplY3RzKHN0cnVjdCBkcm1faTkxNV9wcml2YXRl ICppOTE1KQo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9zZWxmdGVzdHMvaTkx NV9nZW1fZ3R0LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9zZWxmdGVzdHMvaTkxNV9nZW1fZ3R0 LmMKPiBpbmRleCA4NTJiMDZjYjUwYTAuLjM1ZWI0MGU1ZGU5MSAxMDA2NDQKPiAtLS0gYS9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9zZWxmdGVzdHMvaTkxNV9nZW1fZ3R0LmMKPiArKysgYi9kcml2ZXJz L2dwdS9kcm0vaTkxNS9zZWxmdGVzdHMvaTkxNV9nZW1fZ3R0LmMKPiBAQCAtMTIzNyw3ICsxMjM3 LDEwIEBAIHN0YXRpYyB2b2lkIHRyYWNrX3ZtYV9iaW5kKHN0cnVjdCBpOTE1X3ZtYSAqdm1hKQo+ ICAgCV9faTkxNV9nZW1fb2JqZWN0X3Bpbl9wYWdlcyhvYmopOwo+ICAgCj4gICAJdm1hLT5wYWdl cyA9IG9iai0+bW0ucGFnZXM7Cj4gKwo+ICsJbXV0ZXhfbG9jaygmdm1hLT52bS0+bXV0ZXgpOwo+ ICAgCWxpc3RfbW92ZV90YWlsKCZ2bWEtPnZtX2xpbmssICZ2bWEtPnZtLT5ib3VuZF9saXN0KTsK PiArCW11dGV4X3VubG9jaygmdm1hLT52bS0+bXV0ZXgpOwo+ICAgfQo+ICAgCj4gICBzdGF0aWMg aW50IGV4ZXJjaXNlX21vY2soc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUsCj4gCgpSZXZp ZXdlZC1ieTogVHZydGtvIFVyc3VsaW4gPHR2cnRrby51cnN1bGluQGludGVsLmNvbT4KClJlZ2Fy ZHMsCgpUdnJ0a28KX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3Jn Cmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4 Cg==