From mboxrd@z Thu Jan 1 00:00:00 1970 From: Konrad Rzeszutek Wilk Subject: Re: [PATCH v4 04/34] HYPERCALL_version_op. New hypercall mirroring XENVER_ but sane. Date: Wed, 16 Mar 2016 21:38:52 -0400 Message-ID: <20160317013852.GA22460@char.us.oracle.com> References: <1458064616-23101-1-git-send-email-konrad.wilk@oracle.com> <1458064616-23101-5-git-send-email-konrad.wilk@oracle.com> <56E85478.5070408@citrix.com> <20160315201906.GA6211@localhost.localdomain> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail6.bemta14.messagelabs.com ([193.109.254.103]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1agMuC-0007aE-Ui for xen-devel@lists.xenproject.org; Thu, 17 Mar 2016 01:39:17 +0000 Content-Disposition: inline In-Reply-To: <20160315201906.GA6211@localhost.localdomain> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: Konrad Rzeszutek Wilk Cc: Wei Liu , Stefano Stabellini , Andrew Cooper , Ian Jackson , mpohlack@amazon.de, ross.lagerwall@citrix.com, Julien Grall , Stefano Stabellini , Jan Beulich , xen-devel@lists.xenproject.org, sasha.levin@oracle.com, Daniel De Graaf , Keir Fraser List-Id: xen-devel@lists.xenproject.org PiA+ID4gKwo+ID4gPiArICAgIGlmICggIXJjICkKPiA+ID4gKyAgICB7Cj4gPiA+ICsgICAgICAg IHNzaXplX3QgYnl0ZXM7Cj4gPiA+ICsKPiA+ID4gKyAgICAgICAgaWYgKCBzeiA+IGxlbiApCj4g PiA+ICsgICAgICAgICAgICBieXRlcyA9IGxlbjsKPiA+ID4gKyAgICAgICAgZWxzZQo+ID4gPiAr ICAgICAgICAgICAgYnl0ZXMgPSBzejsKPiA+ID4gKwo+ID4gPiArICAgICAgICBpZiAoIGNvcHlf dG9fZ3Vlc3QoYXJnLCBwdHIgPyBwdHIgOiAmdSwgYnl0ZXMpICkKPiA+IAo+ID4gQ2FuIGJlIHNo b3J0ZW5lZCB0byBwdHIgPzogJnUKPiA+IAo+ID4gPiArICAgICAgICAgICAgcmMgPSAtRUZBVUxU Owo+ID4gPiArICAgIH0KPiA+ID4gKyAgICBpZiAoICFyYyApCj4gCj4gICAgICAgICAgXl5eXl5e Xl5eIC0gaGVyZQo+ID4gPiArICAgIHsKPiA+ID4gKyAgICAgICAgLyoKPiA+ID4gKyAgICAgICAg ICogV2UgcmV0dXJuIGxlbiAodHJ1bmNhdGUpIHdvcnRoIG9mIGRhdGEgZXZlbiBpZiB3ZSBmYWls Lgo+ID4gPiArICAgICAgICAgKi8KPiA+ID4gKyAgICAgICAgaWYgKCBzeiA+IGxlbiApCj4gPiA+ ICsgICAgICAgICAgICByYyA9IC1FTk9CVUZTOwo+ID4gCj4gPiBUaGlzIG5lZWRzIHRvIGJlIGlu IHRoZSBwcmV2aW91cyBpZigpIGNsYXVzZSB0byBhdm9pZCBvdmVycmlkaW5nIC1FRkFVTFQKPiA+ IHdpdGggLUVOT0JVRlMuCj4gCj4gVGhhdCBpcyBleGFjdGx5IHdoeSBpdCBpcyBpbiBpdHMgb3du ICdpZiAoICFyYyApJyAtIHNvIGl0IHdvbid0Cj4gb3ZlcndyaXRlIC1FRkFVTFQuIFNlZSBhYm92 ZSBmb3IgJ2hlcmUnCgpBbGwgY2hhbmdlcyBpbmNvcnBvcmF0ZWQuIFRoaXMgaXMgd2hhdCB0aGUg cGF0Y2ggZW5kcyB1cCBsb29raW5nOgoKCkZyb20gNTM0ZjkyNzdhZWJiOWI4OWI5MzdhNzlkZDMz YzBhNzAxNmNlMDBhMiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogS29ucmFkIFJ6ZXN6 dXRlayBXaWxrIDxrb25yYWQud2lsa0BvcmFjbGUuY29tPgpEYXRlOiBXZWQsIDE2IE1hciAyMDE2 IDE1OjQ4OjU2IC0wNDAwClN1YmplY3Q6IFtQQVRDSCB2NCAwNS8zNV0gSFlQRVJDQUxMX3ZlcnNp b25fb3AuIE5ldyBoeXBlcmNhbGwgbWlycm9yaW5nCiBYRU5WRVJfIGJ1dCBzYW5lLgoKVGhpcyBo eXBlcmNhbGwgbWlycm9ycyB0aGUgWEVOVkVSXyBpbiB0aGF0IGl0IGhhcyBzaW1pbGFyIGZ1bmN0 aW9uYWxpdHkuCkhvd2V2ZXIgaXQgaXMgZGVzaWduZWQgZGlmZmVyZW50bHk6CiAtIE5vIGNvbXBh dCBsYXllci4gVGhlIGRhdGEgc3RydWN0dXJlcyBhcmUgdGhlIHNhbWUgc2l6ZSBvbiAzMgogICBh cyBvbiA2NC1iaXQuCiAtIFRoZSBoeXBlcmNhbGwgYWNjZXB0cyB0aHJlZSBhcmd1bWVudHMgLSB0 aGUgY29tbWFuZCwgcG9pbnRlciB0bwogICBhbiBidWZmZXIsIGFuZCB0aGUgbGVuZ3RoIG9mIHRo ZSBidWZmZXIuCiAtIEVhY2ggc3ViLW9wcyBjYW4gYmUgInByb2JlZCIgZm9yIHNpemUgYnkgcmV0 dXJuaW5nIHRoZSBzaXplIG9mCiAgIGJ1ZmZlciB0aGF0IHdpbGwgYmUgbmVlZGVkIC0gaWYgdGhl IGJ1ZmZlciBpcyBOVUxMLgogLSBTdWJvcHMgY2FuIGNvbXBsZXRlIGV2ZW4gaWYgdGhlIGJ1ZmZl ciBpcyB0b28gc2xvdyAtIHRydW5jYXRlZAogICBkYXRhIHdpbGwgYmUgZmlsbGVkIGFuZCBoeXBl cmNhbGwgd2lsbCByZXR1cm4gLUVOT0JVRlMuCiAtIFZFUlNJT05fT1BfY29tbWFuZGxpbmUsIFZF UlNJT05fT1BfY2hhbmdlc2V0IGFyZSBwcml2aWxlZ2VkLgogLSBUaGVyZSBhcmUgbm8gWEVOVkVS X2NvbXBpbGVfaW5mbyBlcXVpdmFsZW50LgogLSBUaGUgaHlwZXJjYWxsIGNhbiByZXR1cm4gLUVQ RVJNIGFuZCB0b29sc3RhY2svT1NlcyBhcmUgZXhwZWN0ZWQKICAgdG8gZGVhbCB3aXRoIGl0LgoK U3VnZ2VzdGVkLWJ5OiBBbmRyZXcgQ29vcGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPgpT aWduZWQtb2ZmLWJ5OiBLb25yYWQgUnplc3p1dGVrIFdpbGsgPGtvbnJhZC53aWxrQG9yYWNsZS5j b20+CgotLS0KQ2M6IERhbmllbCBEZSBHcmFhZiA8ZGdkZWdyYUB0eWNoby5uc2EuZ292PgpDYzog SWFuIEphY2tzb24gPGlhbi5qYWNrc29uQGV1LmNpdHJpeC5jb20+CkNjOiBTdGVmYW5vIFN0YWJl bGxpbmkgPHN0ZWZhbm8uc3RhYmVsbGluaUBldS5jaXRyaXguY29tPgpDYzogV2VpIExpdSA8d2Vp LmxpdTJAY2l0cml4LmNvbT4KQ2M6IFN0ZWZhbm8gU3RhYmVsbGluaSA8c3RlZmFuby5zdGFiZWxs aW5pQGNpdHJpeC5jb20+CkNjOiBKdWxpZW4gR3JhbGwgPGp1bGllbi5ncmFsbEBhcm0uY29tPgpD YzogS2VpciBGcmFzZXIgPGtlaXJAeGVuLm9yZz4KQ2M6IEphbiBCZXVsaWNoIDxqYmV1bGljaEBz dXNlLmNvbT4KQ2M6IEFuZHJldyBDb29wZXIgPGFuZHJldy5jb29wZXIzQGNpdHJpeC5jb20+Cgp2 MjogUmVtb3ZlIG1lbXNldCBhbmQgdXNlIHt9LiBUd2VhayBjb3B5X3RvX2d1ZXN0IGFuZCBjYXBh YmlsaXRpZXNfaW5mbywKICAgIGFkZCBBU1NFUlQoc3opIHBlciBBbmRyZXcncyByZXZpZXcuCi0t LQotLS0KIHRvb2xzL2ZsYXNrL3BvbGljeS9wb2xpY3kvbW9kdWxlcy94ZW4veGVuLnRlIHwgICA5 ICstCiB4ZW4vYXJjaC9hcm0vdHJhcHMuYyAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgMSAr CiB4ZW4vYXJjaC94ODYvaHZtL2h2bS5jICAgICAgICAgICAgICAgICAgICAgICB8ICAgMSArCiB4 ZW4vYXJjaC94ODYveDg2XzY0L2NvbXBhdC9lbnRyeS5TICAgICAgICAgICB8ICAgMiArCiB4ZW4v YXJjaC94ODYveDg2XzY0L2VudHJ5LlMgICAgICAgICAgICAgICAgICB8ICAgMiArCiB4ZW4vY29t bW9uL2NvbXBhdC9rZXJuZWwuYyAgICAgICAgICAgICAgICAgICB8ICAgMyArCiB4ZW4vY29tbW9u L2tlcm5lbC5jICAgICAgICAgICAgICAgICAgICAgICAgICB8IDI1OSArKysrKysrKysrKysrKysr KysrKysrKy0tLS0KIHhlbi9pbmNsdWRlL3B1YmxpYy9hcmNoLWFybS5oICAgICAgICAgICAgICAg IHwgICAzICsKIHhlbi9pbmNsdWRlL3B1YmxpYy92ZXJzaW9uLmggICAgICAgICAgICAgICAgIHwg IDcyICsrKysrKystCiB4ZW4vaW5jbHVkZS9wdWJsaWMveGVuLmggICAgICAgICAgICAgICAgICAg ICB8ICAgMSArCiB4ZW4vaW5jbHVkZS94ZW4vaHlwZXJjYWxsLmggICAgICAgICAgICAgICAgICB8 ICAgNCArCiB4ZW4vaW5jbHVkZS94c20vZHVtbXkuaCAgICAgICAgICAgICAgICAgICAgICB8ICAx OSArKwogeGVuL2luY2x1ZGUveHNtL3hzbS5oICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDcg KwogeGVuL3hzbS9kdW1teS5jICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDEgKwog eGVuL3hzbS9mbGFzay9ob29rcy5jICAgICAgICAgICAgICAgICAgICAgICAgfCAgMzkgKysrKwog eGVuL3hzbS9mbGFzay9wb2xpY3kvYWNjZXNzX3ZlY3RvcnMgICAgICAgICAgfCAgMjQgKystCiAx NiBmaWxlcyBjaGFuZ2VkLCA0MDQgaW5zZXJ0aW9ucygrKSwgNDMgZGVsZXRpb25zKC0pCgpkaWZm IC0tZ2l0IGEvdG9vbHMvZmxhc2svcG9saWN5L3BvbGljeS9tb2R1bGVzL3hlbi94ZW4udGUgYi90 b29scy9mbGFzay9wb2xpY3kvcG9saWN5L21vZHVsZXMveGVuL3hlbi50ZQppbmRleCA3ZTc0MDBk Li5iZWE0MGMxIDEwMDY0NAotLS0gYS90b29scy9mbGFzay9wb2xpY3kvcG9saWN5L21vZHVsZXMv eGVuL3hlbi50ZQorKysgYi90b29scy9mbGFzay9wb2xpY3kvcG9saWN5L21vZHVsZXMveGVuL3hl bi50ZQpAQCAtNzQsMTIgKzc0LDE0IEBAIGFsbG93IGRvbTBfdCB4ZW5fdDp4ZW4yIHsKICAgICBn ZXRfc3ltYm9sCiB9OwogCi0jIEFsbG93IGRvbTAgdG8gdXNlIGFsbCBYRU5WRVJfIHN1Ym9wcwor IyBBbGxvdyBkb20wIHRvIHVzZSBhbGwgWEVOVkVSXyBzdWJvcHMgYW5kIFZFUlNJT05fT1Agc3Vi b3BzCiAjIE5vdGUgdGhhdCBkb20wIGlzIHBhcnQgb2YgZG9tYWluX3R5cGUgc28gdGhpcyBoYXMg ZHVwbGljYXRlcy4KIGFsbG93IGRvbTBfdCB4ZW5fdDp2ZXJzaW9uIHsKICAgICB4ZW5fdmVyc2lv biB4ZW5fZXh0cmF2ZXJzaW9uIHhlbl9jb21waWxlX2luZm8geGVuX2NhcGFiaWxpdGllcwogICAg IHhlbl9jaGFuZ2VzZXQgeGVuX3BsYXRmb3JtX3BhcmFtZXRlcnMgeGVuX2dldF9mZWF0dXJlcyB4 ZW5fcGFnZXNpemUKICAgICB4ZW5fZ3Vlc3RfaGFuZGxlIHhlbl9jb21tYW5kbGluZQorICAgIHZl cnNpb24gZXh0cmF2ZXJzaW9uIGNhcGFiaWxpdGllcyBjaGFuZ2VzZXQgcGxhdGZvcm1fcGFyYW1l dGVycworICAgIGdldF9mZWF0dXJlcyBwYWdlc2l6ZSBndWVzdF9oYW5kbGUgY29tbWFuZGxpbmUK IH07CiAKIGFsbG93IGRvbTBfdCB4ZW5fdDptbXUgbWVtb3J5bWFwOwpAQCAtMTQ2LDExICsxNDgs MTQgQEAgaWYgKGd1ZXN0X3dyaXRlY29uc29sZSkgewogIyBwbXVfY3RybCBpcyBmb3IpCiBhbGxv dyBkb21haW5fdHlwZSB4ZW5fdDp4ZW4yIHBtdV91c2U7CiAKLSMgRm9yIG5vcm1hbCBndWVzdHMg YWxsIGV4Y2VwdCBYRU5WRVJfY29tbWFuZGxpbmUKKyMgRm9yIG5vcm1hbCBndWVzdHMgYWxsIGV4 Y2VwdCBYRU5WRVJfY29tbWFuZGxpbmUsIFZFUlNJT05fT1BfY2hhbmdlc2V0LAorIyBhbmQgVkVS U0lPTl9PUF9jb21tYW5kbGluZQogYWxsb3cgZG9tYWluX3R5cGUgeGVuX3Q6dmVyc2lvbiB7CiAg ICAgeGVuX3ZlcnNpb24geGVuX2V4dHJhdmVyc2lvbiB4ZW5fY29tcGlsZV9pbmZvIHhlbl9jYXBh YmlsaXRpZXMKICAgICB4ZW5fY2hhbmdlc2V0IHhlbl9wbGF0Zm9ybV9wYXJhbWV0ZXJzIHhlbl9n ZXRfZmVhdHVyZXMgeGVuX3BhZ2VzaXplCiAgICAgeGVuX2d1ZXN0X2hhbmRsZQorICAgIHZlcnNp b24gZXh0cmF2ZXJzaW9uIGNhcGFiaWxpdGllcyAgcGxhdGZvcm1fcGFyYW1ldGVycworICAgIGdl dF9mZWF0dXJlcyBwYWdlc2l6ZSBndWVzdF9oYW5kbGUKIH07CiAjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjCiAjCmRpZmYgLS1naXQgYS94ZW4vYXJjaC9hcm0vdHJhcHMuYyBiL3hlbi9hcmNoL2FybS90 cmFwcy5jCmluZGV4IDgzNzQ0ZTguLjMxZDIxMTUgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL2FybS90 cmFwcy5jCisrKyBiL3hlbi9hcmNoL2FybS90cmFwcy5jCkBAIC0xMjM1LDYgKzEyMzUsNyBAQCBz dGF0aWMgYXJtX2h5cGVyY2FsbF90IGFybV9oeXBlcmNhbGxfdGFibGVbXSA9IHsKICAgICBIWVBF UkNBTEwobXVsdGljYWxsLCAyKSwKICAgICBIWVBFUkNBTEwocGxhdGZvcm1fb3AsIDEpLAogICAg IEhZUEVSQ0FMTF9BUk0odmNwdV9vcCwgMyksCisgICAgSFlQRVJDQUxMKHZlcnNpb25fb3AsIDMp LAogfTsKIAogI2lmbmRlZiBOREVCVUcKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9odm0vaHZt LmMgYi94ZW4vYXJjaC94ODYvaHZtL2h2bS5jCmluZGV4IDI1NWExZDYuLjU2YjlmNmIgMTAwNjQ0 Ci0tLSBhL3hlbi9hcmNoL3g4Ni9odm0vaHZtLmMKKysrIGIveGVuL2FyY2gveDg2L2h2bS9odm0u YwpAQCAtNTMzMiw2ICs1MzMyLDcgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCB7CiAgICAgQ09NUEFU X0NBTEwocGxhdGZvcm1fb3ApLAogICAgIENPTVBBVF9DQUxMKG1tdWV4dF9vcCksCiAgICAgSFlQ RVJDQUxMKHhlbnBtdV9vcCksCisgICAgSFlQRVJDQUxMKHZlcnNpb25fb3ApLAogICAgIEhZUEVS Q0FMTChhcmNoXzEpCiB9OwogCmRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYveDg2XzY0L2NvbXBh dC9lbnRyeS5TIGIveGVuL2FyY2gveDg2L3g4Nl82NC9jb21wYXQvZW50cnkuUwppbmRleCA1MjE4 ZjhhLi5jYzQ5ZjRhIDEwMDY0NAotLS0gYS94ZW4vYXJjaC94ODYveDg2XzY0L2NvbXBhdC9lbnRy eS5TCisrKyBiL3hlbi9hcmNoL3g4Ni94ODZfNjQvY29tcGF0L2VudHJ5LlMKQEAgLTM5NSw2ICsz OTUsNyBAQCBFTlRSWShjb21wYXRfaHlwZXJjYWxsX3RhYmxlKQogICAgICAgICAucXVhZCBkb190 bWVtX29wCiAgICAgICAgIC5xdWFkIGRvX25pX2h5cGVyY2FsbCAgICAgICAgICAgLyogcmVzZXJ2 ZWQgZm9yIFhlbkNsaWVudCAqLwogICAgICAgICAucXVhZCBkb194ZW5wbXVfb3AgICAgICAgICAg ICAgIC8qIDQwICovCisgICAgICAgIC5xdWFkIGRvX3ZlcnNpb25fb3AKICAgICAgICAgLnJlcHQg X19IWVBFUlZJU09SX2FyY2hfMC0oKC4tY29tcGF0X2h5cGVyY2FsbF90YWJsZSkvOCkKICAgICAg ICAgLnF1YWQgY29tcGF0X25pX2h5cGVyY2FsbAogICAgICAgICAuZW5kcgpAQCAtNDQ2LDYgKzQ0 Nyw3IEBAIEVOVFJZKGNvbXBhdF9oeXBlcmNhbGxfYXJnc190YWJsZSkKICAgICAgICAgLmJ5dGUg MSAvKiBkb190bWVtX29wICAgICAgICAgICAgICAgKi8KICAgICAgICAgLmJ5dGUgMCAvKiByZXNl cnZlZCBmb3IgWGVuQ2xpZW50ICAgKi8KICAgICAgICAgLmJ5dGUgMiAvKiBkb194ZW5wbXVfb3Ag ICAgICAgICAgICAgKi8gIC8qIDQwICovCisgICAgICAgIC5ieXRlIDMgLyogZG9fdmVyc2lvbl9v cCAgICAgICAgICAgICovCiAgICAgICAgIC5yZXB0IF9fSFlQRVJWSVNPUl9hcmNoXzAtKC4tY29t cGF0X2h5cGVyY2FsbF9hcmdzX3RhYmxlKQogICAgICAgICAuYnl0ZSAwIC8qIGNvbXBhdF9uaV9o eXBlcmNhbGwgICAgICAqLwogICAgICAgICAuZW5kcgpkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2 L3g4Nl82NC9lbnRyeS5TIGIveGVuL2FyY2gveDg2L3g4Nl82NC9lbnRyeS5TCmluZGV4IGNhYjk3 NjMuLjNhMzUwZTAgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL3g4Ni94ODZfNjQvZW50cnkuUworKysg Yi94ZW4vYXJjaC94ODYveDg2XzY0L2VudHJ5LlMKQEAgLTczMSw2ICs3MzEsNyBAQCBFTlRSWSho eXBlcmNhbGxfdGFibGUpCiAgICAgICAgIC5xdWFkIGRvX3RtZW1fb3AKICAgICAgICAgLnF1YWQg ZG9fbmlfaHlwZXJjYWxsICAgICAgIC8qIHJlc2VydmVkIGZvciBYZW5DbGllbnQgKi8KICAgICAg ICAgLnF1YWQgZG9feGVucG11X29wICAgICAgICAgIC8qIDQwICovCisgICAgICAgIC5xdWFkIGRv X3ZlcnNpb25fb3AKICAgICAgICAgLnJlcHQgX19IWVBFUlZJU09SX2FyY2hfMC0oKC4taHlwZXJj YWxsX3RhYmxlKS84KQogICAgICAgICAucXVhZCBkb19uaV9oeXBlcmNhbGwKICAgICAgICAgLmVu ZHIKQEAgLTc4Miw2ICs3ODMsNyBAQCBFTlRSWShoeXBlcmNhbGxfYXJnc190YWJsZSkKICAgICAg ICAgLmJ5dGUgMSAvKiBkb190bWVtX29wICAgICAgICAgICAqLwogICAgICAgICAuYnl0ZSAwIC8q IHJlc2VydmVkIGZvciBYZW5DbGllbnQgKi8KICAgICAgICAgLmJ5dGUgMiAvKiBkb194ZW5wbXVf b3AgICAgICAgICAqLyAgLyogNDAgKi8KKyAgICAgICAgLmJ5dGUgMyAvKiBkb192ZXJzaW9uX29w ICAgICAgICAqLwogICAgICAgICAucmVwdCBfX0hZUEVSVklTT1JfYXJjaF8wLSguLWh5cGVyY2Fs bF9hcmdzX3RhYmxlKQogICAgICAgICAuYnl0ZSAwIC8qIGRvX25pX2h5cGVyY2FsbCAgICAgICov CiAgICAgICAgIC5lbmRyCmRpZmYgLS1naXQgYS94ZW4vY29tbW9uL2NvbXBhdC9rZXJuZWwuYyBi L3hlbi9jb21tb24vY29tcGF0L2tlcm5lbC5jCmluZGV4IGRjODk4YWUuLmI3NjMzMTggMTAwNjQ0 Ci0tLSBhL3hlbi9jb21tb24vY29tcGF0L2tlcm5lbC5jCisrKyBiL3hlbi9jb21tb24vY29tcGF0 L2tlcm5lbC5jCkBAIC0zNCw2ICszNCw5IEBAIENIRUNLX1RZUEUoY2FwYWJpbGl0aWVzX2luZm8p OwogCiBDSEVDS19UWVBFKGRvbWFpbl9oYW5kbGUpOwogCitDSEVDS19UWVBFKHZlcnNpb25fb3Bf YnVmKTsKK0NIRUNLX1RZUEUodmVyc2lvbl9vcF92YWwpOworCiAjaWZkZWYgQ09NUEFUX1ZNX0FT U0lTVF9WQUxJRAogI3VuZGVmIFZNX0FTU0lTVF9WQUxJRAogI2RlZmluZSBWTV9BU1NJU1RfVkFM SUQgQ09NUEFUX1ZNX0FTU0lTVF9WQUxJRApkaWZmIC0tZ2l0IGEveGVuL2NvbW1vbi9rZXJuZWwu YyBiL3hlbi9jb21tb24va2VybmVsLmMKaW5kZXggMjY5OWFjMC4uNGFiNDY0MCAxMDA2NDQKLS0t IGEveGVuL2NvbW1vbi9rZXJuZWwuYworKysgYi94ZW4vY29tbW9uL2tlcm5lbC5jCkBAIC0yMjEs NiArMjIxLDQ3IEBAIHZvaWQgX19pbml0IGRvX2luaXRjYWxscyh2b2lkKQogCiAjZW5kaWYKIAor c3RhdGljIGludCBnZXRfZmVhdHVyZXMoc3RydWN0IGRvbWFpbiAqZCwgeGVuX2ZlYXR1cmVfaW5m b190ICpmaSkKK3sKKyAgICBzd2l0Y2ggKCBmaS0+c3VibWFwX2lkeCApCisgICAgeworICAgIGNh c2UgMDoKKyAgICAgICAgZmktPnN1Ym1hcCA9ICgxVSA8PCBYRU5GRUFUX21lbW9yeV9vcF92bm9k ZV9zdXBwb3J0ZWQpOworICAgICAgICBpZiAoIFZNX0FTU0lTVChkLCBwYWVfZXh0ZW5kZWRfY3Iz KSApCisgICAgICAgICAgICBmaS0+c3VibWFwIHw9ICgxVSA8PCBYRU5GRUFUX3BhZV9wZ2Rpcl9h Ym92ZV80Z2IpOworICAgICAgICBpZiAoIHBhZ2luZ19tb2RlX3RyYW5zbGF0ZShkKSApCisgICAg ICAgICAgICBmaS0+c3VibWFwIHw9IAorICAgICAgICAgICAgICAgICgxVSA8PCBYRU5GRUFUX3dy aXRhYmxlX3BhZ2VfdGFibGVzKSB8CisgICAgICAgICAgICAgICAgKDFVIDw8IFhFTkZFQVRfYXV0 b190cmFuc2xhdGVkX3BoeXNtYXApOworICAgICAgICBpZiAoIGlzX2hhcmR3YXJlX2RvbWFpbihk KSApCisgICAgICAgICAgICBmaS0+c3VibWFwIHw9IDFVIDw8IFhFTkZFQVRfZG9tMDsKKyNpZmRl ZiBDT05GSUdfWDg2CisgICAgICAgIHN3aXRjaCAoIGQtPmd1ZXN0X3R5cGUgKQorICAgICAgICB7 CisgICAgICAgIGNhc2UgZ3Vlc3RfdHlwZV9wdjoKKyAgICAgICAgICAgIGZpLT5zdWJtYXAgfD0g KDFVIDw8IFhFTkZFQVRfbW11X3B0X3VwZGF0ZV9wcmVzZXJ2ZV9hZCkgfAorICAgICAgICAgICAg ICAgICAgICAgICAgICAoMVUgPDwgWEVORkVBVF9oaWdobWVtX2Fzc2lzdCkgfAorICAgICAgICAg ICAgICAgICAgICAgICAgICAoMVUgPDwgWEVORkVBVF9nbnR0YWJfbWFwX2F2YWlsX2JpdHMpOwor ICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgZ3Vlc3RfdHlwZV9wdmg6CisgICAgICAg ICAgICBmaS0+c3VibWFwIHw9ICgxVSA8PCBYRU5GRUFUX2h2bV9zYWZlX3B2Y2xvY2spIHwKKyAg ICAgICAgICAgICAgICAgICAgICAgICAgKDFVIDw8IFhFTkZFQVRfc3VwZXJ2aXNvcl9tb2RlX2tl cm5lbCkgfAorICAgICAgICAgICAgICAgICAgICAgICAgICAoMVUgPDwgWEVORkVBVF9odm1fY2Fs bGJhY2tfdmVjdG9yKTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIGd1ZXN0X3R5 cGVfaHZtOgorICAgICAgICAgICAgZmktPnN1Ym1hcCB8PSAoMVUgPDwgWEVORkVBVF9odm1fc2Fm ZV9wdmNsb2NrKSB8CisgICAgICAgICAgICAgICAgICAgICAgICAgICgxVSA8PCBYRU5GRUFUX2h2 bV9jYWxsYmFja192ZWN0b3IpIHwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgKDFVIDw8IFhF TkZFQVRfaHZtX3BpcnFzKTsKKyAgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KKyNlbmRpZgor ICAgICAgICBicmVhazsKKyAgICBkZWZhdWx0OgorICAgICAgICByZXR1cm4gLUVJTlZBTDsKKyAg ICB9CisgICAgcmV0dXJuIDA7Cit9CisKIC8qCiAgKiBTaW1wbGUgaHlwZXJjYWxscy4KICAqLwpA QCAtMzAyLDUwICszNDMsMTYgQEAgRE8oeGVuX3ZlcnNpb24pKGludCBjbWQsIFhFTl9HVUVTVF9I QU5ETEVfUEFSQU0odm9pZCkgYXJnKQogICAgIGNhc2UgWEVOVkVSX2dldF9mZWF0dXJlczoKICAg ICB7CiAgICAgICAgIHhlbl9mZWF0dXJlX2luZm9fdCBmaTsKLSAgICAgICAgc3RydWN0IGRvbWFp biAqZCA9IGN1cnJlbnQtPmRvbWFpbjsKIAogICAgICAgICBpZiAoIGNvcHlfZnJvbV9ndWVzdCgm ZmksIGFyZywgMSkgKQogICAgICAgICAgICAgcmV0dXJuIC1FRkFVTFQ7CiAKLSAgICAgICAgc3dp dGNoICggZmkuc3VibWFwX2lkeCApCisgICAgICAgIGlmICggIWRlbnkgKQogICAgICAgICB7Ci0g ICAgICAgIGNhc2UgMDoKLSAgICAgICAgICAgIGlmICggZGVueSApCi0gICAgICAgICAgICAgICAg YnJlYWs7Ci0gICAgICAgICAgICBmaS5zdWJtYXAgPSAoMVUgPDwgWEVORkVBVF9tZW1vcnlfb3Bf dm5vZGVfc3VwcG9ydGVkKTsKLSAgICAgICAgICAgIGlmICggVk1fQVNTSVNUKGQsIHBhZV9leHRl bmRlZF9jcjMpICkKLSAgICAgICAgICAgICAgICBmaS5zdWJtYXAgfD0gKDFVIDw8IFhFTkZFQVRf cGFlX3BnZGlyX2Fib3ZlXzRnYik7Ci0gICAgICAgICAgICBpZiAoIHBhZ2luZ19tb2RlX3RyYW5z bGF0ZShkKSApCi0gICAgICAgICAgICAgICAgZmkuc3VibWFwIHw9IAotICAgICAgICAgICAgICAg ICAgICAoMVUgPDwgWEVORkVBVF93cml0YWJsZV9wYWdlX3RhYmxlcykgfAotICAgICAgICAgICAg ICAgICAgICAoMVUgPDwgWEVORkVBVF9hdXRvX3RyYW5zbGF0ZWRfcGh5c21hcCk7Ci0gICAgICAg ICAgICBpZiAoIGlzX2hhcmR3YXJlX2RvbWFpbihkKSApCi0gICAgICAgICAgICAgICAgZmkuc3Vi bWFwIHw9IDFVIDw8IFhFTkZFQVRfZG9tMDsKLSNpZmRlZiBDT05GSUdfWDg2Ci0gICAgICAgICAg ICBzd2l0Y2ggKCBkLT5ndWVzdF90eXBlICkKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgIGNh c2UgZ3Vlc3RfdHlwZV9wdjoKLSAgICAgICAgICAgICAgICBmaS5zdWJtYXAgfD0gKDFVIDw8IFhF TkZFQVRfbW11X3B0X3VwZGF0ZV9wcmVzZXJ2ZV9hZCkgfAotICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAoMVUgPDwgWEVORkVBVF9oaWdobWVtX2Fzc2lzdCkgfAotICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAoMVUgPDwgWEVORkVBVF9nbnR0YWJfbWFwX2F2YWlsX2JpdHMpOwotICAg ICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgY2FzZSBndWVzdF90eXBlX3B2aDoKLSAg ICAgICAgICAgICAgICBmaS5zdWJtYXAgfD0gKDFVIDw8IFhFTkZFQVRfaHZtX3NhZmVfcHZjbG9j aykgfAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMVUgPDwgWEVORkVBVF9zdXBlcnZp c29yX21vZGVfa2VybmVsKSB8Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxVSA8PCBY RU5GRUFUX2h2bV9jYWxsYmFja192ZWN0b3IpOwotICAgICAgICAgICAgICAgIGJyZWFrOwotICAg ICAgICAgICAgY2FzZSBndWVzdF90eXBlX2h2bToKLSAgICAgICAgICAgICAgICBmaS5zdWJtYXAg fD0gKDFVIDw8IFhFTkZFQVRfaHZtX3NhZmVfcHZjbG9jaykgfAotICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAoMVUgPDwgWEVORkVBVF9odm1fY2FsbGJhY2tfdmVjdG9yKSB8Ci0gICAgICAg ICAgICAgICAgICAgICAgICAgICAgICgxVSA8PCBYRU5GRUFUX2h2bV9waXJxcyk7Ci0gICAgICAg ICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICB9Ci0jZW5kaWYKLSAgICAgICAgICAgIGJyZWFr OwotICAgICAgICBkZWZhdWx0OgotICAgICAgICAgICAgcmV0dXJuIC1FSU5WQUw7CisgICAgICAg ICAgICBpbnQgcmMgPSBnZXRfZmVhdHVyZXMoY3VycmVudC0+ZG9tYWluLCAmZmkpOworICAgICAg ICAgICAgaWYgKCByYyApCisgICAgICAgICAgICAgICAgcmV0dXJuIHJjOwogICAgICAgICB9Ci0K ICAgICAgICAgaWYgKCBfX2NvcHlfdG9fZ3Vlc3QoYXJnLCAmZmksIDEpICkKICAgICAgICAgICAg IHJldHVybiAtRUZBVUxUOwogICAgICAgICByZXR1cm4gMDsKQEAgLTM4OCw2ICszOTUsMTgyIEBA IERPKHhlbl92ZXJzaW9uKShpbnQgY21kLCBYRU5fR1VFU1RfSEFORExFX1BBUkFNKHZvaWQpIGFy ZykKICAgICByZXR1cm4gLUVOT1NZUzsKIH0KIAorc3RhdGljIGNvbnN0IGNoYXIgKmNhcGFiaWxp dGllc19pbmZvKHNzaXplX3QgKmxlbikKK3sKKyAgICBzdGF0aWMgeGVuX2NhcGFiaWxpdGllc19p bmZvX3QgY2FjaGVkX2NhcDsKKyAgICBzdGF0aWMgdW5zaWduZWQgaW50IGNhY2hlZF9jYXBfbGVu OworICAgIHN0YXRpYyBib29sX3QgY2FjaGVkOworCisgICAgaWYgKCB1bmxpa2VseSghY2FjaGVk KSApCisgICAgeworICAgICAgICBhcmNoX2dldF94ZW5fY2FwcygmY2FjaGVkX2NhcCk7CisgICAg ICAgIGNhY2hlZF9jYXBfbGVuID0gc3RybGVuKGNhY2hlZF9jYXApICsgMTsKKyAgICB9CisKKyAg ICAqbGVuID0gY2FjaGVkX2NhcF9sZW47CisgICAgcmV0dXJuIGNhY2hlZF9jYXA7Cit9CisKK3N0 YXRpYyBpbnQgc2l6ZV9vZl9zdWJvcHNfZGF0YSh1bnNpZ25lZCBpbnQgY21kLCBzc2l6ZV90ICpz eikKK3sKKyAgICBpbnQgcmMgPSAwOworICAgIC8qIENvbXB1dGUgc2l6ZS4gKi8KKyAgICBzd2l0 Y2ggKCBjbWQgKQorICAgIHsKKyAgICBjYXNlIFhFTl9WRVJTSU9OX09QX3ZlcnNpb246CisgICAg ICAgICpzeiA9IHNpemVvZih4ZW5fdmVyc2lvbl9vcF92YWxfdCk7CisgICAgICAgIGJyZWFrOwor CisgICAgY2FzZSBYRU5fVkVSU0lPTl9PUF9leHRyYXZlcnNpb246CisgICAgICAgICpzeiA9IHN0 cmxlbih4ZW5fZXh0cmFfdmVyc2lvbigpKSArIDE7CisgICAgICAgIGJyZWFrOworCisgICAgY2Fz ZSBYRU5fVkVSU0lPTl9PUF9jYXBhYmlsaXRpZXM6CisgICAgICAgIGNhcGFiaWxpdGllc19pbmZv KHN6KTsKKyAgICAgICAgYnJlYWs7CisKKyAgICBjYXNlIFhFTl9WRVJTSU9OX09QX3BsYXRmb3Jt X3BhcmFtZXRlcnM6CisgICAgICAgICpzeiA9IHNpemVvZih4ZW5fdmVyc2lvbl9vcF92YWxfdCk7 CisgICAgICAgIGJyZWFrOworCisgICAgY2FzZSBYRU5fVkVSU0lPTl9PUF9jaGFuZ2VzZXQ6Cisg ICAgICAgICpzeiA9IHN0cmxlbih4ZW5fY2hhbmdlc2V0KCkpICsgMTsKKyAgICAgICAgYnJlYWs7 CisKKyAgICBjYXNlIFhFTl9WRVJTSU9OX09QX2dldF9mZWF0dXJlczoKKyAgICAgICAgKnN6ID0g c2l6ZW9mKHhlbl9mZWF0dXJlX2luZm9fdCk7CisgICAgICAgIGJyZWFrOworCisgICAgY2FzZSBY RU5fVkVSU0lPTl9PUF9wYWdlc2l6ZToKKyAgICAgICAgKnN6ID0gc2l6ZW9mKHhlbl92ZXJzaW9u X29wX3ZhbF90KTsKKyAgICAgICAgYnJlYWs7CisKKyAgICBjYXNlIFhFTl9WRVJTSU9OX09QX2d1 ZXN0X2hhbmRsZToKKyAgICAgICAgKnN6ID0gQVJSQVlfU0laRShjdXJyZW50LT5kb21haW4tPmhh bmRsZSk7CisgICAgICAgIGJyZWFrOworCisgICAgY2FzZSBYRU5fVkVSU0lPTl9PUF9jb21tYW5k bGluZToKKyAgICAgICAgKnN6ID0gQVJSQVlfU0laRShzYXZlZF9jbWRsaW5lKTsKKyAgICAgICAg YnJlYWs7CisKKyAgICBkZWZhdWx0OgorICAgICAgICByYyA9IC1FTk9TWVM7CisgICAgfQorCisg ICAgcmV0dXJuIHJjOworfQorCisvKgorICogU2ltaWxhciB0byBIWVBFUlZJU09SX3hlbl92ZXJz aW9uIGJ1dCB3aXRoIGEgc2FuZSBpbnRlcmZhY2UKKyAqIChoYXMgYSBsZW5ndGgsIG9uZSBjYW4g cHJvYmUgZm9yIHRoZSBsZW5ndGgpIGFuZCB3aXRoIG9uZSBsZXNzIHN1Yi1vcHM6CisgKiBtaXNz aW5nIFhFTlZFUl9jb21waWxlX2luZm8uCisgKi8KK0RPKHZlcnNpb25fb3ApKHVuc2lnbmVkIGlu dCBjbWQsIFhFTl9HVUVTVF9IQU5ETEVfUEFSQU0odm9pZCkgYXJnLAorICAgICAgICAgICAgICAg dW5zaWduZWQgaW50IGxlbikKK3sKKyAgICB1bmlvbiB7CisgICAgICAgIHhlbl92ZXJzaW9uX29w X3ZhbF90IG47CisgICAgICAgIHhlbl9mZWF0dXJlX2luZm9fdCBmaTsKKyAgICB9IHUgPSB7fTsK KyAgICBzc2l6ZV90IHN6ID0gMDsKKyAgICBjb25zdCB2b2lkICpwdHIgPSBOVUxMOworICAgIGlu dCByYyA9IHhzbV92ZXJzaW9uX29wKFhTTV9PVEhFUiwgY21kKTsKKworICAgIC8qIFdlIGNhbiBz YWZlbHkgcmV0dXJuIC1FUEVSTSEgKi8KKyAgICBpZiAoIHJjICkKKyAgICAgICAgcmV0dXJuIHJj OworCisgICAgcmMgPSBzaXplX29mX3N1Ym9wc19kYXRhKGNtZCwgJnN6KTsKKyAgICBpZiAoIHJj ICkKKyAgICAgICAgcmV0dXJuIHJjOworCisgICAgQVNTRVJUKHN6KTsKKyAgICAvKgorICAgICAq IFRoaXMgaHlwZXJjYWxsIGFsc28gYWxsb3dzIHRoZSBjbGllbnQgdG8gcHJvYmUuIElmIGl0IHBy b3ZpZGVzCisgICAgICogYSBOVUxMIGFyZyB3ZSB3aWxsIHJldHVybiB0aGUgc2l6ZSBvZiB0aGUg c3BhY2UgaXQgaGFzIHRvCisgICAgICogYWxsb2NhdGUgZm9yIHRoZSBzcGVjaWZpYyBzdWItb3Au CisgICAgICovCisgICAgaWYgKCBndWVzdF9oYW5kbGVfaXNfbnVsbChhcmcpICkKKyAgICAgICAg cmV0dXJuIHN6OworCisgICAgLyoKKyAgICAgKiBUaGUgSFlQRVJWSVNPUl94ZW5fdmVyc2lvbiBk aWZmZXJzIGluIHRoYXQgc29tZSByZXR1cm4gdGhlIHZhbHVlLAorICAgICAqIGFuZCBzb21lIGNv cHkgaXQgb24gYmFjayBvbiBhcmd1bWVudC4gV2UgZm9sbG93IHRoZSBzYW1lIHJ1bGUgZm9yIGFs bAorICAgICAqIHN1Yi1vcHM6IHJldHVybiAwIG9uIHN1Y2Nlc3MsIHBvc2l0aXZlIHZhbHVlIG9m IGJ5dGVzIHJldHVybmVkLCBhbmQKKyAgICAgKiBhbHdheXMgY29weSB0aGUgcmVzdWx0IGluIGFy Zy4gWWVleSBzYW5pdHkhCisgICAgICovCisKKyAgICBzd2l0Y2ggKCBjbWQgKQorICAgIHsKKyAg ICBjYXNlIFhFTl9WRVJTSU9OX09QX3ZlcnNpb246CisgICAgICAgIHUubiA9ICh4ZW5fbWFqb3Jf dmVyc2lvbigpIDw8IDE2KSB8IHhlbl9taW5vcl92ZXJzaW9uKCk7CisgICAgICAgIGJyZWFrOwor CisgICAgY2FzZSBYRU5fVkVSU0lPTl9PUF9leHRyYXZlcnNpb246CisgICAgICAgIHB0ciA9IHhl bl9leHRyYV92ZXJzaW9uKCk7CisgICAgICAgIGJyZWFrOworCisgICAgY2FzZSBYRU5fVkVSU0lP Tl9PUF9jYXBhYmlsaXRpZXM6CisgICAgICAgIHB0ciA9IGNhcGFiaWxpdGllc19pbmZvKCZzeik7 CisgICAgICAgIGJyZWFrOworCisgICAgY2FzZSBYRU5fVkVSU0lPTl9PUF9wbGF0Zm9ybV9wYXJh bWV0ZXJzOgorICAgICAgICB1Lm4gPSBIWVBFUlZJU09SX1ZJUlRfU1RBUlQ7CisgICAgICAgIGJy ZWFrOworCisgICAgY2FzZSBYRU5fVkVSU0lPTl9PUF9jaGFuZ2VzZXQ6CisgICAgICAgIHB0ciA9 IHhlbl9jaGFuZ2VzZXQoKTsKKyAgICAgICAgYnJlYWs7CisKKyAgICBjYXNlIFhFTl9WRVJTSU9O X09QX2dldF9mZWF0dXJlczoKKyAgICAgICAgaWYgKCBjb3B5X2Zyb21fZ3Vlc3QoJnUuZmksIGFy ZywgMSkgKQorICAgICAgICB7CisgICAgICAgICAgICByYyA9IC1FRkFVTFQ7CisgICAgICAgICAg ICBicmVhazsKKyAgICAgICAgfQorICAgICAgICByYyA9IGdldF9mZWF0dXJlcyhjdXJyZW50LT5k b21haW4sICZ1LmZpKTsKKyAgICAgICAgYnJlYWs7CisKKyAgICBjYXNlIFhFTl9WRVJTSU9OX09Q X3BhZ2VzaXplOgorICAgICAgICB1Lm4gPSBQQUdFX1NJWkU7CisgICAgICAgIGJyZWFrOworCisg ICAgY2FzZSBYRU5fVkVSU0lPTl9PUF9ndWVzdF9oYW5kbGU6CisgICAgICAgIHB0ciA9IGN1cnJl bnQtPmRvbWFpbi0+aGFuZGxlOworICAgICAgICBicmVhazsKKworICAgIGNhc2UgWEVOX1ZFUlNJ T05fT1BfY29tbWFuZGxpbmU6CisgICAgICAgIHB0ciA9IHNhdmVkX2NtZGxpbmU7CisgICAgICAg IGJyZWFrOworCisgICAgZGVmYXVsdDoKKyAgICAgICAgcmMgPSAtRU5PU1lTOworICAgIH0KKwor ICAgIGlmICggIXJjICkKKyAgICB7CisgICAgICAgIHNzaXplX3QgYnl0ZXM7CisKKyAgICAgICAg aWYgKCBzeiA+IGxlbiApCisgICAgICAgICAgICBieXRlcyA9IGxlbjsKKyAgICAgICAgZWxzZQor ICAgICAgICAgICAgYnl0ZXMgPSBzejsKKworICAgICAgICBpZiAoIGNvcHlfdG9fZ3Vlc3QoYXJn LCBwdHIgPyA6ICZ1LCBieXRlcykgKQorICAgICAgICAgICAgcmMgPSAtRUZBVUxUOworICAgIH0K KyAgICBpZiAoICFyYyApCisgICAgeworICAgICAgICAvKgorICAgICAgICAgKiBXZSByZXR1cm4g bGVuICh0cnVuY2F0ZSkgd29ydGggb2YgZGF0YSBldmVuIGlmIHdlIGZhaWwuCisgICAgICAgICAq LworICAgICAgICBpZiAoIHN6ID4gbGVuICkKKyAgICAgICAgICAgIHJjID0gLUVOT0JVRlM7Cisg ICAgfQorCisgICAgcmV0dXJuIHJjID09IDAgPyBzeiA6IHJjOworfQorCiBETyhubWlfb3ApKHVu c2lnbmVkIGludCBjbWQsIFhFTl9HVUVTVF9IQU5ETEVfUEFSQU0odm9pZCkgYXJnKQogewogICAg IHN0cnVjdCB4ZW5ubWlfY2FsbGJhY2sgY2I7CmRpZmYgLS1naXQgYS94ZW4vaW5jbHVkZS9wdWJs aWMvYXJjaC1hcm0uaCBiL3hlbi9pbmNsdWRlL3B1YmxpYy9hcmNoLWFybS5oCmluZGV4IDg3MGJj M2IuLmM5YWUzMTUgMTAwNjQ0Ci0tLSBhL3hlbi9pbmNsdWRlL3B1YmxpYy9hcmNoLWFybS5oCisr KyBiL3hlbi9pbmNsdWRlL3B1YmxpYy9hcmNoLWFybS5oCkBAIC0xMjgsNiArMTI4LDkgQEAKICAq ICAgICogVkNQVU9QX3JlZ2lzdGVyX3ZjcHVfaW5mbwogICogICAgKiBWQ1BVT1BfcmVnaXN0ZXJf cnVuc3RhdGVfbWVtb3J5X2FyZWEKICAqCisgKiAgSFlQRVJWSVNPUl92ZXJzaW9uX29wCisgKiAg IEFsbCBnZW5lcmljIHN1Yi1vcGVyYXRpb25zCisgKgogICoKICAqIE90aGVyIG5vdGVzIG9uIHRo ZSBBUk0gQUJJOgogICoKZGlmZiAtLWdpdCBhL3hlbi9pbmNsdWRlL3B1YmxpYy92ZXJzaW9uLmgg Yi94ZW4vaW5jbHVkZS9wdWJsaWMvdmVyc2lvbi5oCmluZGV4IDI0YTU4MmYuLmEwMjU0ODkgMTAw NjQ0Ci0tLSBhL3hlbi9pbmNsdWRlL3B1YmxpYy92ZXJzaW9uLmgKKysrIGIveGVuL2luY2x1ZGUv cHVibGljL3ZlcnNpb24uaApAQCAtMzAsNyArMzAsMTUgQEAKIAogI2luY2x1ZGUgInhlbi5oIgog Ci0vKiBOQi4gQWxsIG9wcyByZXR1cm4gemVybyBvbiBzdWNjZXNzLCBleGNlcHQgWEVOVkVSX3t2 ZXJzaW9uLHBhZ2VzaXplfSAqLworLyoKKyAqIFRoZXJlIGFyZSB0d28gaHlwZXJjYWxscyBtZW50 aW9uZWQgaW4gaGVyZS4gVGhlIFhFTlZFUl8gYXJlIGZvcgorICogSFlQRVJDQUxMX3hlbl92ZXJz aW9uICgxNyksIHdoaWxlIFZFUlNJT05fT1BfIGFyZSBmb3IgdGhlCisgKiBIWVBFUkNBTExfdmVy c2lvbl9vcCAoNDEpLgorICoKKyAqIFRoZSBzdWJvcHMgYXJlIHZlcnkgc2ltaWxhciBleGNlcHQg dGhhdCB0aGUgbGF0ZXIgaHlwZXJjYWxsIGhhcyBhCisgKiBzYW5lIGludGVyZmFjZS4KKyAqLwor CiAKIC8qIGFyZyA9PSBOVUxMOyByZXR1cm5zIG1ham9yOm1pbm9yICgxNjoxNikuICovCiAjZGVm aW5lIFhFTlZFUl92ZXJzaW9uICAgICAgMApAQCAtODcsNiArOTUsNjggQEAgdHlwZWRlZiBzdHJ1 Y3QgeGVuX2ZlYXR1cmVfaW5mbyB4ZW5fZmVhdHVyZV9pbmZvX3Q7CiAjZGVmaW5lIFhFTlZFUl9j b21tYW5kbGluZSA5CiB0eXBlZGVmIGNoYXIgeGVuX2NvbW1hbmRsaW5lX3RbMTAyNF07CiAKKwor CisvKgorICogVGhlIEhZUEVSQ0FMTF92ZXJzaW9uX29wIGhhcyBhIHNldCBvZiBzdWItb3BzIHdo aWNoIG1pcnJvciB0aGUKKyAqIHN1Yi1vcHMgb2YgSFlQRVJDQUxMX3hlbl92ZXJzaW9uLiBIb3dl dmVyIHRoaXMgaHlwZXJjYWxsIGRpZmZlcnMKKyAqIHJhZGljYWxseSBmcm9tIHRoZSBmb3JtZXI6 CisgKiAgLSBJdCByZXR1cm5zIHRoZSBhbW91bnQgb2YgYnl0ZXMgcmV0dXJuZWQuCisgKiAgLSBJ dCB3aWxsIHJldHVybiAtWEVOX0VQRVJNIGlmIHRoZSBndWVzdCBpcyBub3QgcGVybWl0dGVkLgor ICogIC0gSXQgd2lsbCByZXR1cm4gdGhlIHJlcXVlc3RlZCBkYXRhIGluIGFyZy4KKyAqICAtIEl0 IHJlcXVpcmVzIGFuIHRoaXJkIGFyZ3VtZW50IChsZW4pIGZvciB0aGUgbGVuZ3RoIG9mIHRoZQor ICogICAgYXJnLiBOYXR1cmFsbHkgdGhlIGFyZyBoYXMgdG8gZml0IHRoZSByZXF1ZXN0ZWQgZGF0 YSBvdGhlcndpc2UKKyAqICAgIC1YRU5fRU5PQlVGUyBpcyByZXR1cm5lZC4KKyAqCisgKiBJdCBh bHNvIG9mZmVycyBhbiBtZWNoYW5pc20gdG8gcHJvYmUgZm9yIHRoZSBhbW91bnQgb2YgYnl0ZXMg YW4KKyAqIHN1Yi1vcCB3aWxsIHJlcXVpcmUuIEhhdmluZyB0aGUgYXJnIGhhdmUgYW4gTlVMTCBw b2ludGVyIHdpbGwKKyAqIHJldHVybiB0aGUgbnVtYmVyIG9mIGJ5dGVzIHJlcXVlc3RlZCBmb3Ig dGhlIG9wZXJhdGlvbi4gT3IgYW4KKyAqIG5lZ2F0aXZlIHZhbHVlIGlmIGFuIGVycm9yIGlzIGVu Y291bnRlcmVkLgorICovCisKK3R5cGVkZWYgdWludDY0X3QgeGVuX3ZlcnNpb25fb3BfdmFsX3Q7 CitERUZJTkVfWEVOX0dVRVNUX0hBTkRMRSh4ZW5fdmVyc2lvbl9vcF92YWxfdCk7CisKK3R5cGVk ZWYgdm9pZCB4ZW5fdmVyc2lvbl9vcF9idWZfdDsKK0RFRklORV9YRU5fR1VFU1RfSEFORExFKHhl bl92ZXJzaW9uX29wX2J1Zl90KTsKKworLyogYXJnID09IHZlcnNpb25fb3BfdmFsX3QuIEVuY29k ZWQgYXMgbWFqb3I6bWlub3IgKDMxLi4xNjoxNS4uMCkgKi8KKyNkZWZpbmUgWEVOX1ZFUlNJT05f T1BfdmVyc2lvbiAgICAgIDAKKworLyogYXJnID09IHZlcnNpb25fb3BfYnVmLiBDb250YWlucyBO VUwgdGVybWluYXRlZCB1dGYtOCBzdHJpbmcuICovCisjZGVmaW5lIFhFTl9WRVJTSU9OX09QX2V4 dHJhdmVyc2lvbiAxCisKKy8qIGFyZyA9PSB2ZXJzaW9uX29wX2J1Zi4gQ29udGFpbnMgTlVMIHRl cm1pbmF0ZWQgdXRmLTggc3RyaW5nLiAqLworI2RlZmluZSBYRU5fVkVSU0lPTl9PUF9jYXBhYmls aXRpZXMgMworCisvKiBhcmcgPT0gdmVyc2lvbl9vcF9idWYuIENvbnRhaW5zIE5VTCB0ZXJtaW5h dGVkIHV0Zi04IHN0cmluZy4gKi8KKyNkZWZpbmUgWEVOX1ZFUlNJT05fT1BfY2hhbmdlc2V0IDQK KworLyoKKyAqIGFyZyA9PSB4ZW5fdmVyc2lvbl9vcF92YWxfdC4gQ29udGFpbnMgdGhlIHZpcnR1 YWwgYWRkcmVzcworICogb2YgdGhlIGh5cGVydmlzb3IgZW5jb2RlZCBhcyBbNjMuLjBdLgorICov CisjZGVmaW5lIFhFTl9WRVJTSU9OX09QX3BsYXRmb3JtX3BhcmFtZXRlcnMgNQorCisvKgorICog YXJnID0geGVuX2ZlYXR1cmVfaW5mb190IC0gc2hhcmVzIHRoZSBzYW1lIHN0cnVjdHVyZQorICog YXMgdGhlIFhFTlZFUl9nZXRfZmVhdHVyZXMuCisgKi8KKyNkZWZpbmUgWEVOX1ZFUlNJT05fT1Bf Z2V0X2ZlYXR1cmVzIDYKKworLyogYXJnID09IHhlbl92ZXJzaW9uX29wX3ZhbF90LiAqLworI2Rl ZmluZSBYRU5fVkVSU0lPTl9PUF9wYWdlc2l6ZSA3CisKKy8qIGFyZyA9PSB2ZXJzaW9uX29wX2J1 Zi4KKyAqCisgKiBUaGUgdG9vbHN0YWNrIGZpbGxzIGl0IG91dCBmb3IgZ3Vlc3QgY29uc3VtcHRp b24uIEl0IGlzIGludGVuZGVkIHRvIGhvbGQKKyAqIHRoZSBVVUlEIG9mIHRoZSBndWVzdC4KKyAq LworI2RlZmluZSBYRU5fVkVSU0lPTl9PUF9ndWVzdF9oYW5kbGUgOAorCisvKiBhcmcgPSB2ZXJz aW9uX29wX2J1Zi4gQ29udGFpbnMgTlVMIHRlcm1pbmF0ZWQgdXRmLTggc3RyaW5nLiAqLworI2Rl ZmluZSBYRU5fVkVSU0lPTl9PUF9jb21tYW5kbGluZSA5CisKICNlbmRpZiAvKiBfX1hFTl9QVUJM SUNfVkVSU0lPTl9IX18gKi8KIAogLyoKZGlmZiAtLWdpdCBhL3hlbi9pbmNsdWRlL3B1YmxpYy94 ZW4uaCBiL3hlbi9pbmNsdWRlL3B1YmxpYy94ZW4uaAppbmRleCA2NGJhN2FiLi4xYTk5OTI5IDEw MDY0NAotLS0gYS94ZW4vaW5jbHVkZS9wdWJsaWMveGVuLmgKKysrIGIveGVuL2luY2x1ZGUvcHVi bGljL3hlbi5oCkBAIC0xMTUsNiArMTE1LDcgQEAgREVGSU5FX1hFTl9HVUVTVF9IQU5ETEUoeGVu X3Vsb25nX3QpOwogI2RlZmluZSBfX0hZUEVSVklTT1JfdG1lbV9vcCAgICAgICAgICAgICAgMzgK ICNkZWZpbmUgX19IWVBFUlZJU09SX3hjX3Jlc2VydmVkX29wICAgICAgIDM5IC8qIHJlc2VydmVk IGZvciBYZW5DbGllbnQgKi8KICNkZWZpbmUgX19IWVBFUlZJU09SX3hlbnBtdV9vcCAgICAgICAg ICAgIDQwCisjZGVmaW5lIF9fSFlQRVJWSVNPUl92ZXJzaW9uX29wICAgICAgICAgICA0MSAvKiBz dXBlcnNlZGVzIHhlbl92ZXJzaW9uICgxNykgKi8KIAogLyogQXJjaGl0ZWN0dXJlLXNwZWNpZmlj IGh5cGVyY2FsbCBkZWZpbml0aW9ucy4gKi8KICNkZWZpbmUgX19IWVBFUlZJU09SX2FyY2hfMCAg ICAgICAgICAgICAgIDQ4CmRpZmYgLS1naXQgYS94ZW4vaW5jbHVkZS94ZW4vaHlwZXJjYWxsLmgg Yi94ZW4vaW5jbHVkZS94ZW4vaHlwZXJjYWxsLmgKaW5kZXggMGM4YWUwZS4uZThkMmI4MSAxMDA2 NDQKLS0tIGEveGVuL2luY2x1ZGUveGVuL2h5cGVyY2FsbC5oCisrKyBiL3hlbi9pbmNsdWRlL3hl bi9oeXBlcmNhbGwuaApAQCAtMTQ3LDYgKzE0NywxMCBAQCBkb194ZW5vcHJvZl9vcChpbnQgb3As IFhFTl9HVUVTVF9IQU5ETEVfUEFSQU0odm9pZCkgYXJnKTsKIGV4dGVybiBsb25nCiBkb194ZW5w bXVfb3AodW5zaWduZWQgaW50IG9wLCBYRU5fR1VFU1RfSEFORExFX1BBUkFNKHhlbl9wbXVfcGFy YW1zX3QpIGFyZyk7CiAKK2V4dGVybiBsb25nCitkb192ZXJzaW9uX29wKHVuc2lnbmVkIGludCBj bWQsCisgICAgWEVOX0dVRVNUX0hBTkRMRV9QQVJBTSh2b2lkKSBhcmcsIHVuc2lnbmVkIGludCBs ZW4pOworCiAjaWZkZWYgQ09ORklHX0NPTVBBVAogCiBleHRlcm4gaW50CmRpZmYgLS1naXQgYS94 ZW4vaW5jbHVkZS94c20vZHVtbXkuaCBiL3hlbi9pbmNsdWRlL3hzbS9kdW1teS5oCmluZGV4IDk0 Yjg4NTUuLjhjNmFlOTAgMTAwNjQ0Ci0tLSBhL3hlbi9pbmNsdWRlL3hzbS9kdW1teS5oCisrKyBi L3hlbi9pbmNsdWRlL3hzbS9kdW1teS5oCkBAIC03NDksMyArNzQ5LDIyIEBAIHN0YXRpYyBYU01f SU5MSU5FIGludCB4c21feGVuX3ZlcnNpb24gKFhTTV9ERUZBVUxUX0FSRyB1aW50MzJfdCBvcCkK ICAgICAgICAgcmV0dXJuIHhzbV9kZWZhdWx0X2FjdGlvbihYU01fUFJJViwgY3VycmVudC0+ZG9t YWluLCBOVUxMKTsKICAgICB9CiB9CisKK3N0YXRpYyBYU01fSU5MSU5FIGludCB4c21fdmVyc2lv bl9vcCAoWFNNX0RFRkFVTFRfQVJHIHVpbnQzMl90IG9wKQoreworICAgIFhTTV9BU1NFUlRfQUNU SU9OKFhTTV9PVEhFUik7CisgICAgc3dpdGNoICggb3AgKQorICAgIHsKKyAgICBjYXNlIFhFTl9W RVJTSU9OX09QX3ZlcnNpb246CisgICAgY2FzZSBYRU5fVkVSU0lPTl9PUF9leHRyYXZlcnNpb246 CisgICAgY2FzZSBYRU5fVkVSU0lPTl9PUF9jYXBhYmlsaXRpZXM6CisgICAgY2FzZSBYRU5fVkVS U0lPTl9PUF9wbGF0Zm9ybV9wYXJhbWV0ZXJzOgorICAgIGNhc2UgWEVOX1ZFUlNJT05fT1BfZ2V0 X2ZlYXR1cmVzOgorICAgIGNhc2UgWEVOX1ZFUlNJT05fT1BfcGFnZXNpemU6CisgICAgY2FzZSBY RU5fVkVSU0lPTl9PUF9ndWVzdF9oYW5kbGU6CisgICAgICAgIC8qIFRoZXNlIE1VU1QgYWx3YXlz IGJlIGFjY2Vzc2libGUgdG8gYW55IGd1ZXN0IGJ5IGRlZmF1bHQuICovCisgICAgICAgIHJldHVy biB4c21fZGVmYXVsdF9hY3Rpb24oWFNNX0hPT0ssIGN1cnJlbnQtPmRvbWFpbiwgTlVMTCk7Cisg ICAgZGVmYXVsdDoKKyAgICAgICAgcmV0dXJuIHhzbV9kZWZhdWx0X2FjdGlvbihYU01fUFJJViwg Y3VycmVudC0+ZG9tYWluLCBOVUxMKTsKKyAgICB9Cit9CmRpZmYgLS1naXQgYS94ZW4vaW5jbHVk ZS94c20veHNtLmggYi94ZW4vaW5jbHVkZS94c20veHNtLmgKaW5kZXggZGI0NDBmNi4uYWM4MDQ3 MiAxMDA2NDQKLS0tIGEveGVuL2luY2x1ZGUveHNtL3hzbS5oCisrKyBiL3hlbi9pbmNsdWRlL3hz bS94c20uaApAQCAtMTk0LDYgKzE5NCw3IEBAIHN0cnVjdCB4c21fb3BlcmF0aW9ucyB7CiAgICAg aW50ICgqcG11X29wKSAoc3RydWN0IGRvbWFpbiAqZCwgdW5zaWduZWQgaW50IG9wKTsKICNlbmRp ZgogICAgIGludCAoKnhlbl92ZXJzaW9uKSAodWludDMyX3QgY21kKTsKKyAgICBpbnQgKCp2ZXJz aW9uX29wKSAodWludDMyX3QgY21kKTsKIH07CiAKICNpZmRlZiBDT05GSUdfWFNNCkBAIC03MzYs NiArNzM3LDEyIEBAIHN0YXRpYyBpbmxpbmUgaW50IHhzbV94ZW5fdmVyc2lvbiAoeHNtX2RlZmF1 bHRfdCBkZWYsIHVpbnQzMl90IG9wKQogewogICAgIHJldHVybiB4c21fb3BzLT54ZW5fdmVyc2lv bihvcCk7CiB9CisKK3N0YXRpYyBpbmxpbmUgaW50IHhzbV92ZXJzaW9uX29wICh4c21fZGVmYXVs dF90IGRlZiwgdWludDMyX3Qgb3ApCit7CisgICAgcmV0dXJuIHhzbV9vcHMtPnZlcnNpb25fb3Ao b3ApOworfQorCiAjZW5kaWYgLyogWFNNX05PX1dSQVBQRVJTICovCiAKICNpZmRlZiBDT05GSUdf TVVMVElCT09UCmRpZmYgLS1naXQgYS94ZW4veHNtL2R1bW15LmMgYi94ZW4veHNtL2R1bW15LmMK aW5kZXggOTc5MWFkNC4uNzc2ZGQwOSAxMDA2NDQKLS0tIGEveGVuL3hzbS9kdW1teS5jCisrKyBi L3hlbi94c20vZHVtbXkuYwpAQCAtMTYzLDQgKzE2Myw1IEBAIHZvaWQgeHNtX2ZpeHVwX29wcyAo c3RydWN0IHhzbV9vcGVyYXRpb25zICpvcHMpCiAgICAgc2V0X3RvX2R1bW15X2lmX251bGwob3Bz LCBwbXVfb3ApOwogI2VuZGlmCiAgICAgc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCB4ZW5fdmVy c2lvbik7CisgICAgc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCB2ZXJzaW9uX29wKTsKIH0KZGlm ZiAtLWdpdCBhL3hlbi94c20vZmxhc2svaG9va3MuYyBiL3hlbi94c20vZmxhc2svaG9va3MuYwpp bmRleCBkMWJlZjQzLi4yNTEwMjI5IDEwMDY0NAotLS0gYS94ZW4veHNtL2ZsYXNrL2hvb2tzLmMK KysrIGIveGVuL3hzbS9mbGFzay9ob29rcy5jCkBAIC0xNjYyLDYgKzE2NjIsNDQgQEAgc3RhdGlj IGludCBmbGFza194ZW5fdmVyc2lvbiAodWludDMyX3Qgb3ApCiAgICAgfQogfQogCitzdGF0aWMg aW50IGZsYXNrX3ZlcnNpb25fb3AgKHVpbnQzMl90IG9wKQoreworICAgIHUzMiBkc2lkID0gZG9t YWluX3NpZChjdXJyZW50LT5kb21haW4pOworCisgICAgc3dpdGNoICggb3AgKQorICAgIHsKKyAg ICBjYXNlIFhFTl9WRVJTSU9OX09QX3ZlcnNpb246CisgICAgICAgIHJldHVybiBhdmNfaGFzX3Bl cm0oZHNpZCwgU0VDSU5JVFNJRF9YRU4sIFNFQ0NMQVNTX1ZFUlNJT04sCisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgVkVSU0lPTl9fVkVSU0lPTiwgTlVMTCk7CisgICAgY2FzZSBYRU5fVkVS U0lPTl9PUF9leHRyYXZlcnNpb246CisgICAgICAgIHJldHVybiBhdmNfaGFzX3Blcm0oZHNpZCwg U0VDSU5JVFNJRF9YRU4sIFNFQ0NMQVNTX1ZFUlNJT04sCisgICAgICAgICAgICAgICAgICAgICAg ICAgICAgVkVSU0lPTl9fRVhUUkFWRVJTSU9OLCBOVUxMKTsKKyAgICBjYXNlIFhFTl9WRVJTSU9O X09QX2NhcGFiaWxpdGllczoKKyAgICAgICAgcmV0dXJuIGF2Y19oYXNfcGVybShkc2lkLCBTRUNJ TklUU0lEX1hFTiwgU0VDQ0xBU1NfVkVSU0lPTiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICBWRVJTSU9OX19DQVBBQklMSVRJRVMsIE5VTEwpOworICAgIGNhc2UgWEVOX1ZFUlNJT05fT1Bf Y2hhbmdlc2V0OgorICAgICAgICByZXR1cm4gYXZjX2hhc19wZXJtKGRzaWQsIFNFQ0lOSVRTSURf WEVOLCBTRUNDTEFTU19WRVJTSU9OLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZFUlNJ T05fX0NIQU5HRVNFVCwgTlVMTCk7CisgICAgY2FzZSBYRU5fVkVSU0lPTl9PUF9wbGF0Zm9ybV9w YXJhbWV0ZXJzOgorICAgICAgICByZXR1cm4gYXZjX2hhc19wZXJtKGRzaWQsIFNFQ0lOSVRTSURf WEVOLCBTRUNDTEFTU19WRVJTSU9OLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZFUlNJ T05fX1BMQVRGT1JNX1BBUkFNRVRFUlMsIE5VTEwpOworICAgIGNhc2UgWEVOX1ZFUlNJT05fT1Bf Z2V0X2ZlYXR1cmVzOgorICAgICAgICByZXR1cm4gYXZjX2hhc19wZXJtKGRzaWQsIFNFQ0lOSVRT SURfWEVOLCBTRUNDTEFTU19WRVJTSU9OLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZF UlNJT05fX0dFVF9GRUFUVVJFUywgTlVMTCk7CisgICAgY2FzZSBYRU5fVkVSU0lPTl9PUF9wYWdl c2l6ZToKKyAgICAgICAgcmV0dXJuIGF2Y19oYXNfcGVybShkc2lkLCBTRUNJTklUU0lEX1hFTiwg U0VDQ0xBU1NfVkVSU0lPTiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBWRVJTSU9OX19Q QUdFU0laRSwgTlVMTCk7CisgICAgY2FzZSBYRU5fVkVSU0lPTl9PUF9ndWVzdF9oYW5kbGU6Cisg ICAgICAgIHJldHVybiBhdmNfaGFzX3Blcm0oZHNpZCwgU0VDSU5JVFNJRF9YRU4sIFNFQ0NMQVNT X1ZFUlNJT04sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgVkVSU0lPTl9fR1VFU1RfSEFO RExFLCBOVUxMKTsKKyAgICBjYXNlIFhFTl9WRVJTSU9OX09QX2NvbW1hbmRsaW5lOgorICAgICAg ICByZXR1cm4gYXZjX2hhc19wZXJtKGRzaWQsIFNFQ0lOSVRTSURfWEVOLCBTRUNDTEFTU19WRVJT SU9OLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZFUlNJT05fX0NPTU1BTkRMSU5FLCBO VUxMKTsKKyAgICBkZWZhdWx0OgorICAgICAgICByZXR1cm4gLUVQRVJNOworICAgIH0KK30KKwog bG9uZyBkb19mbGFza19vcChYRU5fR1VFU1RfSEFORExFX1BBUkFNKHhzbV9vcF90KSB1X2ZsYXNr X29wKTsKIGludCBjb21wYXRfZmxhc2tfb3AoWEVOX0dVRVNUX0hBTkRMRV9QQVJBTSh4c21fb3Bf dCkgdV9mbGFza19vcCk7CiAKQEAgLTE4MDEsNiArMTgzOSw3IEBAIHN0YXRpYyBzdHJ1Y3QgeHNt X29wZXJhdGlvbnMgZmxhc2tfb3BzID0gewogICAgIC5wbXVfb3AgPSBmbGFza19wbXVfb3AsCiAj ZW5kaWYKICAgICAueGVuX3ZlcnNpb24gPSBmbGFza194ZW5fdmVyc2lvbiwKKyAgICAudmVyc2lv bl9vcCA9IGZsYXNrX3ZlcnNpb25fb3AsCiB9OwogCiBzdGF0aWMgX19pbml0IHZvaWQgZmxhc2tf aW5pdCh2b2lkKQpkaWZmIC0tZ2l0IGEveGVuL3hzbS9mbGFzay9wb2xpY3kvYWNjZXNzX3ZlY3Rv cnMgYi94ZW4veHNtL2ZsYXNrL3BvbGljeS9hY2Nlc3NfdmVjdG9ycwppbmRleCA2MjhkZDVjLi41 OWM5ZjY5IDEwMDY0NAotLS0gYS94ZW4veHNtL2ZsYXNrL3BvbGljeS9hY2Nlc3NfdmVjdG9ycwor KysgYi94ZW4veHNtL2ZsYXNrL3BvbGljeS9hY2Nlc3NfdmVjdG9ycwpAQCAtNDk2LDkgKzQ5Niwx MCBAQCBjbGFzcyBzZWN1cml0eQogICAgIGRlbF9vY29udGV4dAogfQogCi0jIENsYXNzIHZlcnNp b24gaXMgdXNlZCB0byBkZXNjcmliZSB0aGUgWEVOVkVSXyBoeXBlcmNhbGwuCisjIENsYXNzIHZl cnNpb24gaXMgdXNlZCB0byBkZXNjcmliZSB0aGUgWEVOVkVSXyBhbmQgVkVSU0lPTl9PUCBoeXBl cmNhbGwuCiAjIEVhY2ggc3ViLW9wcyBpcyBkZXNjcmliZWQgaGVyZSAtIGluIHRoZSBkZWZhdWx0 IGNhc2UgYWxsIG9mIHRoZW0gc2hvdWxkCi0jIGJlIGFsbG93ZWQgZXhjZXB0IHRoZSBYRU5WRVJf Y29tbWFuZGxpbmUuCisjIGJlIGFsbG93ZWQgZXhjZXB0IHRoZSBYRU5WRVJfY29tbWFuZGxpbmUs IFZFUlNJT05fT1BfY29tbWFuZGxpbmUsIGFuZAorIyBWRVJTSU9OX09QX2NoYW5nZXNldC4KICMK IGNsYXNzIHZlcnNpb24KIHsKQEAgLTUyMiw0ICs1MjMsMjMgQEAgY2xhc3MgdmVyc2lvbgogICAg IHhlbl9ndWVzdF9oYW5kbGUKICMgWGVuIGNvbW1hbmQgbGluZS4KICAgICB4ZW5fY29tbWFuZGxp bmUKKworIyBPZnRlbiBjYWxsZWQgYnkgUFYga2VybmVscyB0byBmb3JjZSBhbiBjYWxsYmFjay4K KyAgICB2ZXJzaW9uCisjIEV4dHJhIGluZm9ybWF0aW9ucyAoLXVuc3RhYmxlKS4KKyAgICBleHRy YXZlcnNpb24KKyMgU3VjaCBhcyAieGVuLTMuMC14ODZfNjQgeGVuLTMuMC14ODZfMzJwIGh2bS0z LjAteDg2XzMyIGh2bS0zLjAteDg2XzMycCBodm0tMy4wLXg4Nl82NCIuCisgICAgY2FwYWJpbGl0 aWVzCisjIFN1Y2ggYXMgdGhlIHZpcnR1YWwgYWRkcmVzcyBvZiB3aGVyZSB0aGUgaHlwZXJ2aXNv ciByZXNpZGVzLgorICAgIHBsYXRmb3JtX3BhcmFtZXRlcnMKKyMgU291cmNlIGNvZGUgY2hhbmdl c2V0LgorICAgIGNoYW5nZXNldAorIyBUaGUgZmVhdHVyZXMgdGhlIGh5cGVydmlzb3Igc3VwcG9y dHMuCisgICAgZ2V0X2ZlYXR1cmVzCisjIFBhZ2Ugc2l6ZSB0aGUgaHlwZXJ2aXNvciB1c2VzLgor ICAgIHBhZ2VzaXplCisjIEFuIHZhbHVlIHRoYXQgdGhlIGNvbnRyb2wgc3RhY2sgY2FuIGNob29z ZS4KKyAgICBndWVzdF9oYW5kbGUKKyMgWGVuIGNvbW1hbmQgbGluZS4KKyAgICBjb21tYW5kbGlu ZQogfQotLSAKMi41LjAKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW4ub3JnCmh0 dHA6Ly9saXN0cy54ZW4ub3JnL3hlbi1kZXZlbAo=