From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tvrtko Ursulin Subject: Re: [PATCH 076/190] drm/i915: Rename vma->*_list to *_link for consistency Date: Tue, 12 Jan 2016 13:49:47 +0000 Message-ID: <5695047B.6070705@linux.intel.com> References: <1452503961-14837-1-git-send-email-chris@chris-wilson.co.uk> <1452503961-14837-76-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 mga03.intel.com (mga03.intel.com [134.134.136.65]) by gabe.freedesktop.org (Postfix) with ESMTP id E9D2D6E64E for ; Tue, 12 Jan 2016 05:49:49 -0800 (PST) In-Reply-To: <1452503961-14837-76-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 CgpPbiAxMS8wMS8xNiAwOToxNywgQ2hyaXMgV2lsc29uIHdyb3RlOgo+IEVsc2V3aGVyZSB3ZSBo YXZlIGFkb3B0ZWQgdGhlIGNvbnZlbnRpb24gb2YgdXNpbmcgJ19saW5rJyB0byBkZW5vdGUKPiBl bGVtZW50cyBpbiB0aGUgbGlzdCAoYW5kICdfbGlzdCcgZm9yIHRoZSBhY3R1YWwgbGlzdF9oZWFk IGl0c2VsZiksIGFuZAo+IHRoYXQgdGhlIG5hbWUgc2hvdWxkIGluZGljYXRlIHdoaWNoIGxpc3Qg dGhlIGxpbmsgYmVsb25ncyB0byAoYW5kCj4gcHJlZmVycmFibHkgbm90IGp1c3Qgd2hlcmUgdGhl IGxpbmsgaXMgYmVpbmcgc3RvcmVkKS4KPgo+IHMvdm1hX2xpbmsvb2JqX2xpbmsvICh3ZSBpdGVy YXRlIG92ZXIgb2JqLT52bWFfbGlzdCkKPiBzL21tX2xpc3Qvdm1fbGluay8gKHdlIGl0ZXJhdGUg b3ZlciB2bS0+W2luXWFjdGl2ZV9saXN0KQo+Cj4gU2lnbmVkLW9mZi1ieTogQ2hyaXMgV2lsc29u IDxjaHJpc0BjaHJpcy13aWxzb24uY28udWs+Cj4gLS0tCj4gICBkcml2ZXJzL2dwdS9kcm0vaTkx NS9pOTE1X2RlYnVnZnMuYyAgICAgIHwgMTcgKysrKystLS0tLS0KPiAgIGRyaXZlcnMvZ3B1L2Ry bS9pOTE1L2k5MTVfZ2VtLmMgICAgICAgICAgfCA1MCArKysrKysrKysrKysrKysrLS0tLS0tLS0t LS0tLS0tLQo+ICAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fY29udGV4dC5jICB8ICAy ICstCj4gICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9ldmljdC5jICAgIHwgIDYgKyst LQo+ICAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZ3R0LmMgICAgICB8IDEwICsrKy0t LS0KPiAgIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2d0dC5oICAgICAgfCAgNCArLS0K PiAgIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX3Nocmlua2VyLmMgfCAgNCArLS0KPiAg IGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX3N0b2xlbi5jICAgfCAgMiArLQo+ICAgZHJp dmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fdXNlcnB0ci5jICB8ICAyICstCj4gICBkcml2ZXJz L2dwdS9kcm0vaTkxNS9pOTE1X2dwdV9lcnJvci5jICAgIHwgIDggKystLS0KPiAgIDEwIGZpbGVz IGNoYW5nZWQsIDUyIGluc2VydGlvbnMoKyksIDUzIGRlbGV0aW9ucygtKQoKUmV2aWV3ZWQtYnk6 IFR2cnRrbyBVcnN1bGluIDx0dnJ0a28udXJzdWxpbkBpbnRlbC5jb20+CgpSZWdhcmRzLAoKVHZy dGtvCgo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2RlYnVnZnMuYyBi L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZGVidWdmcy5jCj4gaW5kZXggZWZhOTU3MmZjMjE3 Li5mMzExZGY3NTgxOTUgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9k ZWJ1Z2ZzLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2RlYnVnZnMuYwo+IEBA IC0xMTcsOSArMTE3LDggQEAgc3RhdGljIHU2NCBpOTE1X2dlbV9vYmpfdG90YWxfZ2d0dF9zaXpl KHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmopCj4gICAJdTY0IHNpemUgPSAwOwo+ICAg CXN0cnVjdCBpOTE1X3ZtYSAqdm1hOwo+Cj4gLQlsaXN0X2Zvcl9lYWNoX2VudHJ5KHZtYSwgJm9i ai0+dm1hX2xpc3QsIHZtYV9saW5rKSB7Cj4gLQkJaWYgKGk5MTVfaXNfZ2d0dCh2bWEtPnZtKSAm Jgo+IC0JCSAgICBkcm1fbW1fbm9kZV9hbGxvY2F0ZWQoJnZtYS0+bm9kZSkpCj4gKwlsaXN0X2Zv cl9lYWNoX2VudHJ5KHZtYSwgJm9iai0+dm1hX2xpc3QsIG9ial9saW5rKSB7Cj4gKwkJaWYgKGk5 MTVfaXNfZ2d0dCh2bWEtPnZtKSAmJiBkcm1fbW1fbm9kZV9hbGxvY2F0ZWQoJnZtYS0+bm9kZSkp Cj4gICAJCQlzaXplICs9IHZtYS0+bm9kZS5zaXplOwo+ICAgCX0KPgo+IEBAIC0xNTUsNyArMTU0 LDcgQEAgZGVzY3JpYmVfb2JqKHN0cnVjdCBzZXFfZmlsZSAqbSwgc3RydWN0IGRybV9pOTE1X2dl bV9vYmplY3QgKm9iaikKPiAgIAkJICAgb2JqLT5tYWR2ID09IEk5MTVfTUFEVl9ET05UTkVFRCA/ ICIgcHVyZ2VhYmxlIiA6ICIiKTsKPiAgIAlpZiAob2JqLT5iYXNlLm5hbWUpCj4gICAJCXNlcV9w cmludGYobSwgIiAobmFtZTogJWQpIiwgb2JqLT5iYXNlLm5hbWUpOwo+IC0JbGlzdF9mb3JfZWFj aF9lbnRyeSh2bWEsICZvYmotPnZtYV9saXN0LCB2bWFfbGluaykgewo+ICsJbGlzdF9mb3JfZWFj aF9lbnRyeSh2bWEsICZvYmotPnZtYV9saXN0LCBvYmpfbGluaykgewo+ICAgCQlpZiAodm1hLT5w aW5fY291bnQgPiAwKQo+ICAgCQkJcGluX2NvdW50Kys7Cj4gICAJfQo+IEBAIC0xNjQsNyArMTYz LDcgQEAgZGVzY3JpYmVfb2JqKHN0cnVjdCBzZXFfZmlsZSAqbSwgc3RydWN0IGRybV9pOTE1X2dl bV9vYmplY3QgKm9iaikKPiAgIAkJc2VxX3ByaW50ZihtLCAiIChkaXNwbGF5KSIpOwo+ICAgCWlm IChvYmotPmZlbmNlX3JlZyAhPSBJOTE1X0ZFTkNFX1JFR19OT05FKQo+ICAgCQlzZXFfcHJpbnRm KG0sICIgKGZlbmNlOiAlZCkiLCBvYmotPmZlbmNlX3JlZyk7Cj4gLQlsaXN0X2Zvcl9lYWNoX2Vu dHJ5KHZtYSwgJm9iai0+dm1hX2xpc3QsIHZtYV9saW5rKSB7Cj4gKwlsaXN0X2Zvcl9lYWNoX2Vu dHJ5KHZtYSwgJm9iai0+dm1hX2xpc3QsIG9ial9saW5rKSB7Cj4gICAJCXNlcV9wcmludGYobSwg IiAoJXNndHQgb2Zmc2V0OiAlMDhsbHgsIHNpemU6ICUwOGxseCIsCj4gICAJCQkgICBpOTE1X2lz X2dndHQodm1hLT52bSkgPyAiZyIgOiAicHAiLAo+ICAgCQkJICAgdm1hLT5ub2RlLnN0YXJ0LCB2 bWEtPm5vZGUuc2l6ZSk7Cj4gQEAgLTIyOSw3ICsyMjgsNyBAQCBzdGF0aWMgaW50IGk5MTVfZ2Vt X29iamVjdF9saXN0X2luZm8oc3RydWN0IHNlcV9maWxlICptLCB2b2lkICpkYXRhKQo+ICAgCX0K Pgo+ICAgCXRvdGFsX29ial9zaXplID0gdG90YWxfZ3R0X3NpemUgPSBjb3VudCA9IDA7Cj4gLQls aXN0X2Zvcl9lYWNoX2VudHJ5KHZtYSwgaGVhZCwgbW1fbGlzdCkgewo+ICsJbGlzdF9mb3JfZWFj aF9lbnRyeSh2bWEsIGhlYWQsIHZtX2xpbmspIHsKPiAgIAkJc2VxX3ByaW50ZihtLCAiICAgIik7 Cj4gICAJCWRlc2NyaWJlX29iaihtLCB2bWEtPm9iaik7Cj4gICAJCXNlcV9wcmludGYobSwgIlxu Iik7Cj4gQEAgLTM0MSw3ICszNDAsNyBAQCBzdGF0aWMgaW50IHBlcl9maWxlX3N0YXRzKGludCBp ZCwgdm9pZCAqcHRyLCB2b2lkICpkYXRhKQo+ICAgCQlzdGF0cy0+c2hhcmVkICs9IG9iai0+YmFz ZS5zaXplOwo+Cj4gICAJaWYgKFVTRVNfRlVMTF9QUEdUVChvYmotPmJhc2UuZGV2KSkgewo+IC0J CWxpc3RfZm9yX2VhY2hfZW50cnkodm1hLCAmb2JqLT52bWFfbGlzdCwgdm1hX2xpbmspIHsKPiAr CQlsaXN0X2Zvcl9lYWNoX2VudHJ5KHZtYSwgJm9iai0+dm1hX2xpc3QsIG9ial9saW5rKSB7Cj4g ICAJCQlzdHJ1Y3QgaTkxNV9od19wcGd0dCAqcHBndHQ7Cj4KPiAgIAkJCWlmICghZHJtX21tX25v ZGVfYWxsb2NhdGVkKCZ2bWEtPm5vZGUpKQo+IEBAIC00NTMsMTIgKzQ1MiwxMiBAQCBzdGF0aWMg aW50IGk5MTVfZ2VtX29iamVjdF9pbmZvKHN0cnVjdCBzZXFfZmlsZSAqbSwgdm9pZCogZGF0YSkK PiAgIAkJICAgY291bnQsIG1hcHBhYmxlX2NvdW50LCBzaXplLCBtYXBwYWJsZV9zaXplKTsKPgo+ ICAgCXNpemUgPSBjb3VudCA9IG1hcHBhYmxlX3NpemUgPSBtYXBwYWJsZV9jb3VudCA9IDA7Cj4g LQljb3VudF92bWFzKCZ2bS0+YWN0aXZlX2xpc3QsIG1tX2xpc3QpOwo+ICsJY291bnRfdm1hcygm dm0tPmFjdGl2ZV9saXN0LCB2bV9saW5rKTsKPiAgIAlzZXFfcHJpbnRmKG0sICIgICV1IFsldV0g YWN0aXZlIG9iamVjdHMsICVsbHUgWyVsbHVdIGJ5dGVzXG4iLAo+ICAgCQkgICBjb3VudCwgbWFw cGFibGVfY291bnQsIHNpemUsIG1hcHBhYmxlX3NpemUpOwo+Cj4gICAJc2l6ZSA9IGNvdW50ID0g bWFwcGFibGVfc2l6ZSA9IG1hcHBhYmxlX2NvdW50ID0gMDsKPiAtCWNvdW50X3ZtYXMoJnZtLT5p bmFjdGl2ZV9saXN0LCBtbV9saXN0KTsKPiArCWNvdW50X3ZtYXMoJnZtLT5pbmFjdGl2ZV9saXN0 LCB2bV9saW5rKTsKPiAgIAlzZXFfcHJpbnRmKG0sICIgICV1IFsldV0gaW5hY3RpdmUgb2JqZWN0 cywgJWxsdSBbJWxsdV0gYnl0ZXNcbiIsCj4gICAJCSAgIGNvdW50LCBtYXBwYWJsZV9jb3VudCwg c2l6ZSwgbWFwcGFibGVfc2l6ZSk7Cj4KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaTkxNV9nZW0uYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMKPiBpbmRleCA0 ZWVmMTNlYmRhZjMuLmU0ZDdjN2Y1YWNhMiAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pOTE1X2dlbS5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW0uYwo+ IEBAIC0xMjgsMTAgKzEyOCwxMCBAQCBpOTE1X2dlbV9nZXRfYXBlcnR1cmVfaW9jdGwoc3RydWN0 IGRybV9kZXZpY2UgKmRldiwgdm9pZCAqZGF0YSwKPgo+ICAgCXBpbm5lZCA9IDA7Cj4gICAJbXV0 ZXhfbG9jaygmZGV2LT5zdHJ1Y3RfbXV0ZXgpOwo+IC0JbGlzdF9mb3JfZWFjaF9lbnRyeSh2bWEs ICZnZ3R0LT5iYXNlLmFjdGl2ZV9saXN0LCBtbV9saXN0KQo+ICsJbGlzdF9mb3JfZWFjaF9lbnRy eSh2bWEsICZnZ3R0LT5iYXNlLmFjdGl2ZV9saXN0LCB2bV9saW5rKQo+ICAgCQlpZiAodm1hLT5w aW5fY291bnQpCj4gICAJCQlwaW5uZWQgKz0gdm1hLT5ub2RlLnNpemU7Cj4gLQlsaXN0X2Zvcl9l YWNoX2VudHJ5KHZtYSwgJmdndHQtPmJhc2UuaW5hY3RpdmVfbGlzdCwgbW1fbGlzdCkKPiArCWxp c3RfZm9yX2VhY2hfZW50cnkodm1hLCAmZ2d0dC0+YmFzZS5pbmFjdGl2ZV9saXN0LCB2bV9saW5r KQo+ICAgCQlpZiAodm1hLT5waW5fY291bnQpCj4gICAJCQlwaW5uZWQgKz0gdm1hLT5ub2RlLnNp emU7Cj4gICAJbXV0ZXhfdW5sb2NrKCZkZXYtPnN0cnVjdF9tdXRleCk7Cj4gQEAgLTI2MSw3ICsy NjEsNyBAQCBkcm9wX3BhZ2VzKHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmopCj4gICAJ aW50IHJldDsKPgo+ICAgCWRybV9nZW1fb2JqZWN0X3JlZmVyZW5jZSgmb2JqLT5iYXNlKTsKPiAt CWxpc3RfZm9yX2VhY2hfZW50cnlfc2FmZSh2bWEsIG5leHQsICZvYmotPnZtYV9saXN0LCB2bWFf bGluaykKPiArCWxpc3RfZm9yX2VhY2hfZW50cnlfc2FmZSh2bWEsIG5leHQsICZvYmotPnZtYV9s aXN0LCBvYmpfbGluaykKPiAgIAkJaWYgKGk5MTVfdm1hX3VuYmluZCh2bWEpKQo+ICAgCQkJYnJl YWs7Cj4KPiBAQCAtMjAzOCw3ICsyMDM4LDcgQEAgdm9pZCBpOTE1X3ZtYV9tb3ZlX3RvX2FjdGl2 ZShzdHJ1Y3QgaTkxNV92bWEgKnZtYSwKPiAgIAlvYmotPmFjdGl2ZSB8PSBpbnRlbF9lbmdpbmVf ZmxhZyhlbmdpbmUpOwo+Cj4gICAJaTkxNV9nZW1fcmVxdWVzdF9tYXJrX2FjdGl2ZShyZXEsICZv YmotPmxhc3RfcmVhZFtlbmdpbmUtPmlkXSk7Cj4gLQlsaXN0X21vdmVfdGFpbCgmdm1hLT5tbV9s aXN0LCAmdm1hLT52bS0+YWN0aXZlX2xpc3QpOwo+ICsJbGlzdF9tb3ZlX3RhaWwoJnZtYS0+dm1f bGluaywgJnZtYS0+dm0tPmFjdGl2ZV9saXN0KTsKPiAgIH0KPgo+ICAgc3RhdGljIHZvaWQKPiBA QCAtMjA3OSw5ICsyMDc5LDkgQEAgaTkxNV9nZW1fb2JqZWN0X3JldGlyZV9fcmVhZChzdHJ1Y3Qg aTkxNV9nZW1fYWN0aXZlICphY3RpdmUsCj4gICAJICovCj4gICAJbGlzdF9tb3ZlX3RhaWwoJm9i ai0+Z2xvYmFsX2xpc3QsICZyZXF1ZXN0LT5pOTE1LT5tbS5ib3VuZF9saXN0KTsKPgo+IC0JbGlz dF9mb3JfZWFjaF9lbnRyeSh2bWEsICZvYmotPnZtYV9saXN0LCB2bWFfbGluaykgewo+IC0JCWlm ICghbGlzdF9lbXB0eSgmdm1hLT5tbV9saXN0KSkKPiAtCQkJbGlzdF9tb3ZlX3RhaWwoJnZtYS0+ bW1fbGlzdCwgJnZtYS0+dm0tPmluYWN0aXZlX2xpc3QpOwo+ICsJbGlzdF9mb3JfZWFjaF9lbnRy eSh2bWEsICZvYmotPnZtYV9saXN0LCBvYmpfbGluaykgewo+ICsJCWlmICghbGlzdF9lbXB0eSgm dm1hLT52bV9saW5rKSkKPiArCQkJbGlzdF9tb3ZlX3RhaWwoJnZtYS0+dm1fbGluaywgJnZtYS0+ dm0tPmluYWN0aXZlX2xpc3QpOwo+ICAgCX0KPgo+ICAgCWRybV9nZW1fb2JqZWN0X3VucmVmZXJl bmNlKCZvYmotPmJhc2UpOwo+IEBAIC0yNTc2LDcgKzI1NzYsNyBAQCBzdGF0aWMgaW50IF9faTkx NV92bWFfdW5iaW5kKHN0cnVjdCBpOTE1X3ZtYSAqdm1hLCBib29sIHdhaXQpCj4gICAJc3RydWN0 IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gb2JqLT5iYXNlLmRldi0+ZGV2X3ByaXZhdGU7 Cj4gICAJaW50IHJldDsKPgo+IC0JaWYgKGxpc3RfZW1wdHkoJnZtYS0+dm1hX2xpbmspKQo+ICsJ aWYgKGxpc3RfZW1wdHkoJnZtYS0+b2JqX2xpbmspKQo+ICAgCQlyZXR1cm4gMDsKPgo+ICAgCWlm ICghZHJtX21tX25vZGVfYWxsb2NhdGVkKCZ2bWEtPm5vZGUpKSB7Cj4gQEAgLTI2MTAsNyArMjYx MCw3IEBAIHN0YXRpYyBpbnQgX19pOTE1X3ZtYV91bmJpbmQoc3RydWN0IGk5MTVfdm1hICp2bWEs IGJvb2wgd2FpdCkKPiAgIAl2bWEtPnZtLT51bmJpbmRfdm1hKHZtYSk7Cj4gICAJdm1hLT5ib3Vu ZCA9IDA7Cj4KPiAtCWxpc3RfZGVsX2luaXQoJnZtYS0+bW1fbGlzdCk7Cj4gKwlsaXN0X2RlbF9p bml0KCZ2bWEtPnZtX2xpbmspOwo+ICAgCWlmIChpOTE1X2lzX2dndHQodm1hLT52bSkpIHsKPiAg IAkJaWYgKHZtYS0+Z2d0dF92aWV3LnR5cGUgPT0gSTkxNV9HR1RUX1ZJRVdfTk9STUFMKSB7Cj4g ICAJCQlvYmotPm1hcF9hbmRfZmVuY2VhYmxlID0gZmFsc2U7Cj4gQEAgLTI4NjQsNyArMjg2NCw3 IEBAIHNlYXJjaF9mcmVlOgo+ICAgCQlnb3RvIGVycl9yZW1vdmVfbm9kZTsKPgo+ICAgCWxpc3Rf bW92ZV90YWlsKCZvYmotPmdsb2JhbF9saXN0LCAmZGV2X3ByaXYtPm1tLmJvdW5kX2xpc3QpOwo+ IC0JbGlzdF9hZGRfdGFpbCgmdm1hLT5tbV9saXN0LCAmdm0tPmluYWN0aXZlX2xpc3QpOwo+ICsJ bGlzdF9hZGRfdGFpbCgmdm1hLT52bV9saW5rLCAmdm0tPmluYWN0aXZlX2xpc3QpOwo+Cj4gICAJ cmV0dXJuIHZtYTsKPgo+IEBAIC0zMDI5LDcgKzMwMjksNyBAQCBpOTE1X2dlbV9vYmplY3Rfc2V0 X3RvX2d0dF9kb21haW4oc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaiwgYm9vbCB3cml0 ZSkKPiAgIAkvKiBBbmQgYnVtcCB0aGUgTFJVIGZvciB0aGlzIGFjY2VzcyAqLwo+ICAgCXZtYSA9 IGk5MTVfZ2VtX29ial90b19nZ3R0KG9iaik7Cj4gICAJaWYgKHZtYSAmJiBkcm1fbW1fbm9kZV9h bGxvY2F0ZWQoJnZtYS0+bm9kZSkgJiYgIW9iai0+YWN0aXZlKQo+IC0JCWxpc3RfbW92ZV90YWls KCZ2bWEtPm1tX2xpc3QsCj4gKwkJbGlzdF9tb3ZlX3RhaWwoJnZtYS0+dm1fbGluaywKPiAgIAkJ CSAgICAgICAmdG9faTkxNShvYmotPmJhc2UuZGV2KS0+Z3R0LmJhc2UuaW5hY3RpdmVfbGlzdCk7 Cj4KPiAgIAlyZXR1cm4gMDsKPiBAQCAtMzA2NCw3ICszMDY0LDcgQEAgaW50IGk5MTVfZ2VtX29i amVjdF9zZXRfY2FjaGVfbGV2ZWwoc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaiwKPiAg IAkgKiBjYXRjaCB0aGUgaXNzdWUgb2YgdGhlIENTIHByZWZldGNoIGNyb3NzaW5nIHBhZ2UgYm91 bmRhcmllcyBhbmQKPiAgIAkgKiByZWFkaW5nIGFuIGludmFsaWQgUFRFIG9uIG9sZGVyIGFyY2hp dGVjdHVyZXMuCj4gICAJICovCj4gLQlsaXN0X2Zvcl9lYWNoX2VudHJ5X3NhZmUodm1hLCBuZXh0 LCAmb2JqLT52bWFfbGlzdCwgdm1hX2xpbmspIHsKPiArCWxpc3RfZm9yX2VhY2hfZW50cnlfc2Fm ZSh2bWEsIG5leHQsICZvYmotPnZtYV9saXN0LCBvYmpfbGluaykgewo+ICAgCQlpZiAoIWRybV9t bV9ub2RlX2FsbG9jYXRlZCgmdm1hLT5ub2RlKSkKPiAgIAkJCWNvbnRpbnVlOwo+Cj4gQEAgLTMx MjcsNyArMzEyNyw3IEBAIGludCBpOTE1X2dlbV9vYmplY3Rfc2V0X2NhY2hlX2xldmVsKHN0cnVj dCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmosCj4gICAJCQkgKi8KPiAgIAkJfQo+Cj4gLQkJbGlz dF9mb3JfZWFjaF9lbnRyeSh2bWEsICZvYmotPnZtYV9saXN0LCB2bWFfbGluaykgewo+ICsJCWxp c3RfZm9yX2VhY2hfZW50cnkodm1hLCAmb2JqLT52bWFfbGlzdCwgb2JqX2xpbmspIHsKPiAgIAkJ CWlmICghZHJtX21tX25vZGVfYWxsb2NhdGVkKCZ2bWEtPm5vZGUpKQo+ICAgCQkJCWNvbnRpbnVl Owo+Cj4gQEAgLTMxMzcsNyArMzEzNyw3IEBAIGludCBpOTE1X2dlbV9vYmplY3Rfc2V0X2NhY2hl X2xldmVsKHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmosCj4gICAJCX0KPiAgIAl9Cj4K PiAtCWxpc3RfZm9yX2VhY2hfZW50cnkodm1hLCAmb2JqLT52bWFfbGlzdCwgdm1hX2xpbmspCj4g KwlsaXN0X2Zvcl9lYWNoX2VudHJ5KHZtYSwgJm9iai0+dm1hX2xpc3QsIG9ial9saW5rKQo+ICAg CQl2bWEtPm5vZGUuY29sb3IgPSBjYWNoZV9sZXZlbDsKPiAgIAlvYmotPmNhY2hlX2xldmVsID0g Y2FjaGVfbGV2ZWw7Cj4KPiBAQCAtMzc5Nyw3ICszNzk3LDcgQEAgdm9pZCBpOTE1X2dlbV9mcmVl X29iamVjdChzdHJ1Y3QgZHJtX2dlbV9vYmplY3QgKmdlbV9vYmopCj4KPiAgIAl0cmFjZV9pOTE1 X2dlbV9vYmplY3RfZGVzdHJveShvYmopOwo+Cj4gLQlsaXN0X2Zvcl9lYWNoX2VudHJ5X3NhZmUo dm1hLCBuZXh0LCAmb2JqLT52bWFfbGlzdCwgdm1hX2xpbmspIHsKPiArCWxpc3RfZm9yX2VhY2hf ZW50cnlfc2FmZSh2bWEsIG5leHQsICZvYmotPnZtYV9saXN0LCBvYmpfbGluaykgewo+ICAgCQlp bnQgcmV0Owo+Cj4gICAJCXZtYS0+cGluX2NvdW50ID0gMDsKPiBAQCAtMzg1NCw3ICszODU0LDcg QEAgc3RydWN0IGk5MTVfdm1hICppOTE1X2dlbV9vYmpfdG9fdm1hKHN0cnVjdCBkcm1faTkxNV9n ZW1fb2JqZWN0ICpvYmosCj4gICAJCQkJICAgICBzdHJ1Y3QgaTkxNV9hZGRyZXNzX3NwYWNlICp2 bSkKPiAgIHsKPiAgIAlzdHJ1Y3QgaTkxNV92bWEgKnZtYTsKPiAtCWxpc3RfZm9yX2VhY2hfZW50 cnkodm1hLCAmb2JqLT52bWFfbGlzdCwgdm1hX2xpbmspIHsKPiArCWxpc3RfZm9yX2VhY2hfZW50 cnkodm1hLCAmb2JqLT52bWFfbGlzdCwgb2JqX2xpbmspIHsKPiAgIAkJaWYgKHZtYS0+Z2d0dF92 aWV3LnR5cGUgPT0gSTkxNV9HR1RUX1ZJRVdfTk9STUFMICYmCj4gICAJCSAgICB2bWEtPnZtID09 IHZtKQo+ICAgCQkJcmV0dXJuIHZtYTsKPiBAQCAtMzg3MSw3ICszODcxLDcgQEAgc3RydWN0IGk5 MTVfdm1hICppOTE1X2dlbV9vYmpfdG9fZ2d0dF92aWV3KHN0cnVjdCBkcm1faTkxNV9nZW1fb2Jq ZWN0ICpvYmosCj4gICAJaWYgKFdBUk5fT05DRSghdmlldywgIm5vIHZpZXcgc3BlY2lmaWVkIikp Cj4gICAJCXJldHVybiBFUlJfUFRSKC1FSU5WQUwpOwo+Cj4gLQlsaXN0X2Zvcl9lYWNoX2VudHJ5 KHZtYSwgJm9iai0+dm1hX2xpc3QsIHZtYV9saW5rKQo+ICsJbGlzdF9mb3JfZWFjaF9lbnRyeSh2 bWEsICZvYmotPnZtYV9saXN0LCBvYmpfbGluaykKPiAgIAkJaWYgKHZtYS0+dm0gPT0gZ2d0dCAm Jgo+ICAgCQkgICAgaTkxNV9nZ3R0X3ZpZXdfZXF1YWwoJnZtYS0+Z2d0dF92aWV3LCB2aWV3KSkK PiAgIAkJCXJldHVybiB2bWE7Cj4gQEAgLTM4OTIsNyArMzg5Miw3IEBAIHZvaWQgaTkxNV9nZW1f dm1hX2Rlc3Ryb3koc3RydWN0IGk5MTVfdm1hICp2bWEpCj4gICAJaWYgKCFpOTE1X2lzX2dndHQo dm0pKQo+ICAgCQlpOTE1X3BwZ3R0X3B1dChpOTE1X3ZtX3RvX3BwZ3R0KHZtKSk7Cj4KPiAtCWxp c3RfZGVsKCZ2bWEtPnZtYV9saW5rKTsKPiArCWxpc3RfZGVsKCZ2bWEtPm9ial9saW5rKTsKPgo+ ICAgCWttZW1fY2FjaGVfZnJlZSh0b19pOTE1KHZtYS0+b2JqLT5iYXNlLmRldiktPnZtYXMsIHZt YSk7Cj4gICB9Cj4gQEAgLTQ0NDQsNyArNDQ0NCw3IEBAIHU2NCBpOTE1X2dlbV9vYmpfb2Zmc2V0 KHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvLAo+Cj4gICAJV0FSTl9PTih2bSA9PSAmZGV2 X3ByaXYtPm1tLmFsaWFzaW5nX3BwZ3R0LT5iYXNlKTsKPgo+IC0JbGlzdF9mb3JfZWFjaF9lbnRy eSh2bWEsICZvLT52bWFfbGlzdCwgdm1hX2xpbmspIHsKPiArCWxpc3RfZm9yX2VhY2hfZW50cnko dm1hLCAmby0+dm1hX2xpc3QsIG9ial9saW5rKSB7Cj4gICAJCWlmIChpOTE1X2lzX2dndHQodm1h LT52bSkgJiYKPiAgIAkJICAgIHZtYS0+Z2d0dF92aWV3LnR5cGUgIT0gSTkxNV9HR1RUX1ZJRVdf Tk9STUFMKQo+ICAgCQkJY29udGludWU7Cj4gQEAgLTQ0NjMsNyArNDQ2Myw3IEBAIHU2NCBpOTE1 X2dlbV9vYmpfZ2d0dF9vZmZzZXRfdmlldyhzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqbywK PiAgIAlzdHJ1Y3QgaTkxNV9hZGRyZXNzX3NwYWNlICpnZ3R0ID0gaTkxNV9vYmpfdG9fZ2d0dChv KTsKPiAgIAlzdHJ1Y3QgaTkxNV92bWEgKnZtYTsKPgo+IC0JbGlzdF9mb3JfZWFjaF9lbnRyeSh2 bWEsICZvLT52bWFfbGlzdCwgdm1hX2xpbmspCj4gKwlsaXN0X2Zvcl9lYWNoX2VudHJ5KHZtYSwg Jm8tPnZtYV9saXN0LCBvYmpfbGluaykKPiAgIAkJaWYgKHZtYS0+dm0gPT0gZ2d0dCAmJgo+ICAg CQkgICAgaTkxNV9nZ3R0X3ZpZXdfZXF1YWwoJnZtYS0+Z2d0dF92aWV3LCB2aWV3KSkKPiAgIAkJ CXJldHVybiB2bWEtPm5vZGUuc3RhcnQ7Cj4gQEAgLTQ0NzcsNyArNDQ3Nyw3IEBAIGJvb2wgaTkx NV9nZW1fb2JqX2JvdW5kKHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvLAo+ICAgewo+ICAg CXN0cnVjdCBpOTE1X3ZtYSAqdm1hOwo+Cj4gLQlsaXN0X2Zvcl9lYWNoX2VudHJ5KHZtYSwgJm8t PnZtYV9saXN0LCB2bWFfbGluaykgewo+ICsJbGlzdF9mb3JfZWFjaF9lbnRyeSh2bWEsICZvLT52 bWFfbGlzdCwgb2JqX2xpbmspIHsKPiAgIAkJaWYgKGk5MTVfaXNfZ2d0dCh2bWEtPnZtKSAmJgo+ ICAgCQkgICAgdm1hLT5nZ3R0X3ZpZXcudHlwZSAhPSBJOTE1X0dHVFRfVklFV19OT1JNQUwpCj4g ICAJCQljb250aW51ZTsKPiBAQCAtNDQ5NCw3ICs0NDk0LDcgQEAgYm9vbCBpOTE1X2dlbV9vYmpf Z2d0dF9ib3VuZF92aWV3KHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvLAo+ICAgCXN0cnVj dCBpOTE1X2FkZHJlc3Nfc3BhY2UgKmdndHQgPSBpOTE1X29ial90b19nZ3R0KG8pOwo+ICAgCXN0 cnVjdCBpOTE1X3ZtYSAqdm1hOwo+Cj4gLQlsaXN0X2Zvcl9lYWNoX2VudHJ5KHZtYSwgJm8tPnZt YV9saXN0LCB2bWFfbGluaykKPiArCWxpc3RfZm9yX2VhY2hfZW50cnkodm1hLCAmby0+dm1hX2xp c3QsIG9ial9saW5rKQo+ICAgCQlpZiAodm1hLT52bSA9PSBnZ3R0ICYmCj4gICAJCSAgICBpOTE1 X2dndHRfdmlld19lcXVhbCgmdm1hLT5nZ3R0X3ZpZXcsIHZpZXcpICYmCj4gICAJCSAgICBkcm1f bW1fbm9kZV9hbGxvY2F0ZWQoJnZtYS0+bm9kZSkpCj4gQEAgLTQ1MDcsNyArNDUwNyw3IEBAIGJv b2wgaTkxNV9nZW1fb2JqX2JvdW5kX2FueShzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqbykK PiAgIHsKPiAgIAlzdHJ1Y3QgaTkxNV92bWEgKnZtYTsKPgo+IC0JbGlzdF9mb3JfZWFjaF9lbnRy eSh2bWEsICZvLT52bWFfbGlzdCwgdm1hX2xpbmspCj4gKwlsaXN0X2Zvcl9lYWNoX2VudHJ5KHZt YSwgJm8tPnZtYV9saXN0LCBvYmpfbGluaykKPiAgIAkJaWYgKGRybV9tbV9ub2RlX2FsbG9jYXRl ZCgmdm1hLT5ub2RlKSkKPiAgIAkJCXJldHVybiB0cnVlOwo+Cj4gQEAgLTQ1MjQsNyArNDUyNCw3 IEBAIHVuc2lnbmVkIGxvbmcgaTkxNV9nZW1fb2JqX3NpemUoc3RydWN0IGRybV9pOTE1X2dlbV9v YmplY3QgKm8sCj4KPiAgIAlCVUdfT04obGlzdF9lbXB0eSgmby0+dm1hX2xpc3QpKTsKPgo+IC0J bGlzdF9mb3JfZWFjaF9lbnRyeSh2bWEsICZvLT52bWFfbGlzdCwgdm1hX2xpbmspIHsKPiArCWxp c3RfZm9yX2VhY2hfZW50cnkodm1hLCAmby0+dm1hX2xpc3QsIG9ial9saW5rKSB7Cj4gICAJCWlm IChpOTE1X2lzX2dndHQodm1hLT52bSkgJiYKPiAgIAkJICAgIHZtYS0+Z2d0dF92aWV3LnR5cGUg IT0gSTkxNV9HR1RUX1ZJRVdfTk9STUFMKQo+ICAgCQkJY29udGludWU7Cj4gQEAgLTQ1MzcsNyAr NDUzNyw3IEBAIHVuc2lnbmVkIGxvbmcgaTkxNV9nZW1fb2JqX3NpemUoc3RydWN0IGRybV9pOTE1 X2dlbV9vYmplY3QgKm8sCj4gICBib29sIGk5MTVfZ2VtX29ial9pc19waW5uZWQoc3RydWN0IGRy bV9pOTE1X2dlbV9vYmplY3QgKm9iaikKPiAgIHsKPiAgIAlzdHJ1Y3QgaTkxNV92bWEgKnZtYTsK PiAtCWxpc3RfZm9yX2VhY2hfZW50cnkodm1hLCAmb2JqLT52bWFfbGlzdCwgdm1hX2xpbmspCj4g KwlsaXN0X2Zvcl9lYWNoX2VudHJ5KHZtYSwgJm9iai0+dm1hX2xpc3QsIG9ial9saW5rKQo+ICAg CQlpZiAodm1hLT5waW5fY291bnQgPiAwKQo+ICAgCQkJcmV0dXJuIHRydWU7Cj4KPiBkaWZmIC0t Z2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fY29udGV4dC5jIGIvZHJpdmVycy9n cHUvZHJtL2k5MTUvaTkxNV9nZW1fY29udGV4dC5jCj4gaW5kZXggNzJiMDg3NWE5NWE0Li4wNWI0 ZTBlODVmMjQgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fY29u dGV4dC5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fY29udGV4dC5jCj4g QEAgLTE0Miw3ICsxNDIsNyBAQCBzdGF0aWMgdm9pZCBpOTE1X2dlbV9jb250ZXh0X2NsZWFuKHN0 cnVjdCBpbnRlbF9jb250ZXh0ICpjdHgpCj4gICAJCXJldHVybjsKPgo+ICAgCWxpc3RfZm9yX2Vh Y2hfZW50cnlfc2FmZSh2bWEsIG5leHQsICZwcGd0dC0+YmFzZS5pbmFjdGl2ZV9saXN0LAo+IC0J CQkJIG1tX2xpc3QpIHsKPiArCQkJCSB2bV9saW5rKSB7Cj4gICAJCWlmIChXQVJOX09OKF9faTkx NV92bWFfdW5iaW5kX25vX3dhaXQodm1hKSkpCj4gICAJCQlicmVhazsKPiAgIAl9Cj4gZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2V2aWN0LmMgYi9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pOTE1X2dlbV9ldmljdC5jCj4gaW5kZXggMDdjNmU0ZDMyMGM5Li5lYTFmOGQx YmQyMjggMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZXZpY3Qu Ywo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2V2aWN0LmMKPiBAQCAtMTE2 LDcgKzExNiw3IEBAIGk5MTVfZ2VtX2V2aWN0X3NvbWV0aGluZyhzdHJ1Y3QgZHJtX2RldmljZSAq ZGV2LCBzdHJ1Y3QgaTkxNV9hZGRyZXNzX3NwYWNlICp2bSwKPgo+ICAgc2VhcmNoX2FnYWluOgo+ ICAgCS8qIEZpcnN0IHNlZSBpZiB0aGVyZSBpcyBhIGxhcmdlIGVub3VnaCBjb250aWd1b3VzIGlk bGUgcmVnaW9uLi4uICovCj4gLQlsaXN0X2Zvcl9lYWNoX2VudHJ5KHZtYSwgJnZtLT5pbmFjdGl2 ZV9saXN0LCBtbV9saXN0KSB7Cj4gKwlsaXN0X2Zvcl9lYWNoX2VudHJ5KHZtYSwgJnZtLT5pbmFj dGl2ZV9saXN0LCB2bV9saW5rKSB7Cj4gICAJCWlmIChtYXJrX2ZyZWUodm1hLCAmdW53aW5kX2xp c3QpKQo+ICAgCQkJZ290byBmb3VuZDsKPiAgIAl9Cj4gQEAgLTEyNSw3ICsxMjUsNyBAQCBzZWFy Y2hfYWdhaW46Cj4gICAJCWdvdG8gbm9uZTsKPgo+ICAgCS8qIE5vdyBtZXJnZSBpbiB0aGUgc29v bi10by1iZS1leHBpcmVkIG9iamVjdHMuLi4gKi8KPiAtCWxpc3RfZm9yX2VhY2hfZW50cnkodm1h LCAmdm0tPmFjdGl2ZV9saXN0LCBtbV9saXN0KSB7Cj4gKwlsaXN0X2Zvcl9lYWNoX2VudHJ5KHZt YSwgJnZtLT5hY3RpdmVfbGlzdCwgdm1fbGluaykgewo+ICAgCQlpZiAobWFya19mcmVlKHZtYSwg JnVud2luZF9saXN0KSkKPiAgIAkJCWdvdG8gZm91bmQ7Cj4gICAJfQo+IEBAIC0yNzAsNyArMjcw LDcgQEAgaW50IGk5MTVfZ2VtX2V2aWN0X3ZtKHN0cnVjdCBpOTE1X2FkZHJlc3Nfc3BhY2UgKnZt LCBib29sIGRvX2lkbGUpCj4gICAJCVdBUk5fT04oIWxpc3RfZW1wdHkoJnZtLT5hY3RpdmVfbGlz dCkpOwo+ICAgCX0KPgo+IC0JbGlzdF9mb3JfZWFjaF9lbnRyeV9zYWZlKHZtYSwgbmV4dCwgJnZt LT5pbmFjdGl2ZV9saXN0LCBtbV9saXN0KQo+ICsJbGlzdF9mb3JfZWFjaF9lbnRyeV9zYWZlKHZt YSwgbmV4dCwgJnZtLT5pbmFjdGl2ZV9saXN0LCB2bV9saW5rKQo+ICAgCQlpZiAodm1hLT5waW5f Y291bnQgPT0gMCkKPiAgIAkJCVdBUk5fT04oaTkxNV92bWFfdW5iaW5kKHZtYSkpOwo+Cj4gZGlm ZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2d0dC5jIGIvZHJpdmVycy9n cHUvZHJtL2k5MTUvaTkxNV9nZW1fZ3R0LmMKPiBpbmRleCBjZGRiZDhjMDA2NjMuLjYxNjgxODJh ODdkOCAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9ndHQuYwo+ ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2d0dC5jCj4gQEAgLTI3MzYsNyAr MjczNiw3IEBAIHN0YXRpYyBpbnQgaTkxNV9nZW1fc2V0dXBfZ2xvYmFsX2d0dChzdHJ1Y3QgZHJt X2RldmljZSAqZGV2LAo+ICAgCQl9Cj4gICAJCXZtYS0+Ym91bmQgfD0gR0xPQkFMX0JJTkQ7Cj4g ICAJCV9faTkxNV92bWFfc2V0X21hcF9hbmRfZmVuY2VhYmxlKHZtYSk7Cj4gLQkJbGlzdF9hZGRf dGFpbCgmdm1hLT5tbV9saXN0LCAmZ2d0dF92bS0+aW5hY3RpdmVfbGlzdCk7Cj4gKwkJbGlzdF9h ZGRfdGFpbCgmdm1hLT52bV9saW5rLCAmZ2d0dF92bS0+aW5hY3RpdmVfbGlzdCk7Cj4gICAJfQo+ Cj4gICAJLyogQ2xlYXIgYW55IG5vbi1wcmVhbGxvY2F0ZWQgYmxvY2tzICovCj4gQEAgLTMyMjEs NyArMzIyMSw3IEBAIHZvaWQgaTkxNV9nZW1fcmVzdG9yZV9ndHRfbWFwcGluZ3Moc3RydWN0IGRy bV9kZXZpY2UgKmRldikKPiAgIAl2bSA9ICZkZXZfcHJpdi0+Z3R0LmJhc2U7Cj4gICAJbGlzdF9m b3JfZWFjaF9lbnRyeShvYmosICZkZXZfcHJpdi0+bW0uYm91bmRfbGlzdCwgZ2xvYmFsX2xpc3Qp IHsKPiAgIAkJZmx1c2ggPSBmYWxzZTsKPiAtCQlsaXN0X2Zvcl9lYWNoX2VudHJ5KHZtYSwgJm9i ai0+dm1hX2xpc3QsIHZtYV9saW5rKSB7Cj4gKwkJbGlzdF9mb3JfZWFjaF9lbnRyeSh2bWEsICZv YmotPnZtYV9saXN0LCBvYmpfbGluaykgewo+ICAgCQkJaWYgKHZtYS0+dm0gIT0gdm0pCj4gICAJ CQkJY29udGludWU7Cj4KPiBAQCAtMzI3Nyw4ICszMjc3LDggQEAgX19pOTE1X2dlbV92bWFfY3Jl YXRlKHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmosCj4gICAJaWYgKHZtYSA9PSBOVUxM KQo+ICAgCQlyZXR1cm4gRVJSX1BUUigtRU5PTUVNKTsKPgo+IC0JSU5JVF9MSVNUX0hFQUQoJnZt YS0+dm1hX2xpbmspOwo+IC0JSU5JVF9MSVNUX0hFQUQoJnZtYS0+bW1fbGlzdCk7Cj4gKwlJTklU X0xJU1RfSEVBRCgmdm1hLT52bV9saW5rKTsKPiArCUlOSVRfTElTVF9IRUFEKCZ2bWEtPm9ial9s aW5rKTsKPiAgIAlJTklUX0xJU1RfSEVBRCgmdm1hLT5leGVjX2xpc3QpOwo+ICAgCXZtYS0+dm0g PSB2bTsKPiAgIAl2bWEtPm9iaiA9IG9iajsKPiBAQCAtMzI4Niw3ICszMjg2LDcgQEAgX19pOTE1 X2dlbV92bWFfY3JlYXRlKHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmosCj4gICAJaWYg KGk5MTVfaXNfZ2d0dCh2bSkpCj4gICAJCXZtYS0+Z2d0dF92aWV3ID0gKmdndHRfdmlldzsKPgo+ IC0JbGlzdF9hZGRfdGFpbCgmdm1hLT52bWFfbGluaywgJm9iai0+dm1hX2xpc3QpOwo+ICsJbGlz dF9hZGRfdGFpbCgmdm1hLT5vYmpfbGluaywgJm9iai0+dm1hX2xpc3QpOwo+ICAgCWlmICghaTkx NV9pc19nZ3R0KHZtKSkKPiAgIAkJaTkxNV9wcGd0dF9nZXQoaTkxNV92bV90b19wcGd0dCh2bSkp Owo+Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2d0dC5oIGIv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZ3R0LmgKPiBpbmRleCBiNDQ4YWQ4MzJkY2Yu LjI0OTc2NzFkMWUxYSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dl bV9ndHQuaAo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2d0dC5oCj4gQEAg LTE5NSw5ICsxOTUsOSBAQCBzdHJ1Y3QgaTkxNV92bWEgewo+ICAgCXN0cnVjdCBpOTE1X2dndHRf dmlldyBnZ3R0X3ZpZXc7Cj4KPiAgIAkvKiogVGhpcyBvYmplY3QncyBwbGFjZSBvbiB0aGUgYWN0 aXZlL2luYWN0aXZlIGxpc3RzICovCj4gLQlzdHJ1Y3QgbGlzdF9oZWFkIG1tX2xpc3Q7Cj4gKwlz dHJ1Y3QgbGlzdF9oZWFkIHZtX2xpbms7Cj4KPiAtCXN0cnVjdCBsaXN0X2hlYWQgdm1hX2xpbms7 IC8qIExpbmsgaW4gdGhlIG9iamVjdCdzIFZNQSBsaXN0ICovCj4gKwlzdHJ1Y3QgbGlzdF9oZWFk IG9ial9saW5rOyAvKiBMaW5rIGluIHRoZSBvYmplY3QncyBWTUEgbGlzdCAqLwo+Cj4gICAJLyoq IFRoaXMgdm1hJ3MgcGxhY2UgaW4gdGhlIGJhdGNoYnVmZmVyIG9yIG9uIHRoZSBldmljdGlvbiBs aXN0ICovCj4gICAJc3RydWN0IGxpc3RfaGVhZCBleGVjX2xpc3Q7Cj4gZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX3Nocmlua2VyLmMgYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pOTE1X2dlbV9zaHJpbmtlci5jCj4gaW5kZXggMTZkYTljMTQyMmNjLi43Nzc5NTliNDdj Y2YgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fc2hyaW5rZXIu Ywo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX3Nocmlua2VyLmMKPiBAQCAt NTIsNyArNTIsNyBAQCBzdGF0aWMgaW50IG51bV92bWFfYm91bmQoc3RydWN0IGRybV9pOTE1X2dl bV9vYmplY3QgKm9iaikKPiAgIAlzdHJ1Y3QgaTkxNV92bWEgKnZtYTsKPiAgIAlpbnQgY291bnQg PSAwOwo+Cj4gLQlsaXN0X2Zvcl9lYWNoX2VudHJ5KHZtYSwgJm9iai0+dm1hX2xpc3QsIHZtYV9s aW5rKSB7Cj4gKwlsaXN0X2Zvcl9lYWNoX2VudHJ5KHZtYSwgJm9iai0+dm1hX2xpc3QsIG9ial9s aW5rKSB7Cj4gICAJCWlmIChkcm1fbW1fbm9kZV9hbGxvY2F0ZWQoJnZtYS0+bm9kZSkpCj4gICAJ CQljb3VudCsrOwo+ICAgCQlpZiAodm1hLT5waW5fY291bnQpCj4gQEAgLTE3Niw3ICsxNzYsNyBA QCBpOTE1X2dlbV9zaHJpbmsoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAo+Cj4g ICAJCQkvKiBGb3IgdGhlIHVuYm91bmQgcGhhc2UsIHRoaXMgc2hvdWxkIGJlIGEgbm8tb3AhICov Cj4gICAJCQlsaXN0X2Zvcl9lYWNoX2VudHJ5X3NhZmUodm1hLCB2LAo+IC0JCQkJCQkgJm9iai0+ dm1hX2xpc3QsIHZtYV9saW5rKQo+ICsJCQkJCQkgJm9iai0+dm1hX2xpc3QsIG9ial9saW5rKQo+ ICAgCQkJCWlmIChpOTE1X3ZtYV91bmJpbmQodm1hKSkKPiAgIAkJCQkJYnJlYWs7Cj4KPiBkaWZm IC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fc3RvbGVuLmMgYi9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9zdG9sZW4uYwo+IGluZGV4IGMzODRkYzljOGE2My4uNTkw ZTYzNWNiNjVjIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX3N0 b2xlbi5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fc3RvbGVuLmMKPiBA QCAtNjkyLDcgKzY5Miw3IEBAIGk5MTVfZ2VtX29iamVjdF9jcmVhdGVfc3RvbGVuX2Zvcl9wcmVh bGxvY2F0ZWQoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKPgo+ICAgCQl2bWEtPmJvdW5kIHw9IEdM T0JBTF9CSU5EOwo+ICAgCQlfX2k5MTVfdm1hX3NldF9tYXBfYW5kX2ZlbmNlYWJsZSh2bWEpOwo+ IC0JCWxpc3RfYWRkX3RhaWwoJnZtYS0+bW1fbGlzdCwgJmdndHQtPmluYWN0aXZlX2xpc3QpOwo+ ICsJCWxpc3RfYWRkX3RhaWwoJnZtYS0+dm1fbGluaywgJmdndHQtPmluYWN0aXZlX2xpc3QpOwo+ ICAgCX0KPgo+ICAgCWxpc3RfYWRkX3RhaWwoJm9iai0+Z2xvYmFsX2xpc3QsICZkZXZfcHJpdi0+ bW0uYm91bmRfbGlzdCk7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVf Z2VtX3VzZXJwdHIuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX3VzZXJwdHIuYwo+ IGluZGV4IDI1MWU4MWM0YjBlYS4uMmYzNjM4ZDAyYmRkIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2k5MTVfZ2VtX3VzZXJwdHIuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2k5MTVfZ2VtX3VzZXJwdHIuYwo+IEBAIC04MSw3ICs4MSw3IEBAIHN0YXRpYyB2b2lkIF9f Y2FuY2VsX3VzZXJwdHJfX3dvcmtlcihzdHJ1Y3Qgd29ya19zdHJ1Y3QgKndvcmspCj4gICAJCXdh c19pbnRlcnJ1cHRpYmxlID0gZGV2X3ByaXYtPm1tLmludGVycnVwdGlibGU7Cj4gICAJCWRldl9w cml2LT5tbS5pbnRlcnJ1cHRpYmxlID0gZmFsc2U7Cj4KPiAtCQlsaXN0X2Zvcl9lYWNoX2VudHJ5 X3NhZmUodm1hLCB0bXAsICZvYmotPnZtYV9saXN0LCB2bWFfbGluaykKPiArCQlsaXN0X2Zvcl9l YWNoX2VudHJ5X3NhZmUodm1hLCB0bXAsICZvYmotPnZtYV9saXN0LCBvYmpfbGluaykKPiAgIAkJ CVdBUk5fT04oaTkxNV92bWFfdW5iaW5kKHZtYSkpOwo+ICAgCQlXQVJOX09OKGk5MTVfZ2VtX29i amVjdF9wdXRfcGFnZXMob2JqKSk7Cj4KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaTkxNV9ncHVfZXJyb3IuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ3B1X2Vycm9y LmMKPiBpbmRleCBjODEyMDc5YmMyNWMuLjcwNmQ5NTZiNmViMyAxMDA2NDQKPiAtLS0gYS9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dwdV9lcnJvci5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvaTkxNV9ncHVfZXJyb3IuYwo+IEBAIC03MzEsNyArNzMxLDcgQEAgc3RhdGljIHUzMiBj YXB0dXJlX2FjdGl2ZV9ibyhzdHJ1Y3QgZHJtX2k5MTVfZXJyb3JfYnVmZmVyICplcnIsCj4gICAJ c3RydWN0IGk5MTVfdm1hICp2bWE7Cj4gICAJaW50IGkgPSAwOwo+Cj4gLQlsaXN0X2Zvcl9lYWNo X2VudHJ5KHZtYSwgaGVhZCwgbW1fbGlzdCkgewo+ICsJbGlzdF9mb3JfZWFjaF9lbnRyeSh2bWEs IGhlYWQsIHZtX2xpbmspIHsKPiAgIAkJY2FwdHVyZV9ibyhlcnIrKywgdm1hKTsKPiAgIAkJaWYg KCsraSA9PSBjb3VudCkKPiAgIAkJCWJyZWFrOwo+IEBAIC03NTQsNyArNzU0LDcgQEAgc3RhdGlj IHUzMiBjYXB0dXJlX3Bpbm5lZF9ibyhzdHJ1Y3QgZHJtX2k5MTVfZXJyb3JfYnVmZmVyICplcnIs Cj4gICAJCWlmIChlcnIgPT0gbGFzdCkKPiAgIAkJCWJyZWFrOwo+Cj4gLQkJbGlzdF9mb3JfZWFj aF9lbnRyeSh2bWEsICZvYmotPnZtYV9saXN0LCB2bWFfbGluaykKPiArCQlsaXN0X2Zvcl9lYWNo X2VudHJ5KHZtYSwgJm9iai0+dm1hX2xpc3QsIG9ial9saW5rKQo+ICAgCQkJaWYgKHZtYS0+dm0g PT0gdm0gJiYgdm1hLT5waW5fY291bnQgPiAwKQo+ICAgCQkJCWNhcHR1cmVfYm8oZXJyKyssIHZt YSk7Cj4gICAJfQo+IEBAIC0xMTEzLDEyICsxMTEzLDEyIEBAIHN0YXRpYyB2b2lkIGk5MTVfZ2Vt X2NhcHR1cmVfdm0oc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAo+ICAgCWludCBp Owo+Cj4gICAJaSA9IDA7Cj4gLQlsaXN0X2Zvcl9lYWNoX2VudHJ5KHZtYSwgJnZtLT5hY3RpdmVf bGlzdCwgbW1fbGlzdCkKPiArCWxpc3RfZm9yX2VhY2hfZW50cnkodm1hLCAmdm0tPmFjdGl2ZV9s aXN0LCB2bV9saW5rKQo+ICAgCQlpKys7Cj4gICAJZXJyb3ItPmFjdGl2ZV9ib19jb3VudFtuZHhd ID0gaTsKPgo+ICAgCWxpc3RfZm9yX2VhY2hfZW50cnkob2JqLCAmZGV2X3ByaXYtPm1tLmJvdW5k X2xpc3QsIGdsb2JhbF9saXN0KSB7Cj4gLQkJbGlzdF9mb3JfZWFjaF9lbnRyeSh2bWEsICZvYmot PnZtYV9saXN0LCB2bWFfbGluaykKPiArCQlsaXN0X2Zvcl9lYWNoX2VudHJ5KHZtYSwgJm9iai0+ dm1hX2xpc3QsIG9ial9saW5rKQo+ICAgCQkJaWYgKHZtYS0+dm0gPT0gdm0gJiYgdm1hLT5waW5f Y291bnQgPiAwKQo+ICAgCQkJCWkrKzsKPiAgIAl9Cj4KX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhA bGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHA6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1h bi9saXN0aW5mby9pbnRlbC1nZngK