From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tvrtko Ursulin Subject: Re: [PATCH v2] drm/i915: Sanitize engine context sizes Date: Wed, 26 Apr 2017 14:16:09 +0100 Message-ID: <3d3e34c2-fa93-375e-be90-3b96d38bcae2@linux.intel.com> References: <1493209238-32650-1-git-send-email-joonas.lahtinen@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1493209238-32650-1-git-send-email-joonas.lahtinen@linux.intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Joonas Lahtinen , Intel graphics driver community testing & development Cc: intel-gvt-dev@lists.freedesktop.org, Paulo Zanoni , Rodrigo Vivi List-Id: intel-gfx@lists.freedesktop.org Ck9uIDI2LzA0LzIwMTcgMTM6MjAsIEpvb25hcyBMYWh0aW5lbiB3cm90ZToKPiBQcmUtY2FsY3Vs YXRlIGVuZ2luZSBjb250ZXh0IHNpemUgYmFzZWQgb24gZW5naW5lIGNsYXNzIGFuZCBkZXZpY2UK PiBnZW5lcmF0aW9uIGFuZCBzdG9yZSBpdCBpbiB0aGUgZW5naW5lIGluc3RhbmNlLgo+Cj4gdjI6 Cj4gCS0gU3F1YXNoIGFuZCBnZXQgcmlkIG9mIGh3X2NvbnRleHRfc2l6ZSAoQ2hyaXMpCj4KPiBT aWduZWQtb2ZmLWJ5OiBKb29uYXMgTGFodGluZW4gPGpvb25hcy5sYWh0aW5lbkBsaW51eC5pbnRl bC5jb20+Cj4gQ2M6IFBhdWxvIFphbm9uaSA8cGF1bG8uci56YW5vbmlAaW50ZWwuY29tPgo+IENj OiBSb2RyaWdvIFZpdmkgPHJvZHJpZ28udml2aUBpbnRlbC5jb20+Cj4gQ2M6IENocmlzIFdpbHNv biA8Y2hyaXNAY2hyaXMtd2lsc29uLmNvLnVrPgo+IENjOiBEYW5pZWxlIENlcmFvbG8gU3B1cmlv IDxkYW5pZWxlLmNlcmFvbG9zcHVyaW9AaW50ZWwuY29tPgo+IENjOiBUdnJ0a28gVXJzdWxpbiA8 dHZydGtvLnVyc3VsaW5AaW50ZWwuY29tPgo+IENjOiBPc2NhciBNYXRlbyA8b3NjYXIubWF0ZW9A aW50ZWwuY29tPgo+IENjOiBaaGVueXUgV2FuZyA8emhlbnl1d0BsaW51eC5pbnRlbC5jb20+Cj4g Q2M6IGludGVsLWd2dC1kZXZAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCj4gLS0tCj4gIGRyaXZlcnMv Z3B1L2RybS9pOTE1L2d2dC9zY2hlZHVsZXIuYyAgICAgICB8ICA2ICstLQo+ICBkcml2ZXJzL2dw dS9kcm0vaTkxNS9pOTE1X2Rydi5oICAgICAgICAgICAgfCAgMSAtCj4gIGRyaXZlcnMvZ3B1L2Ry bS9pOTE1L2k5MTVfZ2VtX2NvbnRleHQuYyAgICB8IDU5ICsrKy0tLS0tLS0tLS0tLS0tLS0tLS0K PiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9ndWNfc3VibWlzc2lvbi5jIHwgIDMgKy0KPiAg ZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZWcuaCAgICAgICAgICAgIHwgMTAgLS0tLQo+ICBk cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9lbmdpbmVfY3MuYyAgICAgfCA3OCArKysrKysrKysr KysrKysrKysrKysrKysrKysrKysKPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJjLmMg ICAgICAgICAgIHwgNTQgKy0tLS0tLS0tLS0tLS0tLS0tLS0tCj4gIGRyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX2xyYy5oICAgICAgICAgICB8ICAyIC0KPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfcmluZ2J1ZmZlci5oICAgIHwgIDcgKy0tCj4gIDkgZmlsZXMgY2hhbmdlZCwgOTMgaW5z ZXJ0aW9ucygrKSwgMTI3IGRlbGV0aW9ucygtKQo+Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2d2dC9zY2hlZHVsZXIuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d2dC9zY2hl ZHVsZXIuYwo+IGluZGV4IGE3N2RiMjMuLmFjNTM4ZGMgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9n cHUvZHJtL2k5MTUvZ3Z0L3NjaGVkdWxlci5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUv Z3Z0L3NjaGVkdWxlci5jCj4gQEAgLTY5LDggKzY5LDcgQEAgc3RhdGljIGludCBwb3B1bGF0ZV9z aGFkb3dfY29udGV4dChzdHJ1Y3QgaW50ZWxfdmdwdV93b3JrbG9hZCAqd29ya2xvYWQpCj4gIAln dnRfZGJnX3NjaGVkKCJyaW5nIGlkICVkIHdvcmtsb2FkIGxyY2EgJXgiLCByaW5nX2lkLAo+ICAJ CQl3b3JrbG9hZC0+Y3R4X2Rlc2MubHJjYSk7Cj4KPiAtCWNvbnRleHRfcGFnZV9udW0gPSBpbnRl bF9scl9jb250ZXh0X3NpemUoCj4gLQkJCWd2dC0+ZGV2X3ByaXYtPmVuZ2luZVtyaW5nX2lkXSk7 Cj4gKwljb250ZXh0X3BhZ2VfbnVtID0gZ3Z0LT5kZXZfcHJpdi0+ZW5naW5lW3JpbmdfaWRdLT5j b250ZXh0X3NpemU7Cj4KPiAgCWNvbnRleHRfcGFnZV9udW0gPSBjb250ZXh0X3BhZ2VfbnVtID4+ IFBBR0VfU0hJRlQ7Cj4KPiBAQCAtMzMzLDggKzMzMiw3IEBAIHN0YXRpYyB2b2lkIHVwZGF0ZV9n dWVzdF9jb250ZXh0KHN0cnVjdCBpbnRlbF92Z3B1X3dvcmtsb2FkICp3b3JrbG9hZCkKPiAgCWd2 dF9kYmdfc2NoZWQoInJpbmcgaWQgJWQgd29ya2xvYWQgbHJjYSAleFxuIiwgcmluZ19pZCwKPiAg CQkJd29ya2xvYWQtPmN0eF9kZXNjLmxyY2EpOwo+Cj4gLQljb250ZXh0X3BhZ2VfbnVtID0gaW50 ZWxfbHJfY29udGV4dF9zaXplKAo+IC0JCQlndnQtPmRldl9wcml2LT5lbmdpbmVbcmluZ19pZF0p Owo+ICsJY29udGV4dF9wYWdlX251bSA9IGd2dC0+ZGV2X3ByaXYtPmVuZ2luZVtyaW5nX2lkXS0+ Y29udGV4dF9zaXplOwo+Cj4gIAljb250ZXh0X3BhZ2VfbnVtID0gY29udGV4dF9wYWdlX251bSA+ PiBQQUdFX1NISUZUOwo+Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVf ZHJ2LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCj4gaW5kZXggMzU3YjZjNi4u NGI1NGI5MiAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCj4g KysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaAo+IEBAIC0yMzU5LDcgKzIzNTks NiBAQCBzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSB7Cj4gIAkgKi8KPiAgCXN0cnVjdCBtdXRleCBh dl9tdXRleDsKPgo+IC0JdWludDMyX3QgaHdfY29udGV4dF9zaXplOwo+ICAJc3RydWN0IGxpc3Rf aGVhZCBjb250ZXh0X2xpc3Q7Cj4KPiAgCXUzMiBmZGlfcnhfY29uZmlnOwo+IGRpZmYgLS1naXQg YS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9jb250ZXh0LmMgYi9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pOTE1X2dlbV9jb250ZXh0LmMKPiBpbmRleCA4YmQwYzQ5Li5iNjlhMDI2IDEwMDY0 NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2NvbnRleHQuYwo+ICsrKyBi L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2NvbnRleHQuYwo+IEBAIC05MiwzMyArOTIs NiBAQAo+Cj4gICNkZWZpbmUgQUxMX0wzX1NMSUNFUyhkZXYpICgxIDw8IE5VTV9MM19TTElDRVMo ZGV2KSkgLSAxCj4KPiAtc3RhdGljIGludCBnZXRfY29udGV4dF9zaXplKHN0cnVjdCBkcm1faTkx NV9wcml2YXRlICpkZXZfcHJpdikKPiAtewo+IC0JaW50IHJldDsKPiAtCXUzMiByZWc7Cj4gLQo+ IC0Jc3dpdGNoIChJTlRFTF9HRU4oZGV2X3ByaXYpKSB7Cj4gLQljYXNlIDY6Cj4gLQkJcmVnID0g STkxNV9SRUFEKENYVF9TSVpFKTsKPiAtCQlyZXQgPSBHRU42X0NYVF9UT1RBTF9TSVpFKHJlZykg KiA2NDsKPiAtCQlicmVhazsKPiAtCWNhc2UgNzoKPiAtCQlyZWcgPSBJOTE1X1JFQUQoR0VON19D WFRfU0laRSk7Cj4gLQkJaWYgKElTX0hBU1dFTEwoZGV2X3ByaXYpKQo+IC0JCQlyZXQgPSBIU1df Q1hUX1RPVEFMX1NJWkU7Cj4gLQkJZWxzZQo+IC0JCQlyZXQgPSBHRU43X0NYVF9UT1RBTF9TSVpF KHJlZykgKiA2NDsKPiAtCQlicmVhazsKPiAtCWNhc2UgODoKPiAtCQlyZXQgPSBHRU44X0NYVF9U T1RBTF9TSVpFOwo+IC0JCWJyZWFrOwo+IC0JZGVmYXVsdDoKPiAtCQlCVUcoKTsKPiAtCX0KPiAt Cj4gLQlyZXR1cm4gcmV0Owo+IC19Cj4gLQo+ICB2b2lkIGk5MTVfZ2VtX2NvbnRleHRfZnJlZShz dHJ1Y3Qga3JlZiAqY3R4X3JlZikKPiAgewo+ICAJc3RydWN0IGk5MTVfZ2VtX2NvbnRleHQgKmN0 eCA9IGNvbnRhaW5lcl9vZihjdHhfcmVmLCB0eXBlb2YoKmN0eCksIHJlZik7Cj4gQEAgLTI2Niwx MSArMjM5LDEyIEBAIF9fY3JlYXRlX2h3X2NvbnRleHQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUg KmRldl9wcml2LAo+ICAJbGlzdF9hZGRfdGFpbCgmY3R4LT5saW5rLCAmZGV2X3ByaXYtPmNvbnRl eHRfbGlzdCk7Cj4gIAljdHgtPmk5MTUgPSBkZXZfcHJpdjsKPgo+IC0JaWYgKGRldl9wcml2LT5o d19jb250ZXh0X3NpemUpIHsKPiArCWlmIChkZXZfcHJpdi0+ZW5naW5lW1JDU10tPmNvbnRleHRf c2l6ZSkgewo+ICAJCXN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmo7Cj4gIAkJc3RydWN0 IGk5MTVfdm1hICp2bWE7Cj4KPiAtCQlvYmogPSBhbGxvY19jb250ZXh0X29iaihkZXZfcHJpdiwg ZGV2X3ByaXYtPmh3X2NvbnRleHRfc2l6ZSk7Cj4gKwkJb2JqID0gYWxsb2NfY29udGV4dF9vYmoo ZGV2X3ByaXYsCj4gKwkJCQkJZGV2X3ByaXYtPmVuZ2luZVtSQ1NdLT5jb250ZXh0X3NpemUpOwo+ ICAJCWlmIChJU19FUlIob2JqKSkgewo+ICAJCQlyZXQgPSBQVFJfRVJSKG9iaik7Cj4gIAkJCWdv dG8gZXJyX291dDsKPiBAQCAtNDQzLDIxICs0MTcsNiBAQCBpbnQgaTkxNV9nZW1fY29udGV4dF9p bml0KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKPiAgCUJVSUxEX0JVR19PTihN QVhfQ09OVEVYVF9IV19JRCA+IElOVF9NQVgpOwo+ICAJaWRhX2luaXQoJmRldl9wcml2LT5jb250 ZXh0X2h3X2lkYSk7Cj4KPiAtCWlmIChpOTE1LmVuYWJsZV9leGVjbGlzdHMpIHsKPiAtCQkvKiBO QjogaW50ZW50aW9uYWxseSBsZWZ0IGJsYW5rLiBXZSB3aWxsIGFsbG9jYXRlIG91ciBvd24KPiAt CQkgKiBiYWNraW5nIG9iamVjdHMgYXMgd2UgbmVlZCB0aGVtLCB0aGFuayB5b3UgdmVyeSBtdWNo ICovCj4gLQkJZGV2X3ByaXYtPmh3X2NvbnRleHRfc2l6ZSA9IDA7Cj4gLQl9IGVsc2UgaWYgKEhB U19IV19DT05URVhUUyhkZXZfcHJpdikpIHsKPiAtCQlkZXZfcHJpdi0+aHdfY29udGV4dF9zaXpl ID0KPiAtCQkJcm91bmRfdXAoZ2V0X2NvbnRleHRfc2l6ZShkZXZfcHJpdiksCj4gLQkJCQkgSTkx NV9HVFRfUEFHRV9TSVpFKTsKCklzIHRoaXMgcm91bmRpbmcgdXAgbG9zdCB3aGVuIHVzZWQgZnJv bSBfX2NyZWF0ZV9od19jb250ZXh0PwoKPiAtCQlpZiAoZGV2X3ByaXYtPmh3X2NvbnRleHRfc2l6 ZSA+ICgxPDwyMCkpIHsKPiAtCQkJRFJNX0RFQlVHX0RSSVZFUigiRGlzYWJsaW5nIEhXIENvbnRl eHRzOyBpbnZhbGlkIHNpemUgJWRcbiIsCj4gLQkJCQkJIGRldl9wcml2LT5od19jb250ZXh0X3Np emUpOwo+IC0JCQlkZXZfcHJpdi0+aHdfY29udGV4dF9zaXplID0gMDsKPiAtCQl9Cj4gLQl9Cj4g LQo+ICAJY3R4ID0gaTkxNV9nZW1fY3JlYXRlX2NvbnRleHQoZGV2X3ByaXYsIE5VTEwpOwo+ICAJ aWYgKElTX0VSUihjdHgpKSB7Cj4gIAkJRFJNX0VSUk9SKCJGYWlsZWQgdG8gY3JlYXRlIGRlZmF1 bHQgZ2xvYmFsIGNvbnRleHQgKGVycm9yICVsZClcbiIsCj4gQEAgLTQ3OCw3ICs0MzcsNyBAQCBp bnQgaTkxNV9nZW1fY29udGV4dF9pbml0KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJp dikKPgo+ICAJRFJNX0RFQlVHX0RSSVZFUigiJXMgY29udGV4dCBzdXBwb3J0IGluaXRpYWxpemVk XG4iLAo+ICAJCQlpOTE1LmVuYWJsZV9leGVjbGlzdHMgPyAiTFIiIDoKPiAtCQkJZGV2X3ByaXYt Pmh3X2NvbnRleHRfc2l6ZSA/ICJIVyIgOiAiZmFrZSIpOwo+ICsJCQlkZXZfcHJpdi0+ZW5naW5l W1JDU10tPmNvbnRleHRfc2l6ZSA/ICJIVyIgOiAiZmFrZSIpOwo+ICAJcmV0dXJuIDA7Cj4gIH0K Pgo+IEBAIC05NDEsMTEgKzkwMCw2IEBAIGludCBpOTE1X2dlbV9zd2l0Y2hfdG9fa2VybmVsX2Nv bnRleHQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQo+ICAJcmV0dXJuIDA7Cj4g IH0KPgo+IC1zdGF0aWMgYm9vbCBjb250ZXh0c19lbmFibGVkKHN0cnVjdCBkcm1fZGV2aWNlICpk ZXYpCj4gLXsKPiAtCXJldHVybiBpOTE1LmVuYWJsZV9leGVjbGlzdHMgfHwgdG9faTkxNShkZXYp LT5od19jb250ZXh0X3NpemU7Cj4gLX0KPiAtCj4gIHN0YXRpYyBib29sIGNsaWVudF9pc19iYW5u ZWQoc3RydWN0IGRybV9pOTE1X2ZpbGVfcHJpdmF0ZSAqZmlsZV9wcml2KQo+ICB7Cj4gIAlyZXR1 cm4gZmlsZV9wcml2LT5jb250ZXh0X2JhbnMgPiBJOTE1X01BWF9DTElFTlRfQ09OVEVYVF9CQU5T Owo+IEBAIC05NTQsMTIgKzkwOCwxMyBAQCBzdGF0aWMgYm9vbCBjbGllbnRfaXNfYmFubmVkKHN0 cnVjdCBkcm1faTkxNV9maWxlX3ByaXZhdGUgKmZpbGVfcHJpdikKPiAgaW50IGk5MTVfZ2VtX2Nv bnRleHRfY3JlYXRlX2lvY3RsKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHZvaWQgKmRhdGEsCj4g IAkJCQkgIHN0cnVjdCBkcm1fZmlsZSAqZmlsZSkKPiAgewo+ICsJc3RydWN0IGRybV9pOTE1X3By aXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShkZXYpOwo+ICAJc3RydWN0IGRybV9pOTE1X2dlbV9j b250ZXh0X2NyZWF0ZSAqYXJncyA9IGRhdGE7Cj4gIAlzdHJ1Y3QgZHJtX2k5MTVfZmlsZV9wcml2 YXRlICpmaWxlX3ByaXYgPSBmaWxlLT5kcml2ZXJfcHJpdjsKPiAgCXN0cnVjdCBpOTE1X2dlbV9j b250ZXh0ICpjdHg7Cj4gIAlpbnQgcmV0Owo+Cj4gLQlpZiAoIWNvbnRleHRzX2VuYWJsZWQoZGV2 KSkKPiArCWlmICghZGV2X3ByaXYtPmVuZ2luZVtSQ1NdLT5jb250ZXh0X3NpemUpCj4gIAkJcmV0 dXJuIC1FTk9ERVY7Cj4KPiAgCWlmIChhcmdzLT5wYWQgIT0gMCkKPiBAQCAtOTc3LDcgKzkzMiw3 IEBAIGludCBpOTE1X2dlbV9jb250ZXh0X2NyZWF0ZV9pb2N0bChzdHJ1Y3QgZHJtX2RldmljZSAq ZGV2LCB2b2lkICpkYXRhLAo+ICAJaWYgKHJldCkKPiAgCQlyZXR1cm4gcmV0Owo+Cj4gLQljdHgg PSBpOTE1X2dlbV9jcmVhdGVfY29udGV4dCh0b19pOTE1KGRldiksIGZpbGVfcHJpdik7Cj4gKwlj dHggPSBpOTE1X2dlbV9jcmVhdGVfY29udGV4dChkZXZfcHJpdiwgZmlsZV9wcml2KTsKPiAgCW11 dGV4X3VubG9jaygmZGV2LT5zdHJ1Y3RfbXV0ZXgpOwo+ICAJaWYgKElTX0VSUihjdHgpKQo+ICAJ CXJldHVybiBQVFJfRVJSKGN0eCk7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2k5MTVfZ3VjX3N1Ym1pc3Npb24uYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ3VjX3N1 Ym1pc3Npb24uYwo+IGluZGV4IGFiNTE0MGIuLjZjNzg2MzcgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaTkxNV9ndWNfc3VibWlzc2lvbi5jCj4gKysrIGIvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaTkxNV9ndWNfc3VibWlzc2lvbi5jCj4gQEAgLTEwNTEsOCArMTA1MSw3IEBAIHN0 YXRpYyBpbnQgZ3VjX2Fkc19jcmVhdGUoc3RydWN0IGludGVsX2d1YyAqZ3VjKQo+ICAJCWRldl9w cml2LT5lbmdpbmVbUkNTXS0+c3RhdHVzX3BhZ2UuZ2d0dF9vZmZzZXQ7Cj4KPiAgCWZvcl9lYWNo X2VuZ2luZShlbmdpbmUsIGRldl9wcml2LCBpZCkKPiAtCQlibG9iLT5hZHMuZW5nX3N0YXRlX3Np emVbZW5naW5lLT5ndWNfaWRdID0KPiAtCQkJaW50ZWxfbHJfY29udGV4dF9zaXplKGVuZ2luZSk7 Cj4gKwkJYmxvYi0+YWRzLmVuZ19zdGF0ZV9zaXplW2VuZ2luZS0+Z3VjX2lkXSA9IGVuZ2luZS0+ Y29udGV4dF9zaXplOwo+Cj4gIAliYXNlID0gZ3VjX2dndHRfb2Zmc2V0KHZtYSk7Cj4gIAlibG9i LT5hZHMuc2NoZWR1bGVyX3BvbGljaWVzID0gYmFzZSArIHB0cl9vZmZzZXQoYmxvYiwgcG9saWNp ZXMpOwo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlZy5oIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZWcuaAo+IGluZGV4IDRjNzJhZGEuLmVlODE3MGMgMTAw NjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZWcuaAo+ICsrKyBiL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVnLmgKPiBAQCAtMzM3MCwxNiArMzM3MCw2IEBAIGVudW0g c2tsX2Rpc3BfcG93ZXJfd2VsbHMgewo+ICAjZGVmaW5lIEdFTjdfQ1hUX1ZGU1RBVEVfU0laRShj dHhfcmVnKQkoKChjdHhfcmVnKSA+PiAwKSAmIDB4M2YpCj4gICNkZWZpbmUgR0VON19DWFRfVE9U QUxfU0laRShjdHhfcmVnKQkoR0VON19DWFRfRVhURU5ERURfU0laRShjdHhfcmVnKSArIFwKPiAg CQkJCQkgR0VON19DWFRfVkZTVEFURV9TSVpFKGN0eF9yZWcpKQo+IC0vKiBIYXN3ZWxsIGRvZXMg aGF2ZSB0aGUgQ1hUX1NJWkUgcmVnaXN0ZXIgaG93ZXZlciBpdCBkb2VzIG5vdCBhcHBlYXIgdG8g YmUKPiAtICogdmFsaWQuIE5vdywgZG9jcyBleHBsYWluIGluIGR3b3JkcyB3aGF0IGlzIGluIHRo ZSBjb250ZXh0IG9iamVjdC4gVGhlIGZ1bGwKPiAtICogc2l6ZSBpcyA3MDcyMCBieXRlcywgaG93 ZXZlciwgdGhlIHBvd2VyIGNvbnRleHQgYW5kIGV4ZWNsaXN0IGNvbnRleHQgd2lsbAo+IC0gKiBu ZXZlciBiZSBzYXZlZCAocG93ZXIgY29udGV4dCBpcyBzdG9yZWQgZWxzZXdoZXJlLCBhbmQgZXhl Y2xpc3RzIGRvbid0IHdvcmsKPiAtICogb24gSFNXKSAtIHNvIHRoZSBmaW5hbCBzaXplLCBpbmNs dWRpbmcgdGhlIGV4dHJhIHN0YXRlIHJlcXVpcmVkIGZvciB0aGUKPiAtICogUmVzb3VyY2UgU3Ry ZWFtZXIsIGlzIDY2OTQ0IGJ5dGVzLCB3aGljaCByb3VuZHMgdG8gMTcgcGFnZXMuCj4gLSAqLwo+ IC0jZGVmaW5lIEhTV19DWFRfVE9UQUxfU0laRQkJKDE3ICogUEFHRV9TSVpFKQo+IC0vKiBTYW1l IGFzIEhhc3dlbGwsIGJ1dCA3MjA2NCBieXRlcyBub3cuICovCj4gLSNkZWZpbmUgR0VOOF9DWFRf VE9UQUxfU0laRQkJKDE4ICogUEFHRV9TSVpFKQo+Cj4gIGVudW0gewo+ICAJSU5URUxfQURWQU5D RURfQ09OVEVYVCA9IDAsCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X2VuZ2luZV9jcy5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZW5naW5lX2NzLmMKPiBp bmRleCA4MmEyNzRiLi4yNGJjZDlhIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX2VuZ2luZV9jcy5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZW5n aW5lX2NzLmMKPiBAQCAtMjYsNiArMjYsMjIgQEAKPiAgI2luY2x1ZGUgImludGVsX3JpbmdidWZm ZXIuaCIKPiAgI2luY2x1ZGUgImludGVsX2xyYy5oIgo+Cj4gKy8qIEhhc3dlbGwgZG9lcyBoYXZl IHRoZSBDWFRfU0laRSByZWdpc3RlciBob3dldmVyIGl0IGRvZXMgbm90IGFwcGVhciB0byBiZQo+ ICsgKiB2YWxpZC4gTm93LCBkb2NzIGV4cGxhaW4gaW4gZHdvcmRzIHdoYXQgaXMgaW4gdGhlIGNv bnRleHQgb2JqZWN0LiBUaGUgZnVsbAo+ICsgKiBzaXplIGlzIDcwNzIwIGJ5dGVzLCBob3dldmVy LCB0aGUgcG93ZXIgY29udGV4dCBhbmQgZXhlY2xpc3QgY29udGV4dCB3aWxsCj4gKyAqIG5ldmVy IGJlIHNhdmVkIChwb3dlciBjb250ZXh0IGlzIHN0b3JlZCBlbHNld2hlcmUsIGFuZCBleGVjbGlz dHMgZG9uJ3Qgd29yawo+ICsgKiBvbiBIU1cpIC0gc28gdGhlIGZpbmFsIHNpemUsIGluY2x1ZGlu ZyB0aGUgZXh0cmEgc3RhdGUgcmVxdWlyZWQgZm9yIHRoZQo+ICsgKiBSZXNvdXJjZSBTdHJlYW1l ciwgaXMgNjY5NDQgYnl0ZXMsIHdoaWNoIHJvdW5kcyB0byAxNyBwYWdlcy4KPiArICovCj4gKyNk ZWZpbmUgSFNXX0NYVF9UT1RBTF9TSVpFCQkoMTcgKiBQQUdFX1NJWkUpCj4gKy8qIFNhbWUgYXMg SGFzd2VsbCwgYnV0IDcyMDY0IGJ5dGVzIG5vdy4gKi8KPiArI2RlZmluZSBHRU44X0NYVF9UT1RB TF9TSVpFCQkoMTggKiBQQUdFX1NJWkUpCj4gKwo+ICsjZGVmaW5lIEdFTjhfTFJfQ09OVEVYVF9S RU5ERVJfU0laRQkoMjAgKiBQQUdFX1NJWkUpCj4gKyNkZWZpbmUgR0VOOV9MUl9DT05URVhUX1JF TkRFUl9TSVpFCSgyMiAqIFBBR0VfU0laRSkKPiArCj4gKyNkZWZpbmUgR0VOOF9MUl9DT05URVhU X09USEVSX1NJWkUJKCAyICogUEFHRV9TSVpFKQo+ICsKPiAgc3RydWN0IGVuZ2luZV9jbGFzc19p bmZvIHsKPiAgCWNvbnN0IGNoYXIgKm5hbWU7Cj4gIAlpbnQgKCppbml0X2xlZ2FjeSkoc3RydWN0 IGludGVsX2VuZ2luZV9jcyAqZW5naW5lKTsKPiBAQCAtMTA3LDYgKzEyMyw2NCBAQCBzdGF0aWMg Y29uc3Qgc3RydWN0IGVuZ2luZV9pbmZvIGludGVsX2VuZ2luZXNbXSA9IHsKPiAgCX0sCj4gIH07 Cj4KPiArLyoqCj4gKyAqIF9fX2ludGVsX2VuZ2luZV9jb250ZXh0X3NpemUoKSAtIHJldHVybiB0 aGUgc2l6ZSBvZiB0aGUgY29udGV4dCBmb3IgYW4gZW5naW5lCj4gKyAqIEBkZXZfcHJpdjogaTkx NSBkZXZpY2UgcHJpdmF0ZQo+ICsgKiBAY2xhc3M6IGVuZ2luZSBjbGFzcwo+ICsgKgo+ICsgKiBF YWNoIGVuZ2luZSBjbGFzcyBtYXkgcmVxdWlyZSBhIGRpZmZlcmVudCBhbW91bnQgb2Ygc3BhY2Ug Zm9yIGEgY29udGV4dAo+ICsgKiBpbWFnZS4KPiArICoKPiArICogUmV0dXJuOiBzaXplIChpbiBi eXRlcykgb2YgYW4gZW5naW5lIGNsYXNzIHNwZWNpZmljIGNvbnRleHQgaW1hZ2UKPiArICoKPiAr ICogTm90ZTogdGhpcyBzaXplIGluY2x1ZGVzIHRoZSBIV1NQLCB3aGljaCBpcyBwYXJ0IG9mIHRo ZSBjb250ZXh0IGltYWdlCj4gKyAqIGluIExSQyBtb2RlLCBidXQgZG9lcyBub3QgaW5jbHVkZSB0 aGUgInNoYXJlZCBkYXRhIHBhZ2UiIHVzZWQgd2l0aAo+ICsgKiBHdUMgc3VibWlzc2lvbi4gVGhl IGNhbGxlciBzaG91bGQgYWNjb3VudCBmb3IgdGhpcyBpZiB1c2luZyB0aGUgR3VDLgo+ICsgKi8K PiArc3RhdGljIHUzMgo+ICtfX2ludGVsX2VuZ2luZV9jb250ZXh0X3NpemUoc3RydWN0IGRybV9p OTE1X3ByaXZhdGUgKmRldl9wcml2LCB1OCBjbGFzcykKClZlcnkgbWlub3IsIGJ1dCBDaHJpcyBo YXMgYmVlbiB0cnlpbmcgdG8gZXN0YWJsaXNoIGk5MTUgaW5zdGVhZCBvZiAKZGV2X3ByaXYgaW4g bmV3IGNvZGUuCgo+ICt7Cj4gKwl1MzIgcmVnOwoKQWxzbyB2ZXJ5IG1pbm9yLCBJIHRoaW5rIHdl IG5vcm1hbGx5IHVzZSB2YWwgZm9yIHJlZ2lzdGVyIHZhbHVlcyBhbmQgcmVnIApmb3IgdGhlIHJl Z2lzdGVyIGl0c2VsZi4gUXVpY2sgZ3JlcCBzdWdnZXN0cyB3ZSBhcmUgbm90IDEwMCUgY29uc2lz dGVudCAKYWxyZWFkeSBzbyBmZWVsIGZyZWUgdG8gaWdub3JlLiA6KQoKPiArCj4gKwlzd2l0Y2gg KGNsYXNzKSB7Cj4gKwljYXNlIFJFTkRFUl9DTEFTUzoKPiArCQlzd2l0Y2ggKElOVEVMX0dFTihk ZXZfcHJpdikpIHsKPiArCQlkZWZhdWx0Ogo+ICsJCQlNSVNTSU5HX0NBU0UoSU5URUxfR0VOKGRl dl9wcml2KSk7Cj4gKwkJY2FzZSA5Ogo+ICsJCQlyZXR1cm4gR0VOOV9MUl9DT05URVhUX1JFTkRF Ul9TSVpFOwo+ICsJCWNhc2UgODoKPiArCQkJcmV0dXJuIGk5MTUuZW5hYmxlX2V4ZWNsaXN0cyA/ Cj4gKwkJCSAgICAgICBHRU44X0xSX0NPTlRFWFRfUkVOREVSX1NJWkUgOgo+ICsJCQkgICAgICAg R0VOOF9DWFRfVE9UQUxfU0laRTsKPiArCQljYXNlIDc6Cj4gKwkJCWlmIChJU19IQVNXRUxMKGRl dl9wcml2KSkKPiArCQkJCXJldHVybiBIU1dfQ1hUX1RPVEFMX1NJWkU7Cj4gKwo+ICsJCQlyZWcg PSBJOTE1X1JFQUQoR0VON19DWFRfU0laRSk7Cj4gKwkJCXJldHVybiBHRU43X0NYVF9UT1RBTF9T SVpFKHJlZykgKiA2NDsKPiArCQljYXNlIDY6Cj4gKwkJCXJlZyA9IEk5MTVfUkVBRChDWFRfU0la RSk7Cj4gKwkJCXJldHVybiBHRU42X0NYVF9UT1RBTF9TSVpFKHJlZykgKiA2NDsKPiArCQljYXNl IDU6Cj4gKwkJY2FzZSA0Ogo+ICsJCWNhc2UgMzoKPiArCQljYXNlIDI6Cj4gKwkJLyogRm9yIHRo ZSBzcGVjaWFsIGRheSB3aGVuIGk4MTAgZ2V0cyBtZXJnZWQuICovCj4gKwkJY2FzZSAxOgo+ICsJ CQlyZXR1cm4gMDsKPiArCQl9Cj4gKwkJYnJlYWs7Cj4gKwlkZWZhdWx0Ogo+ICsJCU1JU1NJTkdf Q0FTRShjbGFzcyk7Cj4gKwljYXNlIFZJREVPX0RFQ09ERV9DTEFTUzoKPiArCWNhc2UgVklERU9f RU5IQU5DRU1FTlRfQ0xBU1M6Cj4gKwljYXNlIENPUFlfRU5HSU5FX0NMQVNTOgo+ICsJCVdBUk5f T04oSU5URUxfR0VOKGRldl9wcml2KSA8IDgpOwo+ICsJCXJldHVybiBHRU44X0xSX0NPTlRFWFRf T1RIRVJfU0laRTsKPiArCX0KPiArfQo+ICsKPiAgc3RhdGljIGludAo+ICBpbnRlbF9lbmdpbmVf c2V0dXAoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAo+ICAJCSAgIGVudW0gaW50 ZWxfZW5naW5lX2lkIGlkKQo+IEBAIC0xMzQsNiArMjA4LDEwIEBAIGludGVsX2VuZ2luZV9zZXR1 cChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCj4gIAllbmdpbmUtPmlycV9zaGlm dCA9IGluZm8tPmlycV9zaGlmdDsKPiAgCWVuZ2luZS0+Y2xhc3MgPSBpbmZvLT5jbGFzczsKPiAg CWVuZ2luZS0+aW5zdGFuY2UgPSBpbmZvLT5pbnN0YW5jZTsKPiArCWVuZ2luZS0+Y29udGV4dF9z aXplID0gX19pbnRlbF9lbmdpbmVfY29udGV4dF9zaXplKGRldl9wcml2LAo+ICsJCQkJCQkJICAg ZW5naW5lLT5jbGFzcyk7Cj4gKwlpZiAoV0FSTl9PTihlbmdpbmUtPmNvbnRleHRfc2l6ZSA+IEJJ VCgyMCkpKQo+ICsJCWVuZ2luZS0+Y29udGV4dF9zaXplID0gMDsKCkRvbid0IGtub3cgdGhlIGhp c3RvcnkgdG8gdGVsbCB3aGV0aGVyIHVwZ3JhZGUgb2YgRFJNX0RFQlVHX0RSSVZFUiB0byBhIApX QVJOX09OIGlzIG9rLgoKPgo+ICAJLyogTm90aGluZyB0byBkbyBoZXJlLCBleGVjdXRlIGluIG9y ZGVyIG9mIGRlcGVuZGVuY2llcyAqLwo+ICAJZW5naW5lLT5zY2hlZHVsZSA9IE5VTEw7Cj4gZGlm ZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2xyYy5jIGIvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfbHJjLmMKPiBpbmRleCA1ZWMwNjRhLi4wOTA5NTQ5IDEwMDY0NAo+IC0t LSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2xyYy5jCj4gKysrIGIvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfbHJjLmMKPiBAQCAtMTM4LDEwICsxMzgsNiBAQAo+ICAjaW5jbHVkZSAi aTkxNV9kcnYuaCIKPiAgI2luY2x1ZGUgImludGVsX21vY3MuaCIKPgo+IC0jZGVmaW5lIEdFTjlf TFJfQ09OVEVYVF9SRU5ERVJfU0laRSAoMjIgKiBQQUdFX1NJWkUpCj4gLSNkZWZpbmUgR0VOOF9M Ul9DT05URVhUX1JFTkRFUl9TSVpFICgyMCAqIFBBR0VfU0laRSkKPiAtI2RlZmluZSBHRU44X0xS X0NPTlRFWFRfT1RIRVJfU0laRSAoMiAqIFBBR0VfU0laRSkKPiAtCj4gICNkZWZpbmUgUklOR19F WEVDTElTVF9RRlVMTAkJKDEgPDwgMHgyKQo+ICAjZGVmaW5lIFJJTkdfRVhFQ0xJU1QxX1ZBTElE CQkoMSA8PCAweDMpCj4gICNkZWZpbmUgUklOR19FWEVDTElTVDBfVkFMSUQJCSgxIDw8IDB4NCkK PiBAQCAtMTkxOCw1MyArMTkxNCw2IEBAIHBvcHVsYXRlX2xyX2NvbnRleHQoc3RydWN0IGk5MTVf Z2VtX2NvbnRleHQgKmN0eCwKPiAgCXJldHVybiAwOwo+ICB9Cj4KPiAtLyoqCj4gLSAqIGludGVs X2xyX2NvbnRleHRfc2l6ZSgpIC0gcmV0dXJuIHRoZSBzaXplIG9mIHRoZSBjb250ZXh0IGZvciBh biBlbmdpbmUKPiAtICogQGVuZ2luZTogd2hpY2ggZW5naW5lIHRvIGZpbmQgdGhlIGNvbnRleHQg c2l6ZSBmb3IKPiAtICoKPiAtICogRWFjaCBlbmdpbmUgbWF5IHJlcXVpcmUgYSBkaWZmZXJlbnQg YW1vdW50IG9mIHNwYWNlIGZvciBhIGNvbnRleHQgaW1hZ2UsCj4gLSAqIHNvIHdoZW4gYWxsb2Nh dGluZyAob3IgY29weWluZykgYW4gaW1hZ2UsIHRoaXMgZnVuY3Rpb24gY2FuIGJlIHVzZWQgdG8K PiAtICogZmluZCB0aGUgcmlnaHQgc2l6ZSBmb3IgdGhlIHNwZWNpZmljIGVuZ2luZS4KPiAtICoK PiAtICogUmV0dXJuOiBzaXplIChpbiBieXRlcykgb2YgYW4gZW5naW5lLXNwZWNpZmljIGNvbnRl eHQgaW1hZ2UKPiAtICoKPiAtICogTm90ZTogdGhpcyBzaXplIGluY2x1ZGVzIHRoZSBIV1NQLCB3 aGljaCBpcyBwYXJ0IG9mIHRoZSBjb250ZXh0IGltYWdlCj4gLSAqIGluIExSQyBtb2RlLCBidXQg ZG9lcyBub3QgaW5jbHVkZSB0aGUgInNoYXJlZCBkYXRhIHBhZ2UiIHVzZWQgd2l0aAo+IC0gKiBH dUMgc3VibWlzc2lvbi4gVGhlIGNhbGxlciBzaG91bGQgYWNjb3VudCBmb3IgdGhpcyBpZiB1c2lu ZyB0aGUgR3VDLgo+IC0gKi8KPiAtdWludDMyX3QgaW50ZWxfbHJfY29udGV4dF9zaXplKHN0cnVj dCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSkKPiAtewo+IC0Jc3RydWN0IGRybV9pOTE1X3ByaXZh dGUgKmRldl9wcml2ID0gZW5naW5lLT5pOTE1Owo+IC0JaW50IHJldDsKPiAtCj4gLQlXQVJOX09O KElOVEVMX0dFTihkZXZfcHJpdikgPCA4KTsKPiAtCj4gLQlzd2l0Y2ggKGVuZ2luZS0+Y2xhc3Mp IHsKPiAtCWNhc2UgUkVOREVSX0NMQVNTOgo+IC0JCXN3aXRjaCAoSU5URUxfR0VOKGRldl9wcml2 KSkgewo+IC0JCWRlZmF1bHQ6Cj4gLQkJCU1JU1NJTkdfQ0FTRShJTlRFTF9HRU4oZGV2X3ByaXYp KTsKPiAtCQljYXNlIDk6Cj4gLQkJCXJldCA9IEdFTjlfTFJfQ09OVEVYVF9SRU5ERVJfU0laRTsK PiAtCQkJYnJlYWs7Cj4gLQkJY2FzZSA4Ogo+IC0JCQlyZXQgPSBHRU44X0xSX0NPTlRFWFRfUkVO REVSX1NJWkU7Cj4gLQkJCWJyZWFrOwo+IC0JCX0KPiAtCQlicmVhazsKPiAtCj4gLQlkZWZhdWx0 Ogo+IC0JCU1JU1NJTkdfQ0FTRShlbmdpbmUtPmNsYXNzKTsKPiAtCWNhc2UgVklERU9fREVDT0RF X0NMQVNTOgo+IC0JY2FzZSBWSURFT19FTkhBTkNFTUVOVF9DTEFTUzoKPiAtCWNhc2UgQ09QWV9F TkdJTkVfQ0xBU1M6Cj4gLQkJcmV0ID0gR0VOOF9MUl9DT05URVhUX09USEVSX1NJWkU7Cj4gLQkJ YnJlYWs7Cj4gLQl9Cj4gLQo+IC0JcmV0dXJuIHJldDsKPiAtfQo+IC0KPiAgc3RhdGljIGludCBl eGVjbGlzdHNfY29udGV4dF9kZWZlcnJlZF9hbGxvYyhzdHJ1Y3QgaTkxNV9nZW1fY29udGV4dCAq Y3R4LAo+ICAJCQkJCSAgICBzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUpCj4gIHsKPiBA QCAtMTk3Nyw4ICsxOTI2LDcgQEAgc3RhdGljIGludCBleGVjbGlzdHNfY29udGV4dF9kZWZlcnJl ZF9hbGxvYyhzdHJ1Y3QgaTkxNV9nZW1fY29udGV4dCAqY3R4LAo+Cj4gIAlXQVJOX09OKGNlLT5z dGF0ZSk7Cj4KPiAtCWNvbnRleHRfc2l6ZSA9IHJvdW5kX3VwKGludGVsX2xyX2NvbnRleHRfc2l6 ZShlbmdpbmUpLAo+IC0JCQkJSTkxNV9HVFRfUEFHRV9TSVpFKTsKPiArCWNvbnRleHRfc2l6ZSA9 IHJvdW5kX3VwKGVuZ2luZS0+Y29udGV4dF9zaXplLCBJOTE1X0dUVF9QQUdFX1NJWkUpOwo+Cj4g IAkvKiBPbmUgZXh0cmEgcGFnZSBhcyB0aGUgc2hhcmluZyBkYXRhIGJldHdlZW4gZHJpdmVyIGFu ZCBHdUMgKi8KPiAgCWNvbnRleHRfc2l6ZSArPSBQQUdFX1NJWkUgKiBMUkNfUFBIV1NQX1BOOwo+ IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9scmMuaCBiL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX2xyYy5oCj4gaW5kZXggZTgwMTVlNy4uNTJiM2ExZiAxMDA2NDQK PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9scmMuaAo+ICsrKyBiL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX2xyYy5oCj4gQEAgLTc4LDggKzc4LDYgQEAgaW50IGxvZ2ljYWxf eGNzX3JpbmdfaW5pdChzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUpOwo+ICBzdHJ1Y3Qg ZHJtX2k5MTVfcHJpdmF0ZTsKPiAgc3RydWN0IGk5MTVfZ2VtX2NvbnRleHQ7Cj4KPiAtdWludDMy X3QgaW50ZWxfbHJfY29udGV4dF9zaXplKHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSk7 Cj4gLQo+ICB2b2lkIGludGVsX2xyX2NvbnRleHRfcmVzdW1lKHN0cnVjdCBkcm1faTkxNV9wcml2 YXRlICpkZXZfcHJpdik7Cj4gIHVpbnQ2NF90IGludGVsX2xyX2NvbnRleHRfZGVzY3JpcHRvcihz dHJ1Y3QgaTkxNV9nZW1fY29udGV4dCAqY3R4LAo+ICAJCQkJICAgICBzdHJ1Y3QgaW50ZWxfZW5n aW5lX2NzICplbmdpbmUpOwo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9yaW5nYnVmZmVyLmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9yaW5nYnVmZmVyLmgK PiBpbmRleCA5NjcxMGI2Li5hNjRkMThjIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX3JpbmdidWZmZXIuaAo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X3JpbmdidWZmZXIuaAo+IEBAIC0xOTYsMTMgKzE5NiwxNCBAQCBzdHJ1Y3QgaW50ZWxfZW5naW5l X2NzIHsKPiAgCWVudW0gaW50ZWxfZW5naW5lX2lkIGlkOwo+ICAJdW5zaWduZWQgaW50IHVhYmlf aWQ7Cj4gIAl1bnNpZ25lZCBpbnQgaHdfaWQ7Cj4gKwl1bnNpZ25lZCBpbnQgZ3VjX2lkOwo+Cj4g IAl1OCBjbGFzczsKPiAgCXU4IGluc3RhbmNlOwo+IC0KPiAtCXVuc2lnbmVkIGludCBndWNfaWQ7 Cj4gLQl1MzIJCW1taW9fYmFzZTsKPiArCXUzMiBjb250ZXh0X3NpemU7Cj4gKwl1MzIgbW1pb19i YXNlOwo+ICAJdW5zaWduZWQgaW50IGlycV9zaGlmdDsKPiArCj4gIAlzdHJ1Y3QgaW50ZWxfcmlu ZyAqYnVmZmVyOwo+ICAJc3RydWN0IGludGVsX3RpbWVsaW5lICp0aW1lbGluZTsKPgo+CgpMb29r cyBnb29kIHRvIG1lIGluIHByaW5jaXBsZSwganVzdCB1bnN1cmUgYWJvdXQgdGhvc2UgdHdvIGl0 ZW1zIGZvcm0gYWJvdmUuCgpBY2tlZC1ieTogVHZydGtvIFVyc3VsaW4gPHR2cnRrby51cnN1bGlu QGludGVsLmNvbT4KClJlZ2FyZHMsCgpUdnJ0a28KX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlz dHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4v bGlzdGluZm8vaW50ZWwtZ2Z4Cg==