From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tvrtko Ursulin Subject: Re: [PATCH 03/11] drm/i915: Rename vma->*_list to *_link for consistency Date: Thu, 17 Dec 2015 11:14:54 +0000 Message-ID: <5672992E.6050700@linux.intel.com> References: <1450093012-14955-1-git-send-email-chris@chris-wilson.co.uk> <1450093012-14955-3-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 mga11.intel.com (mga11.intel.com [192.55.52.93]) by gabe.freedesktop.org (Postfix) with ESMTP id 2E7F86E988 for ; Thu, 17 Dec 2015 03:14:56 -0800 (PST) In-Reply-To: <1450093012-14955-3-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 Ck9uIDE0LzEyLzE1IDExOjM2LCBDaHJpcyBXaWxzb24gd3JvdGU6Cj4gRWxzZXdoZXJlIHdlIGhh dmUgYWRvcHRlZCB0aGUgY29udmVudGlvbiBvZiB1c2luZyAnX2xpbmsnIHRvIGRlbm90ZQo+IGVs ZW1lbnRzIGluIHRoZSBsaXN0IChhbmQgJ19saXN0JyBmb3IgdGhlIGFjdHVhbCBsaXN0X2hlYWQg aXRzZWxmKSwgYW5kCj4gdGhhdCB0aGUgbmFtZSBzaG91bGQgaW5kaWNhdGUgd2hpY2ggbGlzdCB0 aGUgbGluayBiZWxvbmdzIHRvIChhbmQKPiBwcmVmZXJyYWJseSBub3QganVzdCB3aGVyZSB0aGUg bGluayBpcyBiZWluZyBzdG9yZWQpLgo+Cj4gcy92bWFfbGluay9vYmpfbGluay8gKHdlIGl0ZXJh dGUgb3ZlciBvYmotPnZtYV9saXN0KQo+IHMvbW1fbGlzdC92bV9saW5rLyAod2UgaXRlcmF0ZSBv dmVyIHZtLT5baW5dYWN0aXZlX2xpc3QpCgpBIGxpdHRsZSBiaXQgb2YgcGFpbiBmb3IgdGhlIGVz dGFibGlzaGVkIG11c2NsZSBtZW1vcnkgYnV0IEkgdGhpbmsgZ29vZCAKaW4gZ2VuZXJhbC4gQXNz dW1pbmcgeW91IGNvbXBpbGUgdGVzdGVkIGl0OgoKUmV2aWV3ZWQtYnk6IFR2cnRrbyBVcnN1bGlu IDx0dnJ0a28udXJzdWxpbkBpbnRlbC5jb20+CgpCdHcgcGVyaGFwcyByZW5hbWUgdGhlIGxpbmsg aW4gIGk5MTVfZ2VtX2FjdGl2ZSB0byByZXF1ZXN0X2xpbmsgc28gdGhhdCAKdGhlIGdvb2QgaW5p dGlhdGl2ZSBpcyBub3QgcXVlc3Rpb25lZC4gOikKClJlZ2FyZHMsCgpUdnJ0a28KCj4KPiBTaWdu ZWQtb2ZmLWJ5OiBDaHJpcyBXaWxzb24gPGNocmlzQGNocmlzLXdpbHNvbi5jby51az4KPiAtLS0K PiAgIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZGVidWdmcy5jICAgICAgfCAxNyArKysrKy0t LS0tLQo+ICAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW0uYyAgICAgICAgICB8IDUwICsr KysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tCj4gICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9p OTE1X2dlbV9jb250ZXh0LmMgIHwgIDIgKy0KPiAgIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVf Z2VtX2V2aWN0LmMgICAgfCAgNiArKy0tCj4gICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dl bV9ndHQuYyAgICAgIHwgMTAgKysrLS0tLQo+ICAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9n ZW1fZ3R0LmggICAgICB8ICA0ICstLQo+ICAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1f c2hyaW5rZXIuYyB8ICA0ICstLQo+ICAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fc3Rv bGVuLmMgICB8ICAyICstCj4gICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV91c2VycHRy LmMgIHwgIDIgKy0KPiAgIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ3B1X2Vycm9yLmMgICAg fCAgOCArKy0tLQo+ICAgMTAgZmlsZXMgY2hhbmdlZCwgNTIgaW5zZXJ0aW9ucygrKSwgNTMgZGVs ZXRpb25zKC0pCj4KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kZWJ1 Z2ZzLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2RlYnVnZnMuYwo+IGluZGV4IDY4MzEw YmE3M2QyMy4uZmRjZjkwNzU3ZWIwIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2k5MTVfZGVidWdmcy5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kZWJ1Z2Zz LmMKPiBAQCAtMTE3LDkgKzExNyw4IEBAIHN0YXRpYyB1NjQgaTkxNV9nZW1fb2JqX3RvdGFsX2dn dHRfc2l6ZShzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqKQo+ICAgCXU2NCBzaXplID0g MDsKPiAgIAlzdHJ1Y3QgaTkxNV92bWEgKnZtYTsKPgo+IC0JbGlzdF9mb3JfZWFjaF9lbnRyeSh2 bWEsICZvYmotPnZtYV9saXN0LCB2bWFfbGluaykgewo+IC0JCWlmIChpOTE1X2lzX2dndHQodm1h LT52bSkgJiYKPiAtCQkgICAgZHJtX21tX25vZGVfYWxsb2NhdGVkKCZ2bWEtPm5vZGUpKQo+ICsJ bGlzdF9mb3JfZWFjaF9lbnRyeSh2bWEsICZvYmotPnZtYV9saXN0LCBvYmpfbGluaykgewo+ICsJ CWlmIChpOTE1X2lzX2dndHQodm1hLT52bSkgJiYgZHJtX21tX25vZGVfYWxsb2NhdGVkKCZ2bWEt Pm5vZGUpKQo+ICAgCQkJc2l6ZSArPSB2bWEtPm5vZGUuc2l6ZTsKPiAgIAl9Cj4KPiBAQCAtMTU1 LDcgKzE1NCw3IEBAIGRlc2NyaWJlX29iaihzdHJ1Y3Qgc2VxX2ZpbGUgKm0sIHN0cnVjdCBkcm1f aTkxNV9nZW1fb2JqZWN0ICpvYmopCj4gICAJCSAgIG9iai0+bWFkdiA9PSBJOTE1X01BRFZfRE9O VE5FRUQgPyAiIHB1cmdlYWJsZSIgOiAiIik7Cj4gICAJaWYgKG9iai0+YmFzZS5uYW1lKQo+ICAg CQlzZXFfcHJpbnRmKG0sICIgKG5hbWU6ICVkKSIsIG9iai0+YmFzZS5uYW1lKTsKPiAtCWxpc3Rf Zm9yX2VhY2hfZW50cnkodm1hLCAmb2JqLT52bWFfbGlzdCwgdm1hX2xpbmspIHsKPiArCWxpc3Rf Zm9yX2VhY2hfZW50cnkodm1hLCAmb2JqLT52bWFfbGlzdCwgb2JqX2xpbmspIHsKPiAgIAkJaWYg KHZtYS0+cGluX2NvdW50ID4gMCkKPiAgIAkJCXBpbl9jb3VudCsrOwo+ICAgCX0KPiBAQCAtMTY0 LDcgKzE2Myw3IEBAIGRlc2NyaWJlX29iaihzdHJ1Y3Qgc2VxX2ZpbGUgKm0sIHN0cnVjdCBkcm1f aTkxNV9nZW1fb2JqZWN0ICpvYmopCj4gICAJCXNlcV9wcmludGYobSwgIiAoZGlzcGxheSkiKTsK PiAgIAlpZiAob2JqLT5mZW5jZV9yZWcgIT0gSTkxNV9GRU5DRV9SRUdfTk9ORSkKPiAgIAkJc2Vx X3ByaW50ZihtLCAiIChmZW5jZTogJWQpIiwgb2JqLT5mZW5jZV9yZWcpOwo+IC0JbGlzdF9mb3Jf ZWFjaF9lbnRyeSh2bWEsICZvYmotPnZtYV9saXN0LCB2bWFfbGluaykgewo+ICsJbGlzdF9mb3Jf ZWFjaF9lbnRyeSh2bWEsICZvYmotPnZtYV9saXN0LCBvYmpfbGluaykgewo+ICAgCQlzZXFfcHJp bnRmKG0sICIgKCVzZ3R0IG9mZnNldDogJTA4bGx4LCBzaXplOiAlMDhsbHgiLAo+ICAgCQkJICAg aTkxNV9pc19nZ3R0KHZtYS0+dm0pID8gImciIDogInBwIiwKPiAgIAkJCSAgIHZtYS0+bm9kZS5z dGFydCwgdm1hLT5ub2RlLnNpemUpOwo+IEBAIC0yMjksNyArMjI4LDcgQEAgc3RhdGljIGludCBp OTE1X2dlbV9vYmplY3RfbGlzdF9pbmZvKHN0cnVjdCBzZXFfZmlsZSAqbSwgdm9pZCAqZGF0YSkK PiAgIAl9Cj4KPiAgIAl0b3RhbF9vYmpfc2l6ZSA9IHRvdGFsX2d0dF9zaXplID0gY291bnQgPSAw Owo+IC0JbGlzdF9mb3JfZWFjaF9lbnRyeSh2bWEsIGhlYWQsIG1tX2xpc3QpIHsKPiArCWxpc3Rf Zm9yX2VhY2hfZW50cnkodm1hLCBoZWFkLCB2bV9saW5rKSB7Cj4gICAJCXNlcV9wcmludGYobSwg IiAgICIpOwo+ICAgCQlkZXNjcmliZV9vYmoobSwgdm1hLT5vYmopOwo+ICAgCQlzZXFfcHJpbnRm KG0sICJcbiIpOwo+IEBAIC0zNDEsNyArMzQwLDcgQEAgc3RhdGljIGludCBwZXJfZmlsZV9zdGF0 cyhpbnQgaWQsIHZvaWQgKnB0ciwgdm9pZCAqZGF0YSkKPiAgIAkJc3RhdHMtPnNoYXJlZCArPSBv YmotPmJhc2Uuc2l6ZTsKPgo+ICAgCWlmIChVU0VTX0ZVTExfUFBHVFQob2JqLT5iYXNlLmRldikp IHsKPiAtCQlsaXN0X2Zvcl9lYWNoX2VudHJ5KHZtYSwgJm9iai0+dm1hX2xpc3QsIHZtYV9saW5r KSB7Cj4gKwkJbGlzdF9mb3JfZWFjaF9lbnRyeSh2bWEsICZvYmotPnZtYV9saXN0LCBvYmpfbGlu aykgewo+ICAgCQkJc3RydWN0IGk5MTVfaHdfcHBndHQgKnBwZ3R0Owo+Cj4gICAJCQlpZiAoIWRy bV9tbV9ub2RlX2FsbG9jYXRlZCgmdm1hLT5ub2RlKSkKPiBAQCAtNDUzLDEyICs0NTIsMTIgQEAg c3RhdGljIGludCBpOTE1X2dlbV9vYmplY3RfaW5mbyhzdHJ1Y3Qgc2VxX2ZpbGUgKm0sIHZvaWQq IGRhdGEpCj4gICAJCSAgIGNvdW50LCBtYXBwYWJsZV9jb3VudCwgc2l6ZSwgbWFwcGFibGVfc2l6 ZSk7Cj4KPiAgIAlzaXplID0gY291bnQgPSBtYXBwYWJsZV9zaXplID0gbWFwcGFibGVfY291bnQg PSAwOwo+IC0JY291bnRfdm1hcygmdm0tPmFjdGl2ZV9saXN0LCBtbV9saXN0KTsKPiArCWNvdW50 X3ZtYXMoJnZtLT5hY3RpdmVfbGlzdCwgdm1fbGluayk7Cj4gICAJc2VxX3ByaW50ZihtLCAiICAl dSBbJXVdIGFjdGl2ZSBvYmplY3RzLCAlbGx1IFslbGx1XSBieXRlc1xuIiwKPiAgIAkJICAgY291 bnQsIG1hcHBhYmxlX2NvdW50LCBzaXplLCBtYXBwYWJsZV9zaXplKTsKPgo+ICAgCXNpemUgPSBj b3VudCA9IG1hcHBhYmxlX3NpemUgPSBtYXBwYWJsZV9jb3VudCA9IDA7Cj4gLQljb3VudF92bWFz KCZ2bS0+aW5hY3RpdmVfbGlzdCwgbW1fbGlzdCk7Cj4gKwljb3VudF92bWFzKCZ2bS0+aW5hY3Rp dmVfbGlzdCwgdm1fbGluayk7Cj4gICAJc2VxX3ByaW50ZihtLCAiICAldSBbJXVdIGluYWN0aXZl IG9iamVjdHMsICVsbHUgWyVsbHVdIGJ5dGVzXG4iLAo+ICAgCQkgICBjb3VudCwgbWFwcGFibGVf Y291bnQsIHNpemUsIG1hcHBhYmxlX3NpemUpOwo+Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2k5MTVfZ2VtLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbS5jCj4g aW5kZXggYTdjMzlkNWZiY2NhLi5lNmFjZTc0NjE2YjIgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9n cHUvZHJtL2k5MTUvaTkxNV9nZW0uYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVf Z2VtLmMKPiBAQCAtMTI4LDEwICsxMjgsMTAgQEAgaTkxNV9nZW1fZ2V0X2FwZXJ0dXJlX2lvY3Rs KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHZvaWQgKmRhdGEsCj4KPiAgIAlwaW5uZWQgPSAwOwo+ ICAgCW11dGV4X2xvY2soJmRldi0+c3RydWN0X211dGV4KTsKPiAtCWxpc3RfZm9yX2VhY2hfZW50 cnkodm1hLCAmZ2d0dC0+YmFzZS5hY3RpdmVfbGlzdCwgbW1fbGlzdCkKPiArCWxpc3RfZm9yX2Vh Y2hfZW50cnkodm1hLCAmZ2d0dC0+YmFzZS5hY3RpdmVfbGlzdCwgdm1fbGluaykKPiAgIAkJaWYg KHZtYS0+cGluX2NvdW50KQo+ICAgCQkJcGlubmVkICs9IHZtYS0+bm9kZS5zaXplOwo+IC0JbGlz dF9mb3JfZWFjaF9lbnRyeSh2bWEsICZnZ3R0LT5iYXNlLmluYWN0aXZlX2xpc3QsIG1tX2xpc3Qp Cj4gKwlsaXN0X2Zvcl9lYWNoX2VudHJ5KHZtYSwgJmdndHQtPmJhc2UuaW5hY3RpdmVfbGlzdCwg dm1fbGluaykKPiAgIAkJaWYgKHZtYS0+cGluX2NvdW50KQo+ICAgCQkJcGlubmVkICs9IHZtYS0+ bm9kZS5zaXplOwo+ICAgCW11dGV4X3VubG9jaygmZGV2LT5zdHJ1Y3RfbXV0ZXgpOwo+IEBAIC0y NjEsNyArMjYxLDcgQEAgZHJvcF9wYWdlcyhzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2Jq KQo+ICAgCWludCByZXQ7Cj4KPiAgIAlkcm1fZ2VtX29iamVjdF9yZWZlcmVuY2UoJm9iai0+YmFz ZSk7Cj4gLQlsaXN0X2Zvcl9lYWNoX2VudHJ5X3NhZmUodm1hLCBuZXh0LCAmb2JqLT52bWFfbGlz dCwgdm1hX2xpbmspCj4gKwlsaXN0X2Zvcl9lYWNoX2VudHJ5X3NhZmUodm1hLCBuZXh0LCAmb2Jq LT52bWFfbGlzdCwgb2JqX2xpbmspCj4gICAJCWlmIChpOTE1X3ZtYV91bmJpbmQodm1hKSkKPiAg IAkJCWJyZWFrOwo+Cj4gQEAgLTIwMjgsNyArMjAyOCw3IEBAIHZvaWQgaTkxNV92bWFfbW92ZV90 b19hY3RpdmUoc3RydWN0IGk5MTVfdm1hICp2bWEsCj4gICAJb2JqLT5hY3RpdmUgfD0gaW50ZWxf ZW5naW5lX2ZsYWcoZW5naW5lKTsKPgo+ICAgCWk5MTVfZ2VtX3JlcXVlc3RfbWFya19hY3RpdmUo cmVxLCAmb2JqLT5sYXN0X3JlYWRbZW5naW5lLT5pZF0pOwo+IC0JbGlzdF9tb3ZlX3RhaWwoJnZt YS0+bW1fbGlzdCwgJnZtYS0+dm0tPmFjdGl2ZV9saXN0KTsKPiArCWxpc3RfbW92ZV90YWlsKCZ2 bWEtPnZtX2xpbmssICZ2bWEtPnZtLT5hY3RpdmVfbGlzdCk7Cj4gICB9Cj4KPiAgIHN0YXRpYyB2 b2lkCj4gQEAgLTIwNjksOSArMjA2OSw5IEBAIGk5MTVfZ2VtX29iamVjdF9yZXRpcmVfX3JlYWQo c3RydWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0X2FjdGl2ZSAqYWN0aXZlLAo+ICAgCSAqLwo+ICAg CWxpc3RfbW92ZV90YWlsKCZvYmotPmdsb2JhbF9saXN0LCAmcmVxdWVzdC0+aTkxNS0+bW0uYm91 bmRfbGlzdCk7Cj4KPiAtCWxpc3RfZm9yX2VhY2hfZW50cnkodm1hLCAmb2JqLT52bWFfbGlzdCwg dm1hX2xpbmspIHsKPiAtCQlpZiAoIWxpc3RfZW1wdHkoJnZtYS0+bW1fbGlzdCkpCj4gLQkJCWxp c3RfbW92ZV90YWlsKCZ2bWEtPm1tX2xpc3QsICZ2bWEtPnZtLT5pbmFjdGl2ZV9saXN0KTsKPiAr CWxpc3RfZm9yX2VhY2hfZW50cnkodm1hLCAmb2JqLT52bWFfbGlzdCwgb2JqX2xpbmspIHsKPiAr CQlpZiAoIWxpc3RfZW1wdHkoJnZtYS0+dm1fbGluaykpCj4gKwkJCWxpc3RfbW92ZV90YWlsKCZ2 bWEtPnZtX2xpbmssICZ2bWEtPnZtLT5pbmFjdGl2ZV9saXN0KTsKPiAgIAl9Cj4KPiAgIAlkcm1f Z2VtX29iamVjdF91bnJlZmVyZW5jZSgmb2JqLT5iYXNlKTsKPiBAQCAtMjU4NCw3ICsyNTg0LDcg QEAgc3RhdGljIGludCBfX2k5MTVfdm1hX3VuYmluZChzdHJ1Y3QgaTkxNV92bWEgKnZtYSwgYm9v bCB3YWl0KQo+ICAgCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IG9iai0+YmFz ZS5kZXYtPmRldl9wcml2YXRlOwo+ICAgCWludCByZXQ7Cj4KPiAtCWlmIChsaXN0X2VtcHR5KCZ2 bWEtPnZtYV9saW5rKSkKPiArCWlmIChsaXN0X2VtcHR5KCZ2bWEtPm9ial9saW5rKSkKPiAgIAkJ cmV0dXJuIDA7Cj4KPiAgIAlpZiAoIWRybV9tbV9ub2RlX2FsbG9jYXRlZCgmdm1hLT5ub2RlKSkg ewo+IEBAIC0yNjE4LDcgKzI2MTgsNyBAQCBzdGF0aWMgaW50IF9faTkxNV92bWFfdW5iaW5kKHN0 cnVjdCBpOTE1X3ZtYSAqdm1hLCBib29sIHdhaXQpCj4gICAJdm1hLT52bS0+dW5iaW5kX3ZtYSh2 bWEpOwo+ICAgCXZtYS0+Ym91bmQgPSAwOwo+Cj4gLQlsaXN0X2RlbF9pbml0KCZ2bWEtPm1tX2xp c3QpOwo+ICsJbGlzdF9kZWxfaW5pdCgmdm1hLT52bV9saW5rKTsKPiAgIAlpZiAoaTkxNV9pc19n Z3R0KHZtYS0+dm0pKSB7Cj4gICAJCWlmICh2bWEtPmdndHRfdmlldy50eXBlID09IEk5MTVfR0dU VF9WSUVXX05PUk1BTCkgewo+ICAgCQkJb2JqLT5tYXBfYW5kX2ZlbmNlYWJsZSA9IGZhbHNlOwo+ IEBAIC0yODc1LDcgKzI4NzUsNyBAQCBzZWFyY2hfZnJlZToKPiAgIAkJZ290byBlcnJfcmVtb3Zl X25vZGU7Cj4KPiAgIAlsaXN0X21vdmVfdGFpbCgmb2JqLT5nbG9iYWxfbGlzdCwgJmRldl9wcml2 LT5tbS5ib3VuZF9saXN0KTsKPiAtCWxpc3RfYWRkX3RhaWwoJnZtYS0+bW1fbGlzdCwgJnZtLT5p bmFjdGl2ZV9saXN0KTsKPiArCWxpc3RfYWRkX3RhaWwoJnZtYS0+dm1fbGluaywgJnZtLT5pbmFj dGl2ZV9saXN0KTsKPgo+ICAgCXJldHVybiB2bWE7Cj4KPiBAQCAtMzA0MCw3ICszMDQwLDcgQEAg aTkxNV9nZW1fb2JqZWN0X3NldF90b19ndHRfZG9tYWluKHN0cnVjdCBkcm1faTkxNV9nZW1fb2Jq ZWN0ICpvYmosIGJvb2wgd3JpdGUpCj4gICAJLyogQW5kIGJ1bXAgdGhlIExSVSBmb3IgdGhpcyBh Y2Nlc3MgKi8KPiAgIAl2bWEgPSBpOTE1X2dlbV9vYmpfdG9fZ2d0dChvYmopOwo+ICAgCWlmICh2 bWEgJiYgZHJtX21tX25vZGVfYWxsb2NhdGVkKCZ2bWEtPm5vZGUpICYmICFvYmotPmFjdGl2ZSkK PiAtCQlsaXN0X21vdmVfdGFpbCgmdm1hLT5tbV9saXN0LAo+ICsJCWxpc3RfbW92ZV90YWlsKCZ2 bWEtPnZtX2xpbmssCj4gICAJCQkgICAgICAgJnRvX2k5MTUob2JqLT5iYXNlLmRldiktPmd0dC5i YXNlLmluYWN0aXZlX2xpc3QpOwo+Cj4gICAJcmV0dXJuIDA7Cj4gQEAgLTMwNzUsNyArMzA3NSw3 IEBAIGludCBpOTE1X2dlbV9vYmplY3Rfc2V0X2NhY2hlX2xldmVsKHN0cnVjdCBkcm1faTkxNV9n ZW1fb2JqZWN0ICpvYmosCj4gICAJICogY2F0Y2ggdGhlIGlzc3VlIG9mIHRoZSBDUyBwcmVmZXRj aCBjcm9zc2luZyBwYWdlIGJvdW5kYXJpZXMgYW5kCj4gICAJICogcmVhZGluZyBhbiBpbnZhbGlk IFBURSBvbiBvbGRlciBhcmNoaXRlY3R1cmVzLgo+ICAgCSAqLwo+IC0JbGlzdF9mb3JfZWFjaF9l bnRyeV9zYWZlKHZtYSwgbmV4dCwgJm9iai0+dm1hX2xpc3QsIHZtYV9saW5rKSB7Cj4gKwlsaXN0 X2Zvcl9lYWNoX2VudHJ5X3NhZmUodm1hLCBuZXh0LCAmb2JqLT52bWFfbGlzdCwgb2JqX2xpbmsp IHsKPiAgIAkJaWYgKCFkcm1fbW1fbm9kZV9hbGxvY2F0ZWQoJnZtYS0+bm9kZSkpCj4gICAJCQlj b250aW51ZTsKPgo+IEBAIC0zMTM4LDcgKzMxMzgsNyBAQCBpbnQgaTkxNV9nZW1fb2JqZWN0X3Nl dF9jYWNoZV9sZXZlbChzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqLAo+ICAgCQkJICov Cj4gICAJCX0KPgo+IC0JCWxpc3RfZm9yX2VhY2hfZW50cnkodm1hLCAmb2JqLT52bWFfbGlzdCwg dm1hX2xpbmspIHsKPiArCQlsaXN0X2Zvcl9lYWNoX2VudHJ5KHZtYSwgJm9iai0+dm1hX2xpc3Qs IG9ial9saW5rKSB7Cj4gICAJCQlpZiAoIWRybV9tbV9ub2RlX2FsbG9jYXRlZCgmdm1hLT5ub2Rl KSkKPiAgIAkJCQljb250aW51ZTsKPgo+IEBAIC0zMTQ4LDcgKzMxNDgsNyBAQCBpbnQgaTkxNV9n ZW1fb2JqZWN0X3NldF9jYWNoZV9sZXZlbChzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2Jq LAo+ICAgCQl9Cj4gICAJfQo+Cj4gLQlsaXN0X2Zvcl9lYWNoX2VudHJ5KHZtYSwgJm9iai0+dm1h X2xpc3QsIHZtYV9saW5rKQo+ICsJbGlzdF9mb3JfZWFjaF9lbnRyeSh2bWEsICZvYmotPnZtYV9s aXN0LCBvYmpfbGluaykKPiAgIAkJdm1hLT5ub2RlLmNvbG9yID0gY2FjaGVfbGV2ZWw7Cj4gICAJ b2JqLT5jYWNoZV9sZXZlbCA9IGNhY2hlX2xldmVsOwo+Cj4gQEAgLTM4MDYsNyArMzgwNiw3IEBA IHZvaWQgaTkxNV9nZW1fZnJlZV9vYmplY3Qoc3RydWN0IGRybV9nZW1fb2JqZWN0ICpnZW1fb2Jq KQo+Cj4gICAJdHJhY2VfaTkxNV9nZW1fb2JqZWN0X2Rlc3Ryb3kob2JqKTsKPgo+IC0JbGlzdF9m b3JfZWFjaF9lbnRyeV9zYWZlKHZtYSwgbmV4dCwgJm9iai0+dm1hX2xpc3QsIHZtYV9saW5rKSB7 Cj4gKwlsaXN0X2Zvcl9lYWNoX2VudHJ5X3NhZmUodm1hLCBuZXh0LCAmb2JqLT52bWFfbGlzdCwg b2JqX2xpbmspIHsKPiAgIAkJaW50IHJldDsKPgo+ICAgCQl2bWEtPnBpbl9jb3VudCA9IDA7Cj4g QEAgLTM4NjMsNyArMzg2Myw3IEBAIHN0cnVjdCBpOTE1X3ZtYSAqaTkxNV9nZW1fb2JqX3RvX3Zt YShzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqLAo+ICAgCQkJCSAgICAgc3RydWN0IGk5 MTVfYWRkcmVzc19zcGFjZSAqdm0pCj4gICB7Cj4gICAJc3RydWN0IGk5MTVfdm1hICp2bWE7Cj4g LQlsaXN0X2Zvcl9lYWNoX2VudHJ5KHZtYSwgJm9iai0+dm1hX2xpc3QsIHZtYV9saW5rKSB7Cj4g KwlsaXN0X2Zvcl9lYWNoX2VudHJ5KHZtYSwgJm9iai0+dm1hX2xpc3QsIG9ial9saW5rKSB7Cj4g ICAJCWlmICh2bWEtPmdndHRfdmlldy50eXBlID09IEk5MTVfR0dUVF9WSUVXX05PUk1BTCAmJgo+ ICAgCQkgICAgdm1hLT52bSA9PSB2bSkKPiAgIAkJCXJldHVybiB2bWE7Cj4gQEAgLTM4ODAsNyAr Mzg4MCw3IEBAIHN0cnVjdCBpOTE1X3ZtYSAqaTkxNV9nZW1fb2JqX3RvX2dndHRfdmlldyhzdHJ1 Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqLAo+ICAgCWlmIChXQVJOX09OQ0UoIXZpZXcsICJu byB2aWV3IHNwZWNpZmllZCIpKQo+ICAgCQlyZXR1cm4gRVJSX1BUUigtRUlOVkFMKTsKPgo+IC0J bGlzdF9mb3JfZWFjaF9lbnRyeSh2bWEsICZvYmotPnZtYV9saXN0LCB2bWFfbGluaykKPiArCWxp c3RfZm9yX2VhY2hfZW50cnkodm1hLCAmb2JqLT52bWFfbGlzdCwgb2JqX2xpbmspCj4gICAJCWlm ICh2bWEtPnZtID09IGdndHQgJiYKPiAgIAkJICAgIGk5MTVfZ2d0dF92aWV3X2VxdWFsKCZ2bWEt PmdndHRfdmlldywgdmlldykpCj4gICAJCQlyZXR1cm4gdm1hOwo+IEBAIC0zOTAxLDcgKzM5MDEs NyBAQCB2b2lkIGk5MTVfZ2VtX3ZtYV9kZXN0cm95KHN0cnVjdCBpOTE1X3ZtYSAqdm1hKQo+ICAg CWlmICghaTkxNV9pc19nZ3R0KHZtKSkKPiAgIAkJaTkxNV9wcGd0dF9wdXQoaTkxNV92bV90b19w cGd0dCh2bSkpOwo+Cj4gLQlsaXN0X2RlbCgmdm1hLT52bWFfbGluayk7Cj4gKwlsaXN0X2RlbCgm dm1hLT5vYmpfbGluayk7Cj4KPiAgIAlrbWVtX2NhY2hlX2ZyZWUodG9faTkxNSh2bWEtPm9iai0+ YmFzZS5kZXYpLT52bWFzLCB2bWEpOwo+ICAgfQo+IEBAIC00NDI0LDcgKzQ0MjQsNyBAQCB1NjQg aTkxNV9nZW1fb2JqX29mZnNldChzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqbywKPgo+ICAg CVdBUk5fT04odm0gPT0gJmRldl9wcml2LT5tbS5hbGlhc2luZ19wcGd0dC0+YmFzZSk7Cj4KPiAt CWxpc3RfZm9yX2VhY2hfZW50cnkodm1hLCAmby0+dm1hX2xpc3QsIHZtYV9saW5rKSB7Cj4gKwls aXN0X2Zvcl9lYWNoX2VudHJ5KHZtYSwgJm8tPnZtYV9saXN0LCBvYmpfbGluaykgewo+ICAgCQlp ZiAoaTkxNV9pc19nZ3R0KHZtYS0+dm0pICYmCj4gICAJCSAgICB2bWEtPmdndHRfdmlldy50eXBl ICE9IEk5MTVfR0dUVF9WSUVXX05PUk1BTCkKPiAgIAkJCWNvbnRpbnVlOwo+IEBAIC00NDQzLDcg KzQ0NDMsNyBAQCB1NjQgaTkxNV9nZW1fb2JqX2dndHRfb2Zmc2V0X3ZpZXcoc3RydWN0IGRybV9p OTE1X2dlbV9vYmplY3QgKm8sCj4gICAJc3RydWN0IGk5MTVfYWRkcmVzc19zcGFjZSAqZ2d0dCA9 IGk5MTVfb2JqX3RvX2dndHQobyk7Cj4gICAJc3RydWN0IGk5MTVfdm1hICp2bWE7Cj4KPiAtCWxp c3RfZm9yX2VhY2hfZW50cnkodm1hLCAmby0+dm1hX2xpc3QsIHZtYV9saW5rKQo+ICsJbGlzdF9m b3JfZWFjaF9lbnRyeSh2bWEsICZvLT52bWFfbGlzdCwgb2JqX2xpbmspCj4gICAJCWlmICh2bWEt PnZtID09IGdndHQgJiYKPiAgIAkJICAgIGk5MTVfZ2d0dF92aWV3X2VxdWFsKCZ2bWEtPmdndHRf dmlldywgdmlldykpCj4gICAJCQlyZXR1cm4gdm1hLT5ub2RlLnN0YXJ0Owo+IEBAIC00NDU3LDcg KzQ0NTcsNyBAQCBib29sIGk5MTVfZ2VtX29ial9ib3VuZChzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29i amVjdCAqbywKPiAgIHsKPiAgIAlzdHJ1Y3QgaTkxNV92bWEgKnZtYTsKPgo+IC0JbGlzdF9mb3Jf ZWFjaF9lbnRyeSh2bWEsICZvLT52bWFfbGlzdCwgdm1hX2xpbmspIHsKPiArCWxpc3RfZm9yX2Vh Y2hfZW50cnkodm1hLCAmby0+dm1hX2xpc3QsIG9ial9saW5rKSB7Cj4gICAJCWlmIChpOTE1X2lz X2dndHQodm1hLT52bSkgJiYKPiAgIAkJICAgIHZtYS0+Z2d0dF92aWV3LnR5cGUgIT0gSTkxNV9H R1RUX1ZJRVdfTk9STUFMKQo+ICAgCQkJY29udGludWU7Cj4gQEAgLTQ0NzQsNyArNDQ3NCw3IEBA IGJvb2wgaTkxNV9nZW1fb2JqX2dndHRfYm91bmRfdmlldyhzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29i amVjdCAqbywKPiAgIAlzdHJ1Y3QgaTkxNV9hZGRyZXNzX3NwYWNlICpnZ3R0ID0gaTkxNV9vYmpf dG9fZ2d0dChvKTsKPiAgIAlzdHJ1Y3QgaTkxNV92bWEgKnZtYTsKPgo+IC0JbGlzdF9mb3JfZWFj aF9lbnRyeSh2bWEsICZvLT52bWFfbGlzdCwgdm1hX2xpbmspCj4gKwlsaXN0X2Zvcl9lYWNoX2Vu dHJ5KHZtYSwgJm8tPnZtYV9saXN0LCBvYmpfbGluaykKPiAgIAkJaWYgKHZtYS0+dm0gPT0gZ2d0 dCAmJgo+ICAgCQkgICAgaTkxNV9nZ3R0X3ZpZXdfZXF1YWwoJnZtYS0+Z2d0dF92aWV3LCB2aWV3 KSAmJgo+ICAgCQkgICAgZHJtX21tX25vZGVfYWxsb2NhdGVkKCZ2bWEtPm5vZGUpKQo+IEBAIC00 NDg3LDcgKzQ0ODcsNyBAQCBib29sIGk5MTVfZ2VtX29ial9ib3VuZF9hbnkoc3RydWN0IGRybV9p OTE1X2dlbV9vYmplY3QgKm8pCj4gICB7Cj4gICAJc3RydWN0IGk5MTVfdm1hICp2bWE7Cj4KPiAt CWxpc3RfZm9yX2VhY2hfZW50cnkodm1hLCAmby0+dm1hX2xpc3QsIHZtYV9saW5rKQo+ICsJbGlz dF9mb3JfZWFjaF9lbnRyeSh2bWEsICZvLT52bWFfbGlzdCwgb2JqX2xpbmspCj4gICAJCWlmIChk cm1fbW1fbm9kZV9hbGxvY2F0ZWQoJnZtYS0+bm9kZSkpCj4gICAJCQlyZXR1cm4gdHJ1ZTsKPgo+ IEBAIC00NTA0LDcgKzQ1MDQsNyBAQCB1bnNpZ25lZCBsb25nIGk5MTVfZ2VtX29ial9zaXplKHN0 cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvLAo+Cj4gICAJQlVHX09OKGxpc3RfZW1wdHkoJm8t PnZtYV9saXN0KSk7Cj4KPiAtCWxpc3RfZm9yX2VhY2hfZW50cnkodm1hLCAmby0+dm1hX2xpc3Qs IHZtYV9saW5rKSB7Cj4gKwlsaXN0X2Zvcl9lYWNoX2VudHJ5KHZtYSwgJm8tPnZtYV9saXN0LCBv YmpfbGluaykgewo+ICAgCQlpZiAoaTkxNV9pc19nZ3R0KHZtYS0+dm0pICYmCj4gICAJCSAgICB2 bWEtPmdndHRfdmlldy50eXBlICE9IEk5MTVfR0dUVF9WSUVXX05PUk1BTCkKPiAgIAkJCWNvbnRp bnVlOwo+IEBAIC00NTE3LDcgKzQ1MTcsNyBAQCB1bnNpZ25lZCBsb25nIGk5MTVfZ2VtX29ial9z aXplKHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvLAo+ICAgYm9vbCBpOTE1X2dlbV9vYmpf aXNfcGlubmVkKHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmopCj4gICB7Cj4gICAJc3Ry dWN0IGk5MTVfdm1hICp2bWE7Cj4gLQlsaXN0X2Zvcl9lYWNoX2VudHJ5KHZtYSwgJm9iai0+dm1h X2xpc3QsIHZtYV9saW5rKQo+ICsJbGlzdF9mb3JfZWFjaF9lbnRyeSh2bWEsICZvYmotPnZtYV9s aXN0LCBvYmpfbGluaykKPiAgIAkJaWYgKHZtYS0+cGluX2NvdW50ID4gMCkKPiAgIAkJCXJldHVy biB0cnVlOwo+Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2Nv bnRleHQuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2NvbnRleHQuYwo+IGluZGV4 IDFhMzA0NTJlYzVmYi4uMjVhODQ5OGYwYjVhIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2k5MTVfZ2VtX2NvbnRleHQuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5 MTVfZ2VtX2NvbnRleHQuYwo+IEBAIC0xNDIsNyArMTQyLDcgQEAgc3RhdGljIHZvaWQgaTkxNV9n ZW1fY29udGV4dF9jbGVhbihzdHJ1Y3QgaW50ZWxfY29udGV4dCAqY3R4KQo+ICAgCQlyZXR1cm47 Cj4KPiAgIAlsaXN0X2Zvcl9lYWNoX2VudHJ5X3NhZmUodm1hLCBuZXh0LCAmcHBndHQtPmJhc2Uu aW5hY3RpdmVfbGlzdCwKPiAtCQkJCSBtbV9saXN0KSB7Cj4gKwkJCQkgdm1fbGluaykgewo+ICAg CQlpZiAoV0FSTl9PTihfX2k5MTVfdm1hX3VuYmluZF9ub193YWl0KHZtYSkpKQo+ICAgCQkJYnJl YWs7Cj4gICAJfQo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9l dmljdC5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZXZpY3QuYwo+IGluZGV4IDA3 YzZlNGQzMjBjOS4uZWExZjhkMWJkMjI4IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2k5MTVfZ2VtX2V2aWN0LmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dl bV9ldmljdC5jCj4gQEAgLTExNiw3ICsxMTYsNyBAQCBpOTE1X2dlbV9ldmljdF9zb21ldGhpbmco c3RydWN0IGRybV9kZXZpY2UgKmRldiwgc3RydWN0IGk5MTVfYWRkcmVzc19zcGFjZSAqdm0sCj4K PiAgIHNlYXJjaF9hZ2FpbjoKPiAgIAkvKiBGaXJzdCBzZWUgaWYgdGhlcmUgaXMgYSBsYXJnZSBl bm91Z2ggY29udGlndW91cyBpZGxlIHJlZ2lvbi4uLiAqLwo+IC0JbGlzdF9mb3JfZWFjaF9lbnRy eSh2bWEsICZ2bS0+aW5hY3RpdmVfbGlzdCwgbW1fbGlzdCkgewo+ICsJbGlzdF9mb3JfZWFjaF9l bnRyeSh2bWEsICZ2bS0+aW5hY3RpdmVfbGlzdCwgdm1fbGluaykgewo+ICAgCQlpZiAobWFya19m cmVlKHZtYSwgJnVud2luZF9saXN0KSkKPiAgIAkJCWdvdG8gZm91bmQ7Cj4gICAJfQo+IEBAIC0x MjUsNyArMTI1LDcgQEAgc2VhcmNoX2FnYWluOgo+ICAgCQlnb3RvIG5vbmU7Cj4KPiAgIAkvKiBO b3cgbWVyZ2UgaW4gdGhlIHNvb24tdG8tYmUtZXhwaXJlZCBvYmplY3RzLi4uICovCj4gLQlsaXN0 X2Zvcl9lYWNoX2VudHJ5KHZtYSwgJnZtLT5hY3RpdmVfbGlzdCwgbW1fbGlzdCkgewo+ICsJbGlz dF9mb3JfZWFjaF9lbnRyeSh2bWEsICZ2bS0+YWN0aXZlX2xpc3QsIHZtX2xpbmspIHsKPiAgIAkJ aWYgKG1hcmtfZnJlZSh2bWEsICZ1bndpbmRfbGlzdCkpCj4gICAJCQlnb3RvIGZvdW5kOwo+ICAg CX0KPiBAQCAtMjcwLDcgKzI3MCw3IEBAIGludCBpOTE1X2dlbV9ldmljdF92bShzdHJ1Y3QgaTkx NV9hZGRyZXNzX3NwYWNlICp2bSwgYm9vbCBkb19pZGxlKQo+ICAgCQlXQVJOX09OKCFsaXN0X2Vt cHR5KCZ2bS0+YWN0aXZlX2xpc3QpKTsKPiAgIAl9Cj4KPiAtCWxpc3RfZm9yX2VhY2hfZW50cnlf c2FmZSh2bWEsIG5leHQsICZ2bS0+aW5hY3RpdmVfbGlzdCwgbW1fbGlzdCkKPiArCWxpc3RfZm9y X2VhY2hfZW50cnlfc2FmZSh2bWEsIG5leHQsICZ2bS0+aW5hY3RpdmVfbGlzdCwgdm1fbGluaykK PiAgIAkJaWYgKHZtYS0+cGluX2NvdW50ID09IDApCj4gICAJCQlXQVJOX09OKGk5MTVfdm1hX3Vu YmluZCh2bWEpKTsKPgo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dl bV9ndHQuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2d0dC5jCj4gaW5kZXggY2M0 ZDU0YjQwNDNlLi4yNWJjZWEzZTZhYjYgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaTkxNV9nZW1fZ3R0LmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9n dHQuYwo+IEBAIC0yNjk2LDcgKzI2OTYsNyBAQCBzdGF0aWMgaW50IGk5MTVfZ2VtX3NldHVwX2ds b2JhbF9ndHQoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKPiAgIAkJCXJldHVybiByZXQ7Cj4gICAJ CX0KPiAgIAkJdm1hLT5ib3VuZCB8PSBHTE9CQUxfQklORDsKPiAtCQlsaXN0X2FkZF90YWlsKCZ2 bWEtPm1tX2xpc3QsICZnZ3R0X3ZtLT5pbmFjdGl2ZV9saXN0KTsKPiArCQlsaXN0X2FkZF90YWls KCZ2bWEtPnZtX2xpbmssICZnZ3R0X3ZtLT5pbmFjdGl2ZV9saXN0KTsKPiAgIAl9Cj4KPiAgIAkv KiBDbGVhciBhbnkgbm9uLXByZWFsbG9jYXRlZCBibG9ja3MgKi8KPiBAQCAtMzE4MSw3ICszMTgx LDcgQEAgdm9pZCBpOTE1X2dlbV9yZXN0b3JlX2d0dF9tYXBwaW5ncyhzdHJ1Y3QgZHJtX2Rldmlj ZSAqZGV2KQo+ICAgCXZtID0gJmRldl9wcml2LT5ndHQuYmFzZTsKPiAgIAlsaXN0X2Zvcl9lYWNo X2VudHJ5KG9iaiwgJmRldl9wcml2LT5tbS5ib3VuZF9saXN0LCBnbG9iYWxfbGlzdCkgewo+ICAg CQlmbHVzaCA9IGZhbHNlOwo+IC0JCWxpc3RfZm9yX2VhY2hfZW50cnkodm1hLCAmb2JqLT52bWFf bGlzdCwgdm1hX2xpbmspIHsKPiArCQlsaXN0X2Zvcl9lYWNoX2VudHJ5KHZtYSwgJm9iai0+dm1h X2xpc3QsIG9ial9saW5rKSB7Cj4gICAJCQlpZiAodm1hLT52bSAhPSB2bSkKPiAgIAkJCQljb250 aW51ZTsKPgo+IEBAIC0zMjM3LDggKzMyMzcsOCBAQCBfX2k5MTVfZ2VtX3ZtYV9jcmVhdGUoc3Ry dWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaiwKPiAgIAlpZiAodm1hID09IE5VTEwpCj4gICAJ CXJldHVybiBFUlJfUFRSKC1FTk9NRU0pOwo+Cj4gLQlJTklUX0xJU1RfSEVBRCgmdm1hLT52bWFf bGluayk7Cj4gLQlJTklUX0xJU1RfSEVBRCgmdm1hLT5tbV9saXN0KTsKPiArCUlOSVRfTElTVF9I RUFEKCZ2bWEtPnZtX2xpbmspOwo+ICsJSU5JVF9MSVNUX0hFQUQoJnZtYS0+b2JqX2xpbmspOwo+ ICAgCUlOSVRfTElTVF9IRUFEKCZ2bWEtPmV4ZWNfbGlzdCk7Cj4gICAJdm1hLT52bSA9IHZtOwo+ ICAgCXZtYS0+b2JqID0gb2JqOwo+IEBAIC0zMjQ2LDcgKzMyNDYsNyBAQCBfX2k5MTVfZ2VtX3Zt YV9jcmVhdGUoc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaiwKPiAgIAlpZiAoaTkxNV9p c19nZ3R0KHZtKSkKPiAgIAkJdm1hLT5nZ3R0X3ZpZXcgPSAqZ2d0dF92aWV3Owo+Cj4gLQlsaXN0 X2FkZF90YWlsKCZ2bWEtPnZtYV9saW5rLCAmb2JqLT52bWFfbGlzdCk7Cj4gKwlsaXN0X2FkZF90 YWlsKCZ2bWEtPm9ial9saW5rLCAmb2JqLT52bWFfbGlzdCk7Cj4gICAJaWYgKCFpOTE1X2lzX2dn dHQodm0pKQo+ICAgCQlpOTE1X3BwZ3R0X2dldChpOTE1X3ZtX3RvX3BwZ3R0KHZtKSk7Cj4KPiBk aWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZ3R0LmggYi9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9ndHQuaAo+IGluZGV4IGI0NDhhZDgzMmRjZi4uMjQ5NzY3 MWQxZTFhIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2d0dC5o Cj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZ3R0LmgKPiBAQCAtMTk1LDkg KzE5NSw5IEBAIHN0cnVjdCBpOTE1X3ZtYSB7Cj4gICAJc3RydWN0IGk5MTVfZ2d0dF92aWV3IGdn dHRfdmlldzsKPgo+ICAgCS8qKiBUaGlzIG9iamVjdCdzIHBsYWNlIG9uIHRoZSBhY3RpdmUvaW5h Y3RpdmUgbGlzdHMgKi8KPiAtCXN0cnVjdCBsaXN0X2hlYWQgbW1fbGlzdDsKPiArCXN0cnVjdCBs aXN0X2hlYWQgdm1fbGluazsKPgo+IC0Jc3RydWN0IGxpc3RfaGVhZCB2bWFfbGluazsgLyogTGlu ayBpbiB0aGUgb2JqZWN0J3MgVk1BIGxpc3QgKi8KPiArCXN0cnVjdCBsaXN0X2hlYWQgb2JqX2xp bms7IC8qIExpbmsgaW4gdGhlIG9iamVjdCdzIFZNQSBsaXN0ICovCj4KPiAgIAkvKiogVGhpcyB2 bWEncyBwbGFjZSBpbiB0aGUgYmF0Y2hidWZmZXIgb3Igb24gdGhlIGV2aWN0aW9uIGxpc3QgKi8K PiAgIAlzdHJ1Y3QgbGlzdF9oZWFkIGV4ZWNfbGlzdDsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9n cHUvZHJtL2k5MTUvaTkxNV9nZW1fc2hyaW5rZXIuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5 MTVfZ2VtX3Nocmlua2VyLmMKPiBpbmRleCBmN2RmNTRhOGVlMmIuLjJlZjdhMTU4YjUxMCAxMDA2 NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9zaHJpbmtlci5jCj4gKysr IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fc2hyaW5rZXIuYwo+IEBAIC0xMzMsNyAr MTMzLDcgQEAgaTkxNV9nZW1fc2hyaW5rKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJp diwKPgo+ICAgCQkJLyogRm9yIHRoZSB1bmJvdW5kIHBoYXNlLCB0aGlzIHNob3VsZCBiZSBhIG5v LW9wISAqLwo+ICAgCQkJbGlzdF9mb3JfZWFjaF9lbnRyeV9zYWZlKHZtYSwgdiwKPiAtCQkJCQkJ ICZvYmotPnZtYV9saXN0LCB2bWFfbGluaykKPiArCQkJCQkJICZvYmotPnZtYV9saXN0LCBvYmpf bGluaykKPiAgIAkJCQlpZiAoaTkxNV92bWFfdW5iaW5kKHZtYSkpCj4gICAJCQkJCWJyZWFrOwo+ Cj4gQEAgLTE5Myw3ICsxOTMsNyBAQCBzdGF0aWMgaW50IG51bV92bWFfYm91bmQoc3RydWN0IGRy bV9pOTE1X2dlbV9vYmplY3QgKm9iaikKPiAgIAlzdHJ1Y3QgaTkxNV92bWEgKnZtYTsKPiAgIAlp bnQgY291bnQgPSAwOwo+Cj4gLQlsaXN0X2Zvcl9lYWNoX2VudHJ5KHZtYSwgJm9iai0+dm1hX2xp c3QsIHZtYV9saW5rKSB7Cj4gKwlsaXN0X2Zvcl9lYWNoX2VudHJ5KHZtYSwgJm9iai0+dm1hX2xp c3QsIG9ial9saW5rKSB7Cj4gICAJCWlmIChkcm1fbW1fbm9kZV9hbGxvY2F0ZWQoJnZtYS0+bm9k ZSkpCj4gICAJCQljb3VudCsrOwo+ICAgCQlpZiAodm1hLT5waW5fY291bnQpCj4gZGlmZiAtLWdp dCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX3N0b2xlbi5jIGIvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaTkxNV9nZW1fc3RvbGVuLmMKPiBpbmRleCA1OThlZDJmYWNmODUuLjMwNWQ1OGE1 Zjc0NSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9zdG9sZW4u Ywo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX3N0b2xlbi5jCj4gQEAgLTY4 OCw3ICs2ODgsNyBAQCBpOTE1X2dlbV9vYmplY3RfY3JlYXRlX3N0b2xlbl9mb3JfcHJlYWxsb2Nh dGVkKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCj4gICAJCX0KPgo+ICAgCQl2bWEtPmJvdW5kIHw9 IEdMT0JBTF9CSU5EOwo+IC0JCWxpc3RfYWRkX3RhaWwoJnZtYS0+bW1fbGlzdCwgJmdndHQtPmlu YWN0aXZlX2xpc3QpOwo+ICsJCWxpc3RfYWRkX3RhaWwoJnZtYS0+dm1fbGluaywgJmdndHQtPmlu YWN0aXZlX2xpc3QpOwo+ICAgCX0KPgo+ICAgCWxpc3RfYWRkX3RhaWwoJm9iai0+Z2xvYmFsX2xp c3QsICZkZXZfcHJpdi0+bW0uYm91bmRfbGlzdCk7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2k5MTVfZ2VtX3VzZXJwdHIuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVf Z2VtX3VzZXJwdHIuYwo+IGluZGV4IDI1MWU4MWM0YjBlYS4uMmYzNjM4ZDAyYmRkIDEwMDY0NAo+ IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX3VzZXJwdHIuYwo+ICsrKyBiL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX3VzZXJwdHIuYwo+IEBAIC04MSw3ICs4MSw3IEBA IHN0YXRpYyB2b2lkIF9fY2FuY2VsX3VzZXJwdHJfX3dvcmtlcihzdHJ1Y3Qgd29ya19zdHJ1Y3Qg KndvcmspCj4gICAJCXdhc19pbnRlcnJ1cHRpYmxlID0gZGV2X3ByaXYtPm1tLmludGVycnVwdGli bGU7Cj4gICAJCWRldl9wcml2LT5tbS5pbnRlcnJ1cHRpYmxlID0gZmFsc2U7Cj4KPiAtCQlsaXN0 X2Zvcl9lYWNoX2VudHJ5X3NhZmUodm1hLCB0bXAsICZvYmotPnZtYV9saXN0LCB2bWFfbGluaykK PiArCQlsaXN0X2Zvcl9lYWNoX2VudHJ5X3NhZmUodm1hLCB0bXAsICZvYmotPnZtYV9saXN0LCBv YmpfbGluaykKPiAgIAkJCVdBUk5fT04oaTkxNV92bWFfdW5iaW5kKHZtYSkpOwo+ICAgCQlXQVJO X09OKGk5MTVfZ2VtX29iamVjdF9wdXRfcGFnZXMob2JqKSk7Cj4KPiBkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvaTkxNV9ncHVfZXJyb3IuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2k5MTVfZ3B1X2Vycm9yLmMKPiBpbmRleCBkMjdjMDc5ODJjODkuLjlhYjc3ODc1ZWNiZCAxMDA2 NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dwdV9lcnJvci5jCj4gKysrIGIv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9ncHVfZXJyb3IuYwo+IEBAIC03MzEsNyArNzMxLDcg QEAgc3RhdGljIHUzMiBjYXB0dXJlX2FjdGl2ZV9ibyhzdHJ1Y3QgZHJtX2k5MTVfZXJyb3JfYnVm ZmVyICplcnIsCj4gICAJc3RydWN0IGk5MTVfdm1hICp2bWE7Cj4gICAJaW50IGkgPSAwOwo+Cj4g LQlsaXN0X2Zvcl9lYWNoX2VudHJ5KHZtYSwgaGVhZCwgbW1fbGlzdCkgewo+ICsJbGlzdF9mb3Jf ZWFjaF9lbnRyeSh2bWEsIGhlYWQsIHZtX2xpbmspIHsKPiAgIAkJY2FwdHVyZV9ibyhlcnIrKywg dm1hKTsKPiAgIAkJaWYgKCsraSA9PSBjb3VudCkKPiAgIAkJCWJyZWFrOwo+IEBAIC03NTQsNyAr NzU0LDcgQEAgc3RhdGljIHUzMiBjYXB0dXJlX3Bpbm5lZF9ibyhzdHJ1Y3QgZHJtX2k5MTVfZXJy b3JfYnVmZmVyICplcnIsCj4gICAJCWlmIChlcnIgPT0gbGFzdCkKPiAgIAkJCWJyZWFrOwo+Cj4g LQkJbGlzdF9mb3JfZWFjaF9lbnRyeSh2bWEsICZvYmotPnZtYV9saXN0LCB2bWFfbGluaykKPiAr CQlsaXN0X2Zvcl9lYWNoX2VudHJ5KHZtYSwgJm9iai0+dm1hX2xpc3QsIG9ial9saW5rKQo+ICAg CQkJaWYgKHZtYS0+dm0gPT0gdm0gJiYgdm1hLT5waW5fY291bnQgPiAwKQo+ICAgCQkJCWNhcHR1 cmVfYm8oZXJyKyssIHZtYSk7Cj4gICAJfQo+IEBAIC0xMTE1LDEyICsxMTE1LDEyIEBAIHN0YXRp YyB2b2lkIGk5MTVfZ2VtX2NhcHR1cmVfdm0oc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9w cml2LAo+ICAgCWludCBpOwo+Cj4gICAJaSA9IDA7Cj4gLQlsaXN0X2Zvcl9lYWNoX2VudHJ5KHZt YSwgJnZtLT5hY3RpdmVfbGlzdCwgbW1fbGlzdCkKPiArCWxpc3RfZm9yX2VhY2hfZW50cnkodm1h LCAmdm0tPmFjdGl2ZV9saXN0LCB2bV9saW5rKQo+ICAgCQlpKys7Cj4gICAJZXJyb3ItPmFjdGl2 ZV9ib19jb3VudFtuZHhdID0gaTsKPgo+ICAgCWxpc3RfZm9yX2VhY2hfZW50cnkob2JqLCAmZGV2 X3ByaXYtPm1tLmJvdW5kX2xpc3QsIGdsb2JhbF9saXN0KSB7Cj4gLQkJbGlzdF9mb3JfZWFjaF9l bnRyeSh2bWEsICZvYmotPnZtYV9saXN0LCB2bWFfbGluaykKPiArCQlsaXN0X2Zvcl9lYWNoX2Vu dHJ5KHZtYSwgJm9iai0+dm1hX2xpc3QsIG9ial9saW5rKQo+ICAgCQkJaWYgKHZtYS0+dm0gPT0g dm0gJiYgdm1hLT5waW5fY291bnQgPiAwKQo+ICAgCQkJCWkrKzsKPiAgIAl9Cj4KX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcg bGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHA6Ly9saXN0cy5mcmVlZGVz a3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK