From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tvrtko Ursulin Subject: Re: [PATCH 32/46] drm/i915: Pull VM lists under the VM mutex. Date: Wed, 16 Jan 2019 16:47:43 +0000 Message-ID: References: <20190107115509.12523-1-chris@chris-wilson.co.uk> <20190107115509.12523-32-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 mga12.intel.com (mga12.intel.com [192.55.52.136]) by gabe.freedesktop.org (Postfix) with ESMTPS id 8F7F86F152 for ; Wed, 16 Jan 2019 16:47:44 +0000 (UTC) In-Reply-To: <20190107115509.12523-32-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 Ck9uIDA3LzAxLzIwMTkgMTE6NTQsIENocmlzIFdpbHNvbiB3cm90ZToKPiBBIHN0YXJ0aW5nIHBv 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+IGluZGV4IDZlZDQ0YWVlZTU4My4uNTE0 MWE4YmE0ODM2IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMK PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbS5jCj4gQEAgLTI0NiwxOCArMjQ2 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+IEBAIC0xNTMwLDIw ICsxNTMxLDIxIEBAIGk5MTVfZ2VtX3B3cml0ZV9pb2N0bChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2 LCB2b2lkICpkYXRhLAo+ICAgCj4gICBzdGF0aWMgdm9pZCBpOTE1X2dlbV9vYmplY3RfYnVtcF9p bmFjdGl2ZV9nZ3R0KHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmopCj4gICB7Cj4gLQlz dHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNTsKPiArCXN0cnVjdCBkcm1faTkxNV9wcml2YXRl ICppOTE1ID0gdG9faTkxNShvYmotPmJhc2UuZGV2KTsKPiAgIAlzdHJ1Y3QgbGlzdF9oZWFkICps aXN0Owo+ICAgCXN0cnVjdCBpOTE1X3ZtYSAqdm1hOwo+ICAgCj4gICAJR0VNX0JVR19PTighaTkx NV9nZW1fb2JqZWN0X2hhc19waW5uZWRfcGFnZXMob2JqKSk7Cj4gICAKPiArCW11dGV4X2xvY2so Jmk5MTUtPmdndHQudm0ubXV0ZXgpOwo+ICAgCWZvcl9lYWNoX2dndHRfdm1hKHZtYSwgb2JqKSB7 Cj4gICAJCWlmICghZHJtX21tX25vZGVfYWxsb2NhdGVkKCZ2bWEtPm5vZGUpKQo+ICAgCQkJY29u dGludWU7Cj4gICAKPiAgIAkJbGlzdF9tb3ZlX3RhaWwoJnZtYS0+dm1fbGluaywgJnZtYS0+dm0t PmJvdW5kX2xpc3QpOwo+ICAgCX0KPiArCW11dGV4X3VubG9jaygmaTkxNS0+Z2d0dC52bS5tdXRl eCk7CgpUaGlzIGlzIG5vdyBzdHJ1Y3RfbXV0ZXggLT4gdm0tPm11dGV4IG5lc3RpbmcsIHdoaWNo IHdlIHdvdWxkIHByZWZlcmFibHkgCndhbnQgdG8gYXZvaWQ/IFRoZXJlIG9ubHkgdHdvIGNhbGxl cnMgZm9yIHRoZSBmdW5jdGlvbi4KCkl0IGxvb2tzIHdlIGNvdWxkIHJlbW92ZSBuZXN0aW5nIGZy b20gaTkxNV9nZW1fc2V0X2RvbWFpbl9pb2N0bCBieSBqdXN0IAptb3ZpbmcgdGhlIGNhbGwgdG8g YWZ0ZXIgbXV0ZXggdW5sb2NrLgoKaTkxNV9nZW1fb2JqZWN0X3VucGluX2Zyb21fZGlzcGxheV9w bGFuZSBjYWxsZXJzIGFyZSBub3QgYXMgZWFzeSBzbyAKbWF5YmUgYXQgbGVhc3QgZG8gdGhlIG9u ZSBhYm92ZT8KCj4gICAKPiAtCWk5MTUgPSB0b19pOTE1KG9iai0+YmFzZS5kZXYpOwo+ICAgCXNw aW5fbG9jaygmaTkxNS0+bW0ub2JqX2xvY2spOwo+ICAgCWxpc3QgPSBvYmotPmJpbmRfY291bnQg PyAmaTkxNS0+bW0uYm91bmRfbGlzdCA6ICZpOTE1LT5tbS51bmJvdW5kX2xpc3Q7Cj4gICAJbGlz dF9tb3ZlX3RhaWwoJm9iai0+bW0ubGluaywgbGlzdCk7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2k5MTVfZ2VtX2V2aWN0LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1 X2dlbV9ldmljdC5jCj4gaW5kZXggYTc2ZjY1ZmU4NmJlLi40YTBjNjgzMDY1OWQgMTAwNjQ0Cj4g LS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZXZpY3QuYwo+ICsrKyBiL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2V2aWN0LmMKPiBAQCAtNDMzLDYgKzQzMyw3IEBAIGlu dCBpOTE1X2dlbV9ldmljdF92bShzdHJ1Y3QgaTkxNV9hZGRyZXNzX3NwYWNlICp2bSkKPiAgIAl9 Cj4gICAKPiAgIAlJTklUX0xJU1RfSEVBRCgmZXZpY3Rpb25fbGlzdCk7Cj4gKwltdXRleF9sb2Nr KCZ2bS0+bXV0ZXgpOwo+ICAgCWxpc3RfZm9yX2VhY2hfZW50cnkodm1hLCAmdm0tPmJvdW5kX2xp c3QsIHZtX2xpbmspIHsKPiAgIAkJaWYgKGk5MTVfdm1hX2lzX3Bpbm5lZCh2bWEpKQo+ICAgCQkJ Y29udGludWU7Cj4gQEAgLTQ0MCw2ICs0NDEsNyBAQCBpbnQgaTkxNV9nZW1fZXZpY3Rfdm0oc3Ry dWN0IGk5MTVfYWRkcmVzc19zcGFjZSAqdm0pCj4gICAJCV9faTkxNV92bWFfcGluKHZtYSk7Cj4g ICAJCWxpc3RfYWRkKCZ2bWEtPmV2aWN0X2xpbmssICZldmljdGlvbl9saXN0KTsKPiAgIAl9Cj4g KwltdXRleF91bmxvY2soJnZtLT5tdXRleCk7CgpUaGlzIGlzIGFub3RoZXIgbmVzdGluZyBzbyBJ IHN1cHBvc2UgeW91IGxlYXZlIGFsbCB0aGlzIGZ1biBmb3IgbGF0ZXI/Cgo+ICAgCj4gICAJcmV0 ID0gMDsKPiAgIAlsaXN0X2Zvcl9lYWNoX2VudHJ5X3NhZmUodm1hLCBuZXh0LCAmZXZpY3Rpb25f bGlzdCwgZXZpY3RfbGluaykgewo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p OTE1X2dlbV9ndHQuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2d0dC5jCj4gaW5k ZXggYWQ0ZWY4OTgwYjk3Li5jMzM2M2E5YjU4NmIgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaTkxNV9nZW1fZ3R0LmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1 X2dlbV9ndHQuYwo+IEBAIC0xOTMyLDcgKzE5MzIsMTAgQEAgc3RhdGljIHN0cnVjdCBpOTE1X3Zt YSAqcGRfdm1hX2NyZWF0ZShzdHJ1Y3QgZ2VuNl9od19wcGd0dCAqcHBndHQsIGludCBzaXplKQo+ ICAgCXZtYS0+Z2d0dF92aWV3LnR5cGUgPSBJOTE1X0dHVFRfVklFV19ST1RBVEVEOyAvKiBwcmV2 ZW50IGZlbmNpbmcgKi8KPiAgIAo+ICAgCUlOSVRfTElTVF9IRUFEKCZ2bWEtPm9ial9saW5rKTsK PiArCj4gKwltdXRleF9sb2NrKCZ2bWEtPnZtLT5tdXRleCk7Cj4gICAJbGlzdF9hZGQoJnZtYS0+ dm1fbGluaywgJnZtYS0+dm0tPnVuYm91bmRfbGlzdCk7Cj4gKwltdXRleF91bmxvY2soJnZtYS0+ dm0tPm11dGV4KTsKPiAgIAo+ICAgCXJldHVybiB2bWE7Cj4gICB9Cj4gQEAgLTM1MDQsOSArMzUw NywxMCBAQCB2b2lkIGk5MTVfZ2VtX3Jlc3RvcmVfZ3R0X21hcHBpbmdzKHN0cnVjdCBkcm1faTkx NV9wcml2YXRlICpkZXZfcHJpdikKPiAgIAo+ICAgCWk5MTVfY2hlY2tfYW5kX2NsZWFyX2ZhdWx0 cyhkZXZfcHJpdik7Cj4gICAKPiArCW11dGV4X2xvY2soJmdndHQtPnZtLm11dGV4KTsKPiArCj4g ICAJLyogRmlyc3QgZmlsbCBvdXIgcG9ydGlvbiBvZiB0aGUgR1RUIHdpdGggc2NyYXRjaCBwYWdl cyAqLwo+ICAgCWdndHQtPnZtLmNsZWFyX3JhbmdlKCZnZ3R0LT52bSwgMCwgZ2d0dC0+dm0udG90 YWwpOwo+IC0KPiAgIAlnZ3R0LT52bS5jbG9zZWQgPSB0cnVlOyAvKiBza2lwIHJld3JpdGluZyBQ VEUgb24gVk1BIHVuYmluZCAqLwo+ICAgCj4gICAJLyogY2xmbHVzaCBvYmplY3RzIGJvdW5kIGlu dG8gdGhlIEdHVFQgYW5kIHJlYmluZCB0aGVtLiAqLwo+IEBAIC0zNTE2LDE5ICszNTIwLDI2IEBA IHZvaWQgaTkxNV9nZW1fcmVzdG9yZV9ndHRfbWFwcGluZ3Moc3RydWN0IGRybV9pOTE1X3ByaXZh dGUgKmRldl9wcml2KQo+ICAgCQlpZiAoISh2bWEtPmZsYWdzICYgSTkxNV9WTUFfR0xPQkFMX0JJ TkQpKQo+ICAgCQkJY29udGludWU7Cj4gICAKPiArCQltdXRleF91bmxvY2soJmdndHQtPnZtLm11 dGV4KTsKPiArCj4gICAJCWlmICghaTkxNV92bWFfdW5iaW5kKHZtYSkpCj4gLQkJCWNvbnRpbnVl Owo+ICsJCQlnb3RvIGxvY2s7Cj4gICAKPiAgIAkJV0FSTl9PTihpOTE1X3ZtYV9iaW5kKHZtYSwK PiAgIAkJCQkgICAgICBvYmogPyBvYmotPmNhY2hlX2xldmVsIDogMCwKPiAgIAkJCQkgICAgICBQ SU5fVVBEQVRFKSk7Cj4gICAJCWlmIChvYmopCj4gICAJCQlXQVJOX09OKGk5MTVfZ2VtX29iamVj dF9zZXRfdG9fZ3R0X2RvbWFpbihvYmosIGZhbHNlKSk7Cj4gKwo+ICtsb2NrOgo+ICsJCW11dGV4 X2xvY2soJmdndHQtPnZtLm11dGV4KTsKPiAgIAl9Cj4gICAKPiAgIAlnZ3R0LT52bS5jbG9zZWQg PSBmYWxzZTsKPiAgIAlpOTE1X2dndHRfaW52YWxpZGF0ZShkZXZfcHJpdik7Cj4gICAKPiArCW11 dGV4X3VubG9jaygmZ2d0dC0+dm0ubXV0ZXgpOwo+ICsKPiAgIAlpZiAoSU5URUxfR0VOKGRldl9w cml2KSA+PSA4KSB7Cj4gICAJCXN0cnVjdCBpbnRlbF9wcGF0ICpwcGF0ID0gJmRldl9wcml2LT5w cGF0Owo+ICAgCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX3No cmlua2VyLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9zaHJpbmtlci5jCj4gaW5k ZXggMTUzMTUzNGVlYTAyLi43ODYxMjE2MDkwMTYgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaTkxNV9nZW1fc2hyaW5rZXIuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2k5MTVfZ2VtX3Nocmlua2VyLmMKPiBAQCAtNDg5LDYgKzQ4OSw3IEBAIGk5MTVfZ2VtX3Nocmlu a2VyX3ZtYXAoc3RydWN0IG5vdGlmaWVyX2Jsb2NrICpuYiwgdW5zaWduZWQgbG9uZyBldmVudCwg dm9pZCAqcHRyCj4gICAJCQkJCSAgICAgICBJOTE1X1NIUklOS19WTUFQUyk7Cj4gICAKPiAgIAkv KiBXZSBhbHNvIHdhbnQgdG8gY2xlYXIgYW55IGNhY2hlZCBpb21hcHMgYXMgdGhleSB3cmFwIHZt YXAgKi8KPiArCW11dGV4X2xvY2soJmk5MTUtPmdndHQudm0ubXV0ZXgpOwo+ICAgCWxpc3RfZm9y X2VhY2hfZW50cnlfc2FmZSh2bWEsIG5leHQsCj4gICAJCQkJICZpOTE1LT5nZ3R0LnZtLmJvdW5k X2xpc3QsIHZtX2xpbmspIHsKPiAgIAkJdW5zaWduZWQgbG9uZyBjb3VudCA9IHZtYS0+bm9kZS5z aXplID4+IFBBR0VfU0hJRlQ7Cj4gQEAgLTQ5Niw5ICs0OTcsMTIgQEAgaTkxNV9nZW1fc2hyaW5r ZXJfdm1hcChzdHJ1Y3Qgbm90aWZpZXJfYmxvY2sgKm5iLCB1bnNpZ25lZCBsb25nIGV2ZW50LCB2 b2lkICpwdHIKPiAgIAkJaWYgKCF2bWEtPmlvbWFwIHx8IGk5MTVfdm1hX2lzX2FjdGl2ZSh2bWEp KQo+ICAgCQkJY29udGludWU7Cj4gICAKPiArCQltdXRleF91bmxvY2soJmk5MTUtPmdndHQudm0u bXV0ZXgpOwo+ICAgCQlpZiAoaTkxNV92bWFfdW5iaW5kKHZtYSkgPT0gMCkKPiAgIAkJCWZyZWVk X3BhZ2VzICs9IGNvdW50Owo+ICsJCW11dGV4X2xvY2soJmk5MTUtPmdndHQudm0ubXV0ZXgpOwo+ ICAgCX0KPiArCW11dGV4X3VubG9jaygmaTkxNS0+Z2d0dC52bS5tdXRleCk7Cj4gICAKPiAgIG91 dDoKPiAgIAlzaHJpbmtlcl91bmxvY2soaTkxNSwgdW5sb2NrKTsKPiBkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fc3RvbGVuLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pOTE1X2dlbV9zdG9sZW4uYwo+IGluZGV4IDc1Yjk3ZDcxZjA3Mi4uMjFkZTNhNWU5OTEwIDEw MDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX3N0b2xlbi5jCj4gKysr IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fc3RvbGVuLmMKPiBAQCAtNzAzLDcgKzcw Myw5IEBAIGk5MTVfZ2VtX29iamVjdF9jcmVhdGVfc3RvbGVuX2Zvcl9wcmVhbGxvY2F0ZWQoc3Ry dWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2Cj4gICAJdm1hLT5mbGFncyB8PSBJOTE1X1ZN QV9HTE9CQUxfQklORDsKPiAgIAlfX2k5MTVfdm1hX3NldF9tYXBfYW5kX2ZlbmNlYWJsZSh2bWEp Owo+ICAgCj4gKwltdXRleF9sb2NrKCZnZ3R0LT52bS5tdXRleCk7Cj4gICAJbGlzdF9tb3ZlX3Rh aWwoJnZtYS0+dm1fbGluaywgJmdndHQtPnZtLmJvdW5kX2xpc3QpOwo+ICsJbXV0ZXhfdW5sb2Nr KCZnZ3R0LT52bS5tdXRleCk7Cj4gICAKPiAgIAlzcGluX2xvY2soJmRldl9wcml2LT5tbS5vYmpf bG9jayk7Cj4gICAJbGlzdF9tb3ZlX3RhaWwoJm9iai0+bW0ubGluaywgJmRldl9wcml2LT5tbS5i b3VuZF9saXN0KTsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV92bWEu YyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfdm1hLmMKPiBpbmRleCA3ZGUyOGJhZmZiOGYu LmRjYmQwZDM0NWM3MiAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3Zt YS5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV92bWEuYwo+IEBAIC0yMTMsNyAr MjEzLDEwIEBAIHZtYV9jcmVhdGUoc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaiwKPiAg IAl9Cj4gICAJcmJfbGlua19ub2RlKCZ2bWEtPm9ial9ub2RlLCByYiwgcCk7Cj4gICAJcmJfaW5z ZXJ0X2NvbG9yKCZ2bWEtPm9ial9ub2RlLCAmb2JqLT52bWFfdHJlZSk7Cj4gKwo+ICsJbXV0ZXhf bG9jaygmdm0tPm11dGV4KTsKPiAgIAlsaXN0X2FkZCgmdm1hLT52bV9saW5rLCAmdm0tPnVuYm91 bmRfbGlzdCk7Cj4gKwltdXRleF91bmxvY2soJnZtLT5tdXRleCk7Cj4gICAKPiAgIAlyZXR1cm4g dm1hOwo+ICAgCj4gQEAgLTY1Niw3ICs2NTksOSBAQCBpOTE1X3ZtYV9pbnNlcnQoc3RydWN0IGk5 MTVfdm1hICp2bWEsIHU2NCBzaXplLCB1NjQgYWxpZ25tZW50LCB1NjQgZmxhZ3MpCj4gICAJR0VN X0JVR19PTighZHJtX21tX25vZGVfYWxsb2NhdGVkKCZ2bWEtPm5vZGUpKTsKPiAgIAlHRU1fQlVH X09OKCFpOTE1X2dlbV92YWxpZF9ndHRfc3BhY2Uodm1hLCBjYWNoZV9sZXZlbCkpOwo+ICAgCj4g KwltdXRleF9sb2NrKCZ2bWEtPnZtLT5tdXRleCk7Cj4gICAJbGlzdF9tb3ZlX3RhaWwoJnZtYS0+ dm1fbGluaywgJnZtYS0+dm0tPmJvdW5kX2xpc3QpOwo+ICsJbXV0ZXhfdW5sb2NrKCZ2bWEtPnZt LT5tdXRleCk7Cj4gICAKPiAgIAlpZiAodm1hLT5vYmopIHsKPiAgIAkJc3RydWN0IGRybV9pOTE1 X2dlbV9vYmplY3QgKm9iaiA9IHZtYS0+b2JqOwo+IEBAIC02ODksOCArNjk0LDEwIEBAIGk5MTVf dm1hX3JlbW92ZShzdHJ1Y3QgaTkxNV92bWEgKnZtYSkKPiAgIAo+ICAgCXZtYS0+b3BzLT5jbGVh cl9wYWdlcyh2bWEpOwo+ICAgCj4gKwltdXRleF9sb2NrKCZ2bWEtPnZtLT5tdXRleCk7Cj4gICAJ ZHJtX21tX3JlbW92ZV9ub2RlKCZ2bWEtPm5vZGUpOwoKVGhpcyBpcyBieSBkZXNpZ24gYWxzbyBw cm90ZWN0ZWQgYnkgdGhlIHZtLT5tdXRleD8gQnV0IGluc2VydGlvbiBpcyBub3QgCkFGQUlDVC4K Cj4gICAJbGlzdF9tb3ZlX3RhaWwoJnZtYS0+dm1fbGluaywgJnZtYS0+dm0tPnVuYm91bmRfbGlz dCk7Cj4gKwltdXRleF91bmxvY2soJnZtYS0+dm0tPm11dGV4KTsKPiAgIAo+ICAgCS8qCj4gICAJ ICogU2luY2UgdGhlIHVuYm91bmQgbGlzdCBpcyBnbG9iYWwsIG9ubHkgbW92ZSB0byB0aGF0IGxp c3QgaWYKPiBAQCAtODAyLDcgKzgwOSwxMSBAQCBzdGF0aWMgdm9pZCBfX2k5MTVfdm1hX2Rlc3Ry b3koc3RydWN0IGk5MTVfdm1hICp2bWEpCj4gICAJR0VNX0JVR19PTihpOTE1X2dlbV9hY3RpdmVf aXNzZXQoJnZtYS0+bGFzdF9mZW5jZSkpOwo+ICAgCj4gICAJbGlzdF9kZWwoJnZtYS0+b2JqX2xp bmspOwo+ICsKPiArCW11dGV4X2xvY2soJnZtYS0+dm0tPm11dGV4KTsKPiAgIAlsaXN0X2RlbCgm dm1hLT52bV9saW5rKTsKPiArCW11dGV4X3VubG9jaygmdm1hLT52bS0+bXV0ZXgpOwo+ICsKPiAg IAlpZiAodm1hLT5vYmopCj4gICAJCXJiX2VyYXNlKCZ2bWEtPm9ial9ub2RlLCAmdm1hLT5vYmot PnZtYV90cmVlKTsKPiAgIAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9zZWxm dGVzdHMvaTkxNV9nZW1fZXZpY3QuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L3NlbGZ0ZXN0cy9p OTE1X2dlbV9ldmljdC5jCj4gaW5kZXggOWQwZmU4YWFjMjE5Li5lYWVmYmE3NDcwZjcgMTAwNjQ0 Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvc2VsZnRlc3RzL2k5MTVfZ2VtX2V2aWN0LmMK PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9zZWxmdGVzdHMvaTkxNV9nZW1fZXZpY3QuYwo+ IEBAIC02NywxMCArNjcsMTMgQEAgc3RhdGljIGludCBwb3B1bGF0ZV9nZ3R0KHN0cnVjdCBkcm1f aTkxNV9wcml2YXRlICppOTE1KQo+ICAgCj4gICBzdGF0aWMgdm9pZCB1bnBpbl9nZ3R0KHN0cnVj dCBkcm1faTkxNV9wcml2YXRlICppOTE1KQo+ICAgewo+ICsJc3RydWN0IGk5MTVfZ2d0dCAqZ2d0 dCA9ICZpOTE1LT5nZ3R0Owo+ICAgCXN0cnVjdCBpOTE1X3ZtYSAqdm1hOwo+ICAgCj4gKwltdXRl eF9sb2NrKCZnZ3R0LT52bS5tdXRleCk7Cj4gICAJbGlzdF9mb3JfZWFjaF9lbnRyeSh2bWEsICZp OTE1LT5nZ3R0LnZtLmJvdW5kX2xpc3QsIHZtX2xpbmspCj4gICAJCWk5MTVfdm1hX3VucGluKHZt YSk7Cj4gKwltdXRleF91bmxvY2soJmdndHQtPnZtLm11dGV4KTsKPiAgIH0KPiAgIAo+ICAgc3Rh dGljIHZvaWQgY2xlYW51cF9vYmplY3RzKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1KQo+ IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9zZWxmdGVzdHMvaTkxNV9nZW1fZ3R0 LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9zZWxmdGVzdHMvaTkxNV9nZW1fZ3R0LmMKPiBpbmRl eCA4NTJiMDZjYjUwYTAuLjM1ZWI0MGU1ZGU5MSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9k cm0vaTkxNS9zZWxmdGVzdHMvaTkxNV9nZW1fZ3R0LmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9zZWxmdGVzdHMvaTkxNV9nZW1fZ3R0LmMKPiBAQCAtMTIzNyw3ICsxMjM3LDEwIEBAIHN0 YXRpYyB2b2lkIHRyYWNrX3ZtYV9iaW5kKHN0cnVjdCBpOTE1X3ZtYSAqdm1hKQo+ICAgCV9faTkx NV9nZW1fb2JqZWN0X3Bpbl9wYWdlcyhvYmopOwo+ICAgCj4gICAJdm1hLT5wYWdlcyA9IG9iai0+ bW0ucGFnZXM7Cj4gKwo+ICsJbXV0ZXhfbG9jaygmdm1hLT52bS0+bXV0ZXgpOwo+ICAgCWxpc3Rf bW92ZV90YWlsKCZ2bWEtPnZtX2xpbmssICZ2bWEtPnZtLT5ib3VuZF9saXN0KTsKPiArCW11dGV4 X3VubG9jaygmdm1hLT52bS0+bXV0ZXgpOwo+ICAgfQo+ICAgCj4gICBzdGF0aWMgaW50IGV4ZXJj aXNlX21vY2soc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUsCj4gCgpSZWdhcmRzLAoKVHZy dGtvCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVs LWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczov L2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=