From mboxrd@z Thu Jan 1 00:00:00 1970 From: Mika Kuoppala Subject: Re: [PATCH v2 1/2] drm/i915: Cleanup instdone collection Date: Tue, 06 Sep 2016 14:21:54 +0300 Message-ID: <87lgz58e99.fsf@gaia.fi.intel.com> References: <1473087178-4847-1-git-send-email-imre.deak@intel.com> <1473087178-4847-2-git-send-email-imre.deak@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) by gabe.freedesktop.org (Postfix) with ESMTPS id A4D0A6E5AB for ; Tue, 6 Sep 2016 11:23:51 +0000 (UTC) In-Reply-To: <1473087178-4847-2-git-send-email-imre.deak@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Imre Deak , intel-gfx@lists.freedesktop.org Cc: Ben Widawsky List-Id: intel-gfx@lists.freedesktop.org SW1yZSBEZWFrIDxpbXJlLmRlYWtAaW50ZWwuY29tPiB3cml0ZXM6Cgo+IEZyb206IEJlbiBXaWRh d3NreSA8YmVuamFtaW4ud2lkYXdza3lAaW50ZWwuY29tPgo+Cj4gQ29uc29saWRhdGUgdGhlIGlu c3Rkb25lIGxvZ2ljIHNvIHdlIGNhbiBnZXQgYSBiaXQgZmFuY2llci4gVGhpcyBwYXRjaCBhbHNv Cj4gcmVtb3ZlcyB0aGUgZHVwbGljYXRlZCBwcmludCBvZiBJTlNURE9ORVswXS4KPgo+IHYyOiAo SW1yZSkKPiAtIFJlYmFzZWQgb24gdG9wIG9mIGhhbmdjaGVjayBJTlNURE9ORSBjaGFuZ2VzLgo+ IC0gTW92ZSBhbGwgSU5TVERPTkUgcmVnaXN0ZXJzIGludG8gYSBzaW5nbGUgc3RydWN0LCBzdG9y ZSBpdCB3aXRoaW4gdGhlCj4gICBlbmdpbmUgZXJyb3Igc3RydWN0IGR1cmluZyBlcnJvciBjYXB0 dXJpbmcuCj4KPiBTaWduZWQtb2ZmLWJ5OiBCZW4gV2lkYXdza3kgPGJlbkBid2lkYXdzay5uZXQ+ Cj4gU2lnbmVkLW9mZi1ieTogSW1yZSBEZWFrIDxpbXJlLmRlYWtAaW50ZWwuY29tPgoKUmV2aWV3 ZWQtYnk6IE1pa2EgS3VvcHBhbGEgPG1pa2Eua3VvcHBhbGFAaW50ZWwuY29tPgoKPiAtLS0KPiAg ZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kZWJ1Z2ZzLmMgICAgIHwgNDEgKysrKysrKysrKyst LS0tLQo+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oICAgICAgICAgfCAgOCArKy0t Cj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ3B1X2Vycm9yLmMgICB8IDg0ICsrKysrKysr KysrKysrKysrKysrKysrLS0tLS0tLS0tLQo+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2ly cS5jICAgICAgICAgfCA2OSArKysrKysrKysrKysrKysrKystLS0tLS0tLS0KPiAgZHJpdmVycy9n cHUvZHJtL2k5MTUvaTkxNV9yZWcuaCAgICAgICAgIHwgIDEgLQo+ICBkcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9yaW5nYnVmZmVyLmggfCAxMCArKystCj4gIDYgZmlsZXMgY2hhbmdlZCwgMTUx IGluc2VydGlvbnMoKyksIDYyIGRlbGV0aW9ucygtKQo+Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2k5MTVfZGVidWdmcy5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9k ZWJ1Z2ZzLmMKPiBpbmRleCAzZmRlNTA3Li40NTI0NGY5IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2k5MTVfZGVidWdmcy5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUv aTkxNV9kZWJ1Z2ZzLmMKPiBAQCAtMTI3NywxNSArMTI3NywzNiBAQCBvdXQ6Cj4gIAlyZXR1cm4g cmV0Owo+ICB9Cj4gIAo+ICtzdGF0aWMgdm9pZCBpOTE1X2luc3Rkb25lX2luZm8oc3RydWN0IGRy bV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAo+ICsJCQkgICAgICAgc3RydWN0IHNlcV9maWxlICpt LAo+ICsJCQkgICAgICAgc3RydWN0IGludGVsX2luc3Rkb25lICppbnN0ZG9uZSkKPiArewo+ICsJ c2VxX3ByaW50ZihtLCAiXHRcdElOU1RET05FOiAweCUwOHhcbiIsCj4gKwkJICAgaW5zdGRvbmUt Pmluc3Rkb25lKTsKPiArCj4gKwlpZiAoSU5URUxfR0VOKGRldl9wcml2KSA8PSAzKQo+ICsJCXJl dHVybjsKPiArCj4gKwlzZXFfcHJpbnRmKG0sICJcdFx0U0NfSU5TVERPTkU6IDB4JTA4eFxuIiwK PiArCQkgICBpbnN0ZG9uZS0+c2xpY2VfY29tbW9uKTsKPiArCj4gKwlpZiAoSU5URUxfR0VOKGRl dl9wcml2KSA8PSA2KQo+ICsJCXJldHVybjsKPiArCj4gKwlzZXFfcHJpbnRmKG0sICJcdFx0U0FN UExFUl9JTlNURE9ORTogMHglMDh4XG4iLAo+ICsJCSAgIGluc3Rkb25lLT5zYW1wbGVyKTsKPiAr CXNlcV9wcmludGYobSwgIlx0XHRST1dfSU5TVERPTkU6IDB4JTA4eFxuIiwKPiArCQkgICBpbnN0 ZG9uZS0+cm93KTsKPiArfQo+ICsKPiAgc3RhdGljIGludCBpOTE1X2hhbmdjaGVja19pbmZvKHN0 cnVjdCBzZXFfZmlsZSAqbSwgdm9pZCAqdW51c2VkKQo+ICB7Cj4gIAlzdHJ1Y3QgZHJtX2k5MTVf cHJpdmF0ZSAqZGV2X3ByaXYgPSBub2RlX3RvX2k5MTUobS0+cHJpdmF0ZSk7Cj4gIAlzdHJ1Y3Qg aW50ZWxfZW5naW5lX2NzICplbmdpbmU7Cj4gIAl1NjQgYWN0aGRbSTkxNV9OVU1fRU5HSU5FU107 Cj4gIAl1MzIgc2Vxbm9bSTkxNV9OVU1fRU5HSU5FU107Cj4gLQl1MzIgaW5zdGRvbmVbSTkxNV9O VU1fSU5TVERPTkVfUkVHXTsKPiArCXN0cnVjdCBpbnRlbF9pbnN0ZG9uZSBpbnN0ZG9uZTsKPiAg CWVudW0gaW50ZWxfZW5naW5lX2lkIGlkOwo+IC0JaW50IGo7Cj4gIAo+ICAJaWYgKCFpOTE1LmVu YWJsZV9oYW5nY2hlY2spIHsKPiAgCQlzZXFfcHJpbnRmKG0sICJIYW5nY2hlY2sgZGlzYWJsZWRc biIpOwo+IEBAIC0xMjk5LDcgKzEzMjAsNyBAQCBzdGF0aWMgaW50IGk5MTVfaGFuZ2NoZWNrX2lu Zm8oc3RydWN0IHNlcV9maWxlICptLCB2b2lkICp1bnVzZWQpCj4gIAkJc2Vxbm9baWRdID0gaW50 ZWxfZW5naW5lX2dldF9zZXFubyhlbmdpbmUpOwo+ICAJfQo+ICAKPiAtCWk5MTVfZ2V0X2V4dHJh X2luc3Rkb25lKGRldl9wcml2LCBpbnN0ZG9uZSk7Cj4gKwlpOTE1X2dldF9lbmdpbmVfaW5zdGRv bmUoZGV2X3ByaXYsIFJDUywgJmluc3Rkb25lKTsKPiAgCj4gIAlpbnRlbF9ydW50aW1lX3BtX3B1 dChkZXZfcHJpdik7Cj4gIAo+IEBAIC0xMzI3LDE4ICsxMzQ4LDE0IEBAIHN0YXRpYyBpbnQgaTkx NV9oYW5nY2hlY2tfaW5mbyhzdHJ1Y3Qgc2VxX2ZpbGUgKm0sIHZvaWQgKnVudXNlZCkKPiAgCQlz ZXFfcHJpbnRmKG0sICJcdGFjdGlvbiA9ICVkXG4iLCBlbmdpbmUtPmhhbmdjaGVjay5hY3Rpb24p Owo+ICAKPiAgCQlpZiAoZW5naW5lLT5pZCA9PSBSQ1MpIHsKPiAtCQkJc2VxX3B1dHMobSwgIlx0 aW5zdGRvbmUgcmVhZCA9Iik7Cj4gKwkJCXNlcV9wdXRzKG0sICJcdGluc3Rkb25lIHJlYWQgPVxu Iik7Cj4gIAo+IC0JCQlmb3IgKGogPSAwOyBqIDwgSTkxNV9OVU1fSU5TVERPTkVfUkVHOyBqKysp Cj4gLQkJCQlzZXFfcHJpbnRmKG0sICIgMHglMDh4IiwgaW5zdGRvbmVbal0pOwo+ICsJCQlpOTE1 X2luc3Rkb25lX2luZm8oZGV2X3ByaXYsIG0sICZpbnN0ZG9uZSk7Cj4gIAo+IC0JCQlzZXFfcHV0 cyhtLCAiXG5cdGluc3Rkb25lIGFjY3UgPSIpOwo+ICsJCQlzZXFfcHV0cyhtLCAiXHRpbnN0ZG9u ZSBhY2N1ID1cbiIpOwo+ICAKPiAtCQkJZm9yIChqID0gMDsgaiA8IEk5MTVfTlVNX0lOU1RET05F X1JFRzsgaisrKQo+IC0JCQkJc2VxX3ByaW50ZihtLCAiIDB4JTA4eCIsCj4gLQkJCQkJICAgZW5n aW5lLT5oYW5nY2hlY2suaW5zdGRvbmVbal0pOwo+IC0KPiAtCQkJc2VxX3B1dHMobSwgIlxuIik7 Cj4gKwkJCWk5MTVfaW5zdGRvbmVfaW5mbyhkZXZfcHJpdiwgbSwKPiArCQkJCQkgICAmZW5naW5l LT5oYW5nY2hlY2suaW5zdGRvbmUpOwo+ICAJCX0KPiAgCX0KPiAgCj4gZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1 X2Rydi5oCj4gaW5kZXggNzU3YjFkMS4uMjBiZjcyZSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pOTE1X2Rydi5oCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9k cnYuaAo+IEBAIC03NDcsNyArNzQ3LDcgQEAgc3RydWN0IGRybV9pOTE1X2Vycm9yX3N0YXRlIHsK PiAgCXUzMiBnYW1fZWNvY2hrOwo+ICAJdTMyIGdhYl9jdGw7Cj4gIAl1MzIgZ2Z4X21vZGU7Cj4g LQl1MzIgZXh0cmFfaW5zdGRvbmVbSTkxNV9OVU1fSU5TVERPTkVfUkVHXTsKPiArCj4gIAl1NjQg ZmVuY2VbSTkxNV9NQVhfTlVNX0ZFTkNFU107Cj4gIAlzdHJ1Y3QgaW50ZWxfb3ZlcmxheV9lcnJv cl9zdGF0ZSAqb3ZlcmxheTsKPiAgCXN0cnVjdCBpbnRlbF9kaXNwbGF5X2Vycm9yX3N0YXRlICpk aXNwbGF5Owo+IEBAIC03NzksNyArNzc5LDYgQEAgc3RydWN0IGRybV9pOTE1X2Vycm9yX3N0YXRl IHsKPiAgCQl1MzIgaHdzOwo+ICAJCXUzMiBpcGVpcjsKPiAgCQl1MzIgaXBlaHI7Cj4gLQkJdTMy IGluc3Rkb25lOwo+ICAJCXUzMiBiYnN0YXRlOwo+ICAJCXUzMiBpbnN0cG07Cj4gIAkJdTMyIGlu c3RwczsKPiBAQCAtNzkwLDYgKzc4OSw3IEBAIHN0cnVjdCBkcm1faTkxNV9lcnJvcl9zdGF0ZSB7 Cj4gIAkJdTY0IGZhZGRyOwo+ICAJCXUzMiByY19wc21pOyAvKiBzbGVlcCBzdGF0ZSAqLwo+ICAJ CXUzMiBzZW1hcGhvcmVfbWJveGVzW0k5MTVfTlVNX0VOR0lORVMgLSAxXTsKPiArCQlzdHJ1Y3Qg aW50ZWxfaW5zdGRvbmUgaW5zdGRvbmU7Cj4gIAo+ICAJCXN0cnVjdCBkcm1faTkxNV9lcnJvcl9v YmplY3Qgewo+ICAJCQlpbnQgcGFnZV9jb3VudDsKPiBAQCAtMzU2MCw3ICszNTYwLDkgQEAgdm9p ZCBpOTE1X2Vycm9yX3N0YXRlX2dldChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAo+ICB2b2lkIGk5 MTVfZXJyb3Jfc3RhdGVfcHV0KHN0cnVjdCBpOTE1X2Vycm9yX3N0YXRlX2ZpbGVfcHJpdiAqZXJy b3JfcHJpdik7Cj4gIHZvaWQgaTkxNV9kZXN0cm95X2Vycm9yX3N0YXRlKHN0cnVjdCBkcm1fZGV2 aWNlICpkZXYpOwo+ICAKPiAtdm9pZCBpOTE1X2dldF9leHRyYV9pbnN0ZG9uZShzdHJ1Y3QgZHJt X2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsIHVpbnQzMl90ICppbnN0ZG9uZSk7Cj4gK3ZvaWQgaTkx NV9nZXRfZW5naW5lX2luc3Rkb25lKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwK PiArCQkJICAgICAgZW51bSBpbnRlbF9lbmdpbmVfaWQgZW5naW5lX2lkLAo+ICsJCQkgICAgICBz dHJ1Y3QgaW50ZWxfaW5zdGRvbmUgKmluc3Rkb25lKTsKPiAgY29uc3QgY2hhciAqaTkxNV9jYWNo ZV9sZXZlbF9zdHIoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUsIGludCB0eXBlKTsKPiAg Cj4gIC8qIGk5MTVfY21kX3BhcnNlci5jICovCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2k5MTVfZ3B1X2Vycm9yLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dwdV9l cnJvci5jCj4gaW5kZXggYWVkNTVlNC4uODBmZTEwMSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pOTE1X2dwdV9lcnJvci5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUv aTkxNV9ncHVfZXJyb3IuYwo+IEBAIC0yMjgsNiArMjI4LDI3IEBAIHN0YXRpYyBjb25zdCBjaGFy ICpoYW5nY2hlY2tfYWN0aW9uX3RvX3N0cihlbnVtIGludGVsX2VuZ2luZV9oYW5nY2hlY2tfYWN0 aW9uIGEpCj4gIAlyZXR1cm4gInVua25vd24iOwo+ICB9Cj4gIAo+ICtzdGF0aWMgdm9pZCBlcnJv cl9wcmludF9pbnN0ZG9uZShzdHJ1Y3QgZHJtX2k5MTVfZXJyb3Jfc3RhdGVfYnVmICptLAo+ICsJ CQkJIHN0cnVjdCBkcm1faTkxNV9lcnJvcl9lbmdpbmUgKmVlKQo+ICt7Cj4gKwllcnJfcHJpbnRm KG0sICIgIElOU1RET05FOiAweCUwOHhcbiIsCj4gKwkJICAgZWUtPmluc3Rkb25lLmluc3Rkb25l KTsKPiArCj4gKwlpZiAoZWUtPmVuZ2luZV9pZCAhPSBSQ1MgfHwgSU5URUxfR0VOKG0tPmk5MTUp IDw9IDMpCj4gKwkJcmV0dXJuOwo+ICsKPiArCWVycl9wcmludGYobSwgIiAgU0NfSU5TVERPTkU6 IDB4JTA4eFxuIiwKPiArCQkgICBlZS0+aW5zdGRvbmUuc2xpY2VfY29tbW9uKTsKPiArCj4gKwlp ZiAoSU5URUxfR0VOKG0tPmk5MTUpIDw9IDYpCj4gKwkJcmV0dXJuOwo+ICsKPiArCWVycl9wcmlu dGYobSwgIiAgU0FNUExFUl9JTlNURE9ORTogMHglMDh4XG4iLAo+ICsJCSAgIGVlLT5pbnN0ZG9u ZS5zYW1wbGVyKTsKPiArCWVycl9wcmludGYobSwgIiAgUk9XX0lOU1RET05FOiAweCUwOHhcbiIs Cj4gKwkJICAgZWUtPmluc3Rkb25lLnJvdyk7Cj4gK30KPiArCj4gIHN0YXRpYyB2b2lkIGVycm9y X3ByaW50X2VuZ2luZShzdHJ1Y3QgZHJtX2k5MTVfZXJyb3Jfc3RhdGVfYnVmICptLAo+ICAJCQkg ICAgICAgc3RydWN0IGRybV9pOTE1X2Vycm9yX2VuZ2luZSAqZWUpCj4gIHsKPiBAQCAtMjQyLDcg KzI2Myw5IEBAIHN0YXRpYyB2b2lkIGVycm9yX3ByaW50X2VuZ2luZShzdHJ1Y3QgZHJtX2k5MTVf ZXJyb3Jfc3RhdGVfYnVmICptLAo+ICAJCSAgICh1MzIpKGVlLT5hY3RoZD4+MzIpLCAodTMyKWVl LT5hY3RoZCk7Cj4gIAllcnJfcHJpbnRmKG0sICIgIElQRUlSOiAweCUwOHhcbiIsIGVlLT5pcGVp cik7Cj4gIAllcnJfcHJpbnRmKG0sICIgIElQRUhSOiAweCUwOHhcbiIsIGVlLT5pcGVocik7Cj4g LQllcnJfcHJpbnRmKG0sICIgIElOU1RET05FOiAweCUwOHhcbiIsIGVlLT5pbnN0ZG9uZSk7Cj4g Kwo+ICsJZXJyb3JfcHJpbnRfaW5zdGRvbmUobSwgZWUpOwo+ICsKPiAgCWlmIChlZS0+YmF0Y2hi dWZmZXIpIHsKPiAgCQl1NjQgc3RhcnQgPSBlZS0+YmF0Y2hidWZmZXItPmd0dF9vZmZzZXQ7Cj4g IAkJdTY0IGVuZCA9IHN0YXJ0ICsgZWUtPmJhdGNoYnVmZmVyLT5ndHRfc2l6ZTsKPiBAQCAtNDAy LDEwICs0MjUsNiBAQCBpbnQgaTkxNV9lcnJvcl9zdGF0ZV90b19zdHIoc3RydWN0IGRybV9pOTE1 X2Vycm9yX3N0YXRlX2J1ZiAqbSwKPiAgCWZvciAoaSA9IDA7IGkgPCBkZXZfcHJpdi0+bnVtX2Zl bmNlX3JlZ3M7IGkrKykKPiAgCQllcnJfcHJpbnRmKG0sICIgIGZlbmNlWyVkXSA9ICUwOGxseFxu IiwgaSwgZXJyb3ItPmZlbmNlW2ldKTsKPiAgCj4gLQlmb3IgKGkgPSAwOyBpIDwgQVJSQVlfU0la RShlcnJvci0+ZXh0cmFfaW5zdGRvbmUpOyBpKyspCj4gLQkJZXJyX3ByaW50ZihtLCAiICBJTlNU RE9ORV8lZDogMHglMDh4XG4iLCBpLAo+IC0JCQkgICBlcnJvci0+ZXh0cmFfaW5zdGRvbmVbaV0p Owo+IC0KPiAgCWlmIChJTlRFTF9JTkZPKGRldiktPmdlbiA+PSA2KSB7Cj4gIAkJZXJyX3ByaW50 ZihtLCAiRVJST1I6IDB4JTA4eFxuIiwgZXJyb3ItPmVycm9yKTsKPiAgCj4gQEAgLTg1MSw3ICs4 NzAsOCBAQCBzdGF0aWMgdWludDMyX3QgaTkxNV9lcnJvcl9nZW5lcmF0ZV9jb2RlKHN0cnVjdCBk cm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKPiAgCQkJaWYgKGVuZ2luZV9pZCkKPiAgCQkJCSpl bmdpbmVfaWQgPSBpOwo+ICAKPiAtCQkJcmV0dXJuIGVycm9yLT5lbmdpbmVbaV0uaXBlaHIgXiBl cnJvci0+ZW5naW5lW2ldLmluc3Rkb25lOwo+ICsJCQlyZXR1cm4gZXJyb3ItPmVuZ2luZVtpXS5p cGVociBeCj4gKwkJCSAgICAgICBlcnJvci0+ZW5naW5lW2ldLmluc3Rkb25lLmluc3Rkb25lOwo+ ICAJCX0KPiAgCX0KPiAgCj4gQEAgLTk4Myw3ICsxMDAzLDYgQEAgc3RhdGljIHZvaWQgZXJyb3Jf cmVjb3JkX2VuZ2luZV9yZWdpc3RlcnMoc3RydWN0IGRybV9pOTE1X2Vycm9yX3N0YXRlICplcnJv ciwKPiAgCQllZS0+ZmFkZHIgPSBJOTE1X1JFQUQoUklOR19ETUFfRkFERChlbmdpbmUtPm1taW9f YmFzZSkpOwo+ICAJCWVlLT5pcGVpciA9IEk5MTVfUkVBRChSSU5HX0lQRUlSKGVuZ2luZS0+bW1p b19iYXNlKSk7Cj4gIAkJZWUtPmlwZWhyID0gSTkxNV9SRUFEKFJJTkdfSVBFSFIoZW5naW5lLT5t bWlvX2Jhc2UpKTsKPiAtCQllZS0+aW5zdGRvbmUgPSBJOTE1X1JFQUQoUklOR19JTlNURE9ORShl bmdpbmUtPm1taW9fYmFzZSkpOwo+ICAJCWVlLT5pbnN0cHMgPSBJOTE1X1JFQUQoUklOR19JTlNU UFMoZW5naW5lLT5tbWlvX2Jhc2UpKTsKPiAgCQllZS0+YmJhZGRyID0gSTkxNV9SRUFEKFJJTkdf QkJBRERSKGVuZ2luZS0+bW1pb19iYXNlKSk7Cj4gIAkJaWYgKElOVEVMX0dFTihkZXZfcHJpdikg Pj0gOCkgewo+IEBAIC05OTUsOSArMTAxNCwxMCBAQCBzdGF0aWMgdm9pZCBlcnJvcl9yZWNvcmRf ZW5naW5lX3JlZ2lzdGVycyhzdHJ1Y3QgZHJtX2k5MTVfZXJyb3Jfc3RhdGUgKmVycm9yLAo+ICAJ CWVlLT5mYWRkciA9IEk5MTVfUkVBRChETUFfRkFERF9JOFhYKTsKPiAgCQllZS0+aXBlaXIgPSBJ OTE1X1JFQUQoSVBFSVIpOwo+ICAJCWVlLT5pcGVociA9IEk5MTVfUkVBRChJUEVIUik7Cj4gLQkJ ZWUtPmluc3Rkb25lID0gSTkxNV9SRUFEKEdFTjJfSU5TVERPTkUpOwo+ICAJfQo+ICAKPiArCWk5 MTVfZ2V0X2VuZ2luZV9pbnN0ZG9uZShkZXZfcHJpdiwgZW5naW5lLT5pZCwgJmVlLT5pbnN0ZG9u ZSk7Cj4gKwo+ICAJZWUtPndhaXRpbmcgPSBpbnRlbF9lbmdpbmVfaGFzX3dhaXRlcihlbmdpbmUp Owo+ICAJZWUtPmluc3RwbSA9IEk5MTVfUkVBRChSSU5HX0lOU1RQTShlbmdpbmUtPm1taW9fYmFz ZSkpOwo+ICAJZWUtPmFjdGhkID0gaW50ZWxfZW5naW5lX2dldF9hY3RpdmVfaGVhZChlbmdpbmUp Owo+IEBAIC0xMzU3LDggKzEzNzcsNiBAQCBzdGF0aWMgdm9pZCBpOTE1X2NhcHR1cmVfcmVnX3N0 YXRlKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKPiAgCX0KPiAgCWVycm9yLT5l aXIgPSBJOTE1X1JFQUQoRUlSKTsKPiAgCWVycm9yLT5wZ3RibF9lciA9IEk5MTVfUkVBRChQR1RC TF9FUik7Cj4gLQo+IC0JaTkxNV9nZXRfZXh0cmFfaW5zdGRvbmUoZGV2X3ByaXYsIGVycm9yLT5l eHRyYV9pbnN0ZG9uZSk7Cj4gIH0KPiAgCj4gIHN0YXRpYyB2b2lkIGk5MTVfZXJyb3JfY2FwdHVy ZV9tc2coc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAo+IEBAIC0xNTE3LDIwICsx NTM1LDM4IEBAIGNvbnN0IGNoYXIgKmk5MTVfY2FjaGVfbGV2ZWxfc3RyKHN0cnVjdCBkcm1faTkx NV9wcml2YXRlICppOTE1LCBpbnQgdHlwZSkKPiAgfQo+ICAKPiAgLyogTkI6IHBsZWFzZSBub3Rp Y2UgdGhlIG1lbXNldCAqLwo+IC12b2lkIGk5MTVfZ2V0X2V4dHJhX2luc3Rkb25lKHN0cnVjdCBk cm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKPiAtCQkJICAgICB1aW50MzJfdCAqaW5zdGRvbmUp Cj4gK3ZvaWQgaTkxNV9nZXRfZW5naW5lX2luc3Rkb25lKHN0cnVjdCBkcm1faTkxNV9wcml2YXRl ICpkZXZfcHJpdiwKPiArCQkJICAgICAgZW51bSBpbnRlbF9lbmdpbmVfaWQgZW5naW5lX2lkLAo+ ICsJCQkgICAgICBzdHJ1Y3QgaW50ZWxfaW5zdGRvbmUgKmluc3Rkb25lKQo+ICB7Cj4gLQltZW1z ZXQoaW5zdGRvbmUsIDAsIHNpemVvZigqaW5zdGRvbmUpICogSTkxNV9OVU1fSU5TVERPTkVfUkVH KTsKPiAtCj4gLQlpZiAoSVNfR0VOMihkZXZfcHJpdikgfHwgSVNfR0VOMyhkZXZfcHJpdikpCj4g LQkJaW5zdGRvbmVbMF0gPSBJOTE1X1JFQUQoR0VOMl9JTlNURE9ORSk7Cj4gLQllbHNlIGlmIChJ U19HRU40KGRldl9wcml2KSB8fCBJU19HRU41KGRldl9wcml2KSB8fCBJU19HRU42KGRldl9wcml2 KSkgewo+IC0JCWluc3Rkb25lWzBdID0gSTkxNV9SRUFEKFJJTkdfSU5TVERPTkUoUkVOREVSX1JJ TkdfQkFTRSkpOwo+IC0JCWluc3Rkb25lWzFdID0gSTkxNV9SRUFEKEdFTjRfSU5TVERPTkUxKTsK PiAtCX0gZWxzZSBpZiAoSU5URUxfR0VOKGRldl9wcml2KSA+PSA3KSB7Cj4gLQkJaW5zdGRvbmVb MF0gPSBJOTE1X1JFQUQoUklOR19JTlNURE9ORShSRU5ERVJfUklOR19CQVNFKSk7Cj4gLQkJaW5z dGRvbmVbMV0gPSBJOTE1X1JFQUQoR0VON19TQ19JTlNURE9ORSk7Cj4gLQkJaW5zdGRvbmVbMl0g PSBJOTE1X1JFQUQoR0VON19TQU1QTEVSX0lOU1RET05FKTsKPiAtCQlpbnN0ZG9uZVszXSA9IEk5 MTVfUkVBRChHRU43X1JPV19JTlNURE9ORSk7Cj4gKwl1MzIgbW1pb19iYXNlID0gZGV2X3ByaXYt PmVuZ2luZVtlbmdpbmVfaWRdLm1taW9fYmFzZTsKPiArCj4gKwltZW1zZXQoaW5zdGRvbmUsIDAs IHNpemVvZigqaW5zdGRvbmUpKTsKPiArCj4gKwlzd2l0Y2ggKElOVEVMX0dFTihkZXZfcHJpdikp IHsKPiArCWRlZmF1bHQ6Cj4gKwkJaW5zdGRvbmUtPmluc3Rkb25lID0gSTkxNV9SRUFEKFJJTkdf SU5TVERPTkUobW1pb19iYXNlKSk7Cj4gKwo+ICsJCWlmIChlbmdpbmVfaWQgIT0gUkNTKQo+ICsJ CQlicmVhazsKPiArCj4gKwkJaW5zdGRvbmUtPnNsaWNlX2NvbW1vbiA9IEk5MTVfUkVBRChHRU43 X1NDX0lOU1RET05FKTsKPiArCQlpbnN0ZG9uZS0+c2FtcGxlciA9IEk5MTVfUkVBRChHRU43X1NB TVBMRVJfSU5TVERPTkUpOwo+ICsJCWluc3Rkb25lLT5yb3cgPSBJOTE1X1JFQUQoR0VON19ST1df SU5TVERPTkUpOwo+ICsKPiArCQlicmVhazsKPiArCWNhc2UgNjoKPiArCWNhc2UgNToKPiArCWNh c2UgNDoKPiArCQlpbnN0ZG9uZS0+aW5zdGRvbmUgPSBJOTE1X1JFQUQoUklOR19JTlNURE9ORSht bWlvX2Jhc2UpKTsKPiArCj4gKwkJaWYgKGVuZ2luZV9pZCA9PSBSQ1MpCj4gKwkJCS8qIEhBQ0s6 IFVzaW5nIHRoZSB3cm9uZyBzdHJ1Y3QgbWVtYmVyICovCj4gKwkJCWluc3Rkb25lLT5zbGljZV9j b21tb24gPSBJOTE1X1JFQUQoR0VONF9JTlNURE9ORTEpOwo+ICsJCWJyZWFrOwo+ICsJY2FzZSAz Ogo+ICsJY2FzZSAyOgo+ICsJCWluc3Rkb25lLT5pbnN0ZG9uZSA9IEk5MTVfUkVBRChHRU4yX0lO U1RET05FKTsKPiArCQlicmVhazsKPiAgCX0KPiAgfQo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pOTE1X2lycS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9pcnEuYwo+ IGluZGV4IDgyMzU4ZDQuLjgyY2Y4MjMgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaTkxNV9pcnEuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfaXJxLmMKPiBA QCAtMjU1MCwxOCArMjU1MCwzNiBAQCBzdGF0aWMgdm9pZCBpOTE1X3Jlc2V0X2FuZF93YWtldXAo c3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQo+ICAJfQo+ICB9Cj4gIAo+ICtzdGF0 aWMgaW5saW5lIHZvaWQKPiAraTkxNV9lcnJfcHJpbnRfaW5zdGRvbmUoc3RydWN0IGRybV9pOTE1 X3ByaXZhdGUgKmRldl9wcml2LAo+ICsJCQlzdHJ1Y3QgaW50ZWxfaW5zdGRvbmUgKmluc3Rkb25l KQo+ICt7Cj4gKwlwcl9lcnIoIiAgSU5TVERPTkU6IDB4JTA4eFxuIiwgaW5zdGRvbmUtPmluc3Rk b25lKTsKPiArCj4gKwlpZiAoSU5URUxfR0VOKGRldl9wcml2KSA8PSAzKQo+ICsJCXJldHVybjsK PiArCj4gKwlwcl9lcnIoIiAgU0NfSU5TVERPTkU6IDB4JTA4eFxuIiwgaW5zdGRvbmUtPnNsaWNl X2NvbW1vbik7Cj4gKwo+ICsJaWYgKElOVEVMX0dFTihkZXZfcHJpdikgPD0gNikKPiArCQlyZXR1 cm47Cj4gKwo+ICsJcHJfZXJyKCIgIFNBTVBMRVJfSU5TVERPTkU6IDB4JTA4eFxuIiwgaW5zdGRv bmUtPnNhbXBsZXIpOwo+ICsJcHJfZXJyKCIgIFJPV19JTlNURE9ORTogMHglMDh4XG4iLCBpbnN0 ZG9uZS0+cm93KTsKPiArfQo+ICsKPiAgc3RhdGljIHZvaWQgaTkxNV9yZXBvcnRfYW5kX2NsZWFy X2VpcihzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCj4gIHsKPiAtCXVpbnQzMl90 IGluc3Rkb25lW0k5MTVfTlVNX0lOU1RET05FX1JFR107Cj4gKwlzdHJ1Y3QgaW50ZWxfaW5zdGRv bmUgaW5zdGRvbmU7Cj4gIAl1MzIgZWlyID0gSTkxNV9SRUFEKEVJUik7Cj4gLQlpbnQgcGlwZSwg aTsKPiArCWludCBwaXBlOwo+ICAKPiAgCWlmICghZWlyKQo+ICAJCXJldHVybjsKPiAgCj4gIAlw cl9lcnIoInJlbmRlciBlcnJvciBkZXRlY3RlZCwgRUlSOiAweCUwOHhcbiIsIGVpcik7Cj4gIAo+ IC0JaTkxNV9nZXRfZXh0cmFfaW5zdGRvbmUoZGV2X3ByaXYsIGluc3Rkb25lKTsKPiArCWk5MTVf Z2V0X2VuZ2luZV9pbnN0ZG9uZShkZXZfcHJpdiwgUkNTLCAmaW5zdGRvbmUpOwo+ICAKPiAgCWlm IChJU19HNFgoZGV2X3ByaXYpKSB7Cj4gIAkJaWYgKGVpciAmIChHTTQ1X0VSUk9SX01FTV9QUklW IHwgR000NV9FUlJPUl9DUF9QUklWKSkgewo+IEBAIC0yNTY5LDggKzI1ODcsNyBAQCBzdGF0aWMg dm9pZCBpOTE1X3JlcG9ydF9hbmRfY2xlYXJfZWlyKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpk ZXZfcHJpdikKPiAgCj4gIAkJCXByX2VycigiICBJUEVJUjogMHglMDh4XG4iLCBJOTE1X1JFQUQo SVBFSVJfSTk2NSkpOwo+ICAJCQlwcl9lcnIoIiAgSVBFSFI6IDB4JTA4eFxuIiwgSTkxNV9SRUFE KElQRUhSX0k5NjUpKTsKPiAtCQkJZm9yIChpID0gMDsgaSA8IEFSUkFZX1NJWkUoaW5zdGRvbmUp OyBpKyspCj4gLQkJCQlwcl9lcnIoIiAgSU5TVERPTkVfJWQ6IDB4JTA4eFxuIiwgaSwgaW5zdGRv bmVbaV0pOwo+ICsJCQlpOTE1X2Vycl9wcmludF9pbnN0ZG9uZShkZXZfcHJpdiwgJmluc3Rkb25l KTsKPiAgCQkJcHJfZXJyKCIgIElOU1RQUzogMHglMDh4XG4iLCBJOTE1X1JFQUQoSU5TVFBTKSk7 Cj4gIAkJCXByX2VycigiICBBQ1RIRDogMHglMDh4XG4iLCBJOTE1X1JFQUQoQUNUSERfSTk2NSkp Owo+ICAJCQlJOTE1X1dSSVRFKElQRUlSX0k5NjUsIGlwZWlyKTsKPiBAQCAtMjYwNSw4ICsyNjIy LDcgQEAgc3RhdGljIHZvaWQgaTkxNV9yZXBvcnRfYW5kX2NsZWFyX2VpcihzdHJ1Y3QgZHJtX2k5 MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCj4gIAlpZiAoZWlyICYgSTkxNV9FUlJPUl9JTlNUUlVDVElP Tikgewo+ICAJCXByX2VycigiaW5zdHJ1Y3Rpb24gZXJyb3JcbiIpOwo+ICAJCXByX2VycigiICBJ TlNUUE06IDB4JTA4eFxuIiwgSTkxNV9SRUFEKElOU1RQTSkpOwo+IC0JCWZvciAoaSA9IDA7IGkg PCBBUlJBWV9TSVpFKGluc3Rkb25lKTsgaSsrKQo+IC0JCQlwcl9lcnIoIiAgSU5TVERPTkVfJWQ6 IDB4JTA4eFxuIiwgaSwgaW5zdGRvbmVbaV0pOwo+ICsJCWk5MTVfZXJyX3ByaW50X2luc3Rkb25l KGRldl9wcml2LCAmaW5zdGRvbmUpOwo+ICAJCWlmIChJTlRFTF9HRU4oZGV2X3ByaXYpIDwgNCkg ewo+ICAJCQl1MzIgaXBlaXIgPSBJOTE1X1JFQUQoSVBFSVIpOwo+ICAKPiBAQCAtMjk0OSwzMSAr Mjk2NSw0MiBAQCBzdGF0aWMgdm9pZCBzZW1hcGhvcmVfY2xlYXJfZGVhZGxvY2tzKHN0cnVjdCBk cm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKPiAgCQllbmdpbmUtPmhhbmdjaGVjay5kZWFkbG9j ayA9IDA7Cj4gIH0KPiAgCj4gK3N0YXRpYyBib29sIGluc3Rkb25lX3VuY2hhbmdlZCh1MzIgY3Vy cmVudF9pbnN0ZG9uZSwgdTMyICpvbGRfaW5zdGRvbmUpCj4gK3sKPiArCXUzMiB0bXAgPSBjdXJy ZW50X2luc3Rkb25lIHwgKm9sZF9pbnN0ZG9uZTsKPiArCWJvb2wgdW5jaGFuZ2VkOwo+ICsKPiAr CXVuY2hhbmdlZCA9IHRtcCA9PSAqb2xkX2luc3Rkb25lOwo+ICsJKm9sZF9pbnN0ZG9uZSB8PSB0 bXA7Cj4gKwo+ICsJcmV0dXJuIHVuY2hhbmdlZDsKPiArfQo+ICsKPiAgc3RhdGljIGJvb2wgc3Vi dW5pdHNfc3R1Y2soc3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lKQo+ICB7Cj4gLQl1MzIg aW5zdGRvbmVbSTkxNV9OVU1fSU5TVERPTkVfUkVHXTsKPiArCXN0cnVjdCBkcm1faTkxNV9wcml2 YXRlICpkZXZfcHJpdiA9IGVuZ2luZS0+aTkxNTsKPiArCXN0cnVjdCBpbnRlbF9pbnN0ZG9uZSBp bnN0ZG9uZTsKPiArCXN0cnVjdCBpbnRlbF9pbnN0ZG9uZSAqYWNjdV9pbnN0ZG9uZSA9ICZlbmdp bmUtPmhhbmdjaGVjay5pbnN0ZG9uZTsKPiAgCWJvb2wgc3R1Y2s7Cj4gLQlpbnQgaTsKPiAgCj4g IAlpZiAoZW5naW5lLT5pZCAhPSBSQ1MpCj4gIAkJcmV0dXJuIHRydWU7Cj4gIAo+IC0JaTkxNV9n ZXRfZXh0cmFfaW5zdGRvbmUoZW5naW5lLT5pOTE1LCBpbnN0ZG9uZSk7Cj4gKwlpOTE1X2dldF9l bmdpbmVfaW5zdGRvbmUoZGV2X3ByaXYsIFJDUywgJmluc3Rkb25lKTsKPiAgCj4gIAkvKiBUaGVy ZSBtaWdodCBiZSB1bnN0YWJsZSBzdWJ1bml0IHN0YXRlcyBldmVuIHdoZW4KPiAgCSAqIGFjdHVh bCBoZWFkIGlzIG5vdCBtb3ZpbmcuIEZpbHRlciBvdXQgdGhlIHVuc3RhYmxlIG9uZXMgYnkKPiAg CSAqIGFjY3VtdWxhdGluZyB0aGUgdW5kb25lIC0+IGRvbmUgdHJhbnNpdGlvbnMgYW5kIG9ubHkK PiAgCSAqIGNvbnNpZGVyIHRob3NlIGFzIHByb2dyZXNzLgo+ICAJICovCj4gLQlzdHVjayA9IHRy dWU7Cj4gLQlmb3IgKGkgPSAwOyBpIDwgSTkxNV9OVU1fSU5TVERPTkVfUkVHOyBpKyspIHsKPiAt CQljb25zdCB1MzIgdG1wID0gaW5zdGRvbmVbaV0gfCBlbmdpbmUtPmhhbmdjaGVjay5pbnN0ZG9u ZVtpXTsKPiAtCj4gLQkJaWYgKHRtcCAhPSBlbmdpbmUtPmhhbmdjaGVjay5pbnN0ZG9uZVtpXSkK PiAtCQkJc3R1Y2sgPSBmYWxzZTsKPiAtCj4gLQkJZW5naW5lLT5oYW5nY2hlY2suaW5zdGRvbmVb aV0gfD0gdG1wOwo+IC0JfQo+ICsJc3R1Y2sgPSBpbnN0ZG9uZV91bmNoYW5nZWQoaW5zdGRvbmUu aW5zdGRvbmUsCj4gKwkJCQkgICAmYWNjdV9pbnN0ZG9uZS0+aW5zdGRvbmUpOwo+ICsJc3R1Y2sg Jj0gaW5zdGRvbmVfdW5jaGFuZ2VkKGluc3Rkb25lLnNsaWNlX2NvbW1vbiwKPiArCQkJCSAgICAm YWNjdV9pbnN0ZG9uZS0+c2xpY2VfY29tbW9uKTsKPiArCXN0dWNrICY9IGluc3Rkb25lX3VuY2hh bmdlZChpbnN0ZG9uZS5zYW1wbGVyLAo+ICsJCQkJICAgICZhY2N1X2luc3Rkb25lLT5zYW1wbGVy KTsKPiArCXN0dWNrICY9IGluc3Rkb25lX3VuY2hhbmdlZChpbnN0ZG9uZS5yb3csCj4gKwkJCQkg ICAgJmFjY3VfaW5zdGRvbmUtPnJvdyk7Cj4gIAo+ICAJcmV0dXJuIHN0dWNrOwo+ICB9Cj4gQEAg LTI5ODQsNyArMzAxMSw3IEBAIGhlYWRfc3R1Y2soc3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5n aW5lLCB1NjQgYWN0aGQpCj4gIAlpZiAoYWN0aGQgIT0gZW5naW5lLT5oYW5nY2hlY2suYWN0aGQp IHsKPiAgCj4gIAkJLyogQ2xlYXIgc3VidW5pdCBzdGF0ZXMgb24gaGVhZCBtb3ZlbWVudCAqLwo+ IC0JCW1lbXNldChlbmdpbmUtPmhhbmdjaGVjay5pbnN0ZG9uZSwgMCwKPiArCQltZW1zZXQoJmVu Z2luZS0+aGFuZ2NoZWNrLmluc3Rkb25lLCAwLAo+ICAJCSAgICAgICBzaXplb2YoZW5naW5lLT5o YW5nY2hlY2suaW5zdGRvbmUpKTsKPiAgCj4gIAkJcmV0dXJuIEhBTkdDSEVDS19BQ1RJVkU7Cj4g QEAgLTMxNTgsNyArMzE4NSw3IEBAIHN0YXRpYyB2b2lkIGk5MTVfaGFuZ2NoZWNrX2VsYXBzZWQo c3RydWN0IHdvcmtfc3RydWN0ICp3b3JrKQo+ICAJCQkvKiBDbGVhciBoZWFkIGFuZCBzdWJ1bml0 IHN0YXRlcyBvbiBzZXFubyBtb3ZlbWVudCAqLwo+ICAJCQlhY3RoZCA9IDA7Cj4gIAo+IC0JCQlt ZW1zZXQoZW5naW5lLT5oYW5nY2hlY2suaW5zdGRvbmUsIDAsCj4gKwkJCW1lbXNldCgmZW5naW5l LT5oYW5nY2hlY2suaW5zdGRvbmUsIDAsCj4gIAkJCSAgICAgICBzaXplb2YoZW5naW5lLT5oYW5n Y2hlY2suaW5zdGRvbmUpKTsKPiAgCQl9Cj4gIAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pOTE1X3JlZy5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZWcuaAo+IGlu ZGV4IGEyOWQ3MDcuLmU4NGJjMmUgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUv aTkxNV9yZWcuaAo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVnLmgKPiBAQCAt MTcwOCw3ICsxNzA4LDYgQEAgZW51bSBza2xfZGlzcF9wb3dlcl93ZWxscyB7Cj4gICNkZWZpbmUg R0VON19TQ19JTlNURE9ORQlfTU1JTygweDcxMDApCj4gICNkZWZpbmUgR0VON19TQU1QTEVSX0lO U1RET05FCV9NTUlPKDB4ZTE2MCkKPiAgI2RlZmluZSBHRU43X1JPV19JTlNURE9ORQlfTU1JTygw eGUxNjQpCj4gLSNkZWZpbmUgSTkxNV9OVU1fSU5TVERPTkVfUkVHCTQKPiAgI2RlZmluZSBSSU5H X0lQRUlSKGJhc2UpCV9NTUlPKChiYXNlKSsweDY0KQo+ICAjZGVmaW5lIFJJTkdfSVBFSFIoYmFz ZSkJX01NSU8oKGJhc2UpKzB4NjgpCj4gIC8qCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX3JpbmdidWZmZXIuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3Jp bmdidWZmZXIuaAo+IGluZGV4IDg0YWVhNTQuLmFmYzNmMWUgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfcmluZ2J1ZmZlci5oCj4gKysrIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfcmluZ2J1ZmZlci5oCj4gQEAgLTczLDEzICs3MywyMSBAQCBlbnVtIGludGVs X2VuZ2luZV9oYW5nY2hlY2tfYWN0aW9uIHsKPiAgCj4gICNkZWZpbmUgSEFOR0NIRUNLX1NDT1JF X1JJTkdfSFVORyAzMQo+ICAKPiArc3RydWN0IGludGVsX2luc3Rkb25lIHsKPiArCXUzMiBpbnN0 ZG9uZTsKPiArCS8qIFRoZSBmb2xsb3dpbmcgZXhpc3Qgb25seSBpbiB0aGUgUkNTIGVuZ2luZSAq Lwo+ICsJdTMyIHNsaWNlX2NvbW1vbjsKPiArCXUzMiBzYW1wbGVyOwo+ICsJdTMyIHJvdzsKPiAr fTsKPiArCj4gIHN0cnVjdCBpbnRlbF9lbmdpbmVfaGFuZ2NoZWNrIHsKPiAgCXU2NCBhY3RoZDsK PiAgCXUzMiBzZXFubzsKPiAgCWludCBzY29yZTsKPiAgCWVudW0gaW50ZWxfZW5naW5lX2hhbmdj aGVja19hY3Rpb24gYWN0aW9uOwo+ICAJaW50IGRlYWRsb2NrOwo+IC0JdTMyIGluc3Rkb25lW0k5 MTVfTlVNX0lOU1RET05FX1JFR107Cj4gKwlzdHJ1Y3QgaW50ZWxfaW5zdGRvbmUgaW5zdGRvbmU7 Cj4gIH07Cj4gIAo+ICBzdHJ1Y3QgaW50ZWxfcmluZyB7Cj4gLS0gCj4gMi41LjAKX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcg bGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRl c2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==