From mboxrd@z Thu Jan 1 00:00:00 1970 From: George Dunlap Subject: Re: [PATCH v3 01/16] x86: change name of parameter for various invlpg functions Date: Thu, 6 Sep 2018 12:12:41 +0100 Message-ID: References: <20180904161533.11575-1-wei.liu2@citrix.com> <20180904161533.11575-2-wei.liu2@citrix.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1fxsDP-0006oG-VW for xen-devel@lists.xenproject.org; Thu, 06 Sep 2018 11:12:48 +0000 In-Reply-To: <20180904161533.11575-2-wei.liu2@citrix.com> Content-Language: en-US List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" To: Wei Liu , xen-devel@lists.xenproject.org Cc: Kevin Tian , Jan Beulich , George Dunlap , Andrew Cooper , Tim Deegan , Jun Nakajima , Boris Ostrovsky , Brian Woods , Suravee Suthikulpanit List-Id: xen-devel@lists.xenproject.org T24gMDkvMDQvMjAxOCAwNToxNSBQTSwgV2VpIExpdSB3cm90ZToKPiBUaGV5IGFsbCBpbmNvcnJl Y3RseSBuYW1lZCBhIHBhcmFtZXRlciB2aXJ0dWFsIGFkZHJlc3Mgd2hpbGUgaXQgc2hvdWxkCj4g aGF2ZSBiZWVuIGxpbmVhciBhZGRyZXNzLgo+IAo+IFJlcXVlc3RlZC1ieTogQW5kcmV3IENvb3Bl ciA8YW5kcmV3LmNvb3BlcjNAY2l0cml4LmNvbT4KPiBTaWduZWQtb2ZmLWJ5OiBXZWkgTGl1IDx3 ZWkubGl1MkBjaXRyaXguY29tPgo+IEFja2VkLWJ5OiBKYW4gQmV1bGljaCA8amJldWxpY2hAc3Vz ZS5jb20+Cj4gUmV2aWV3ZWQtYnk6IEtldmluIFRpYW4gPGtldmluLnRpYW5AaW50ZWwuY29tPgo+ IEFja2VkLWJ5OiBCb3JpcyBPc3Ryb3Zza3kgPGJvcmlzLm9zdHJvdnNreUBvcmFjbGUuY29tPgoK QWNrZWQtYnk6IEdlb3JnZSBEdW5sYXAgPGdlb3JnZS5kdW5sYXBAY2l0cml4LmNvbT4KCj4gLS0t Cj4gIHhlbi9hcmNoL3g4Ni9odm0vc3ZtL3N2bS5jICAgICAgICAgfCAxNCArKysrKysrLS0tLS0t LQo+ICB4ZW4vYXJjaC94ODYvaHZtL3ZteC92bXguYyAgICAgICAgIHwgMTIgKysrKysrLS0tLS0t Cj4gIHhlbi9hcmNoL3g4Ni9tbS5jICAgICAgICAgICAgICAgICAgfCAxMCArKysrKy0tLS0tCj4g IHhlbi9hcmNoL3g4Ni9tbS9oYXAvaGFwLmMgICAgICAgICAgfCAgMiArLQo+ICB4ZW4vYXJjaC94 ODYvbW0vc2hhZG93L211bHRpLmMgICAgIHwgMTQgKysrKysrKy0tLS0tLS0KPiAgeGVuL2FyY2gv eDg2L21tL3NoYWRvdy9ub25lLmMgICAgICB8ICAyICstCj4gIHhlbi9pbmNsdWRlL2FzbS14ODYv aHZtL2h2bS5oICAgICAgfCAgNiArKystLS0KPiAgeGVuL2luY2x1ZGUvYXNtLXg4Ni9odm0vc3Zt L2FzaWQuaCB8ICA0ICsrLS0KPiAgeGVuL2luY2x1ZGUvYXNtLXg4Ni9odm0vc3ZtL3N2bS5oICB8 ICA0ICsrLS0KPiAgeGVuL2luY2x1ZGUvYXNtLXg4Ni9wYWdpbmcuaCAgICAgICB8ICAzICsrLQo+ ICAxMCBmaWxlcyBjaGFuZ2VkLCAzNiBpbnNlcnRpb25zKCspLCAzNSBkZWxldGlvbnMoLSkKPiAK PiBkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L2h2bS9zdm0vc3ZtLmMgYi94ZW4vYXJjaC94ODYv aHZtL3N2bS9zdm0uYwo+IGluZGV4IDBiMDZlMmZmMTEuLjM0ZDU1YjQ5MzggMTAwNjQ0Cj4gLS0t IGEveGVuL2FyY2gveDg2L2h2bS9zdm0vc3ZtLmMKPiArKysgYi94ZW4vYXJjaC94ODYvaHZtL3N2 bS9zdm0uYwo+IEBAIC0yNDg4LDE4ICsyNDg4LDE4IEBAIHN0YXRpYyB2b2lkIHN2bV92bWV4aXRf ZG9faW52YWxpZGF0ZV9jYWNoZShzdHJ1Y3QgY3B1X3VzZXJfcmVncyAqcmVncykKPiAgfQo+ICAK PiAgc3RhdGljIHZvaWQgc3ZtX2ludmxwZ2FfaW50ZXJjZXB0KAo+IC0gICAgc3RydWN0IHZjcHUg KnYsIHVuc2lnbmVkIGxvbmcgdmFkZHIsIHVpbnQzMl90IGFzaWQpCj4gKyAgICBzdHJ1Y3QgdmNw dSAqdiwgdW5zaWduZWQgbG9uZyBsaW5lYXIsIHVpbnQzMl90IGFzaWQpCj4gIHsKPiAtICAgIHN2 bV9pbnZscGdhKHZhZGRyLAo+ICsgICAgc3ZtX2ludmxwZ2EobGluZWFyLAo+ICAgICAgICAgICAg ICAgICAgKGFzaWQgPT0gMCkKPiAgICAgICAgICAgICAgICAgID8gdi0+YXJjaC5odm0ubjFhc2lk LmFzaWQKPiAgICAgICAgICAgICAgICAgIDogdmNwdV9uZXN0ZWRodm0odikubnZfbjJhc2lkLmFz aWQpOwo+ICB9Cj4gIAo+IC1zdGF0aWMgdm9pZCBzdm1faW52bHBnX2ludGVyY2VwdCh1bnNpZ25l ZCBsb25nIHZhZGRyKQo+ICtzdGF0aWMgdm9pZCBzdm1faW52bHBnX2ludGVyY2VwdCh1bnNpZ25l ZCBsb25nIGxpbmVhcikKPiAgewo+IC0gICAgSFZNVFJBQ0VfTE9OR18yRChJTlZMUEcsIDAsIFRS Q19QQVJfTE9ORyh2YWRkcikpOwo+IC0gICAgcGFnaW5nX2ludmxwZyhjdXJyZW50LCB2YWRkcik7 Cj4gKyAgICBIVk1UUkFDRV9MT05HXzJEKElOVkxQRywgMCwgVFJDX1BBUl9MT05HKGxpbmVhcikp Owo+ICsgICAgcGFnaW5nX2ludmxwZyhjdXJyZW50LCBsaW5lYXIpOwo+ICB9Cj4gIAo+ICBzdGF0 aWMgYm9vbCBpc19pbnZscGcoY29uc3Qgc3RydWN0IHg4Nl9lbXVsYXRlX3N0YXRlICpzdGF0ZSwK PiBAQCAtMjUxMiw5ICsyNTEyLDkgQEAgc3RhdGljIGJvb2wgaXNfaW52bHBnKGNvbnN0IHN0cnVj dCB4ODZfZW11bGF0ZV9zdGF0ZSAqc3RhdGUsCj4gICAgICAgICAgICAgKGV4dCAmIDcpID09IDc7 Cj4gIH0KPiAgCj4gLXN0YXRpYyB2b2lkIHN2bV9pbnZscGcoc3RydWN0IHZjcHUgKnYsIHVuc2ln bmVkIGxvbmcgdmFkZHIpCj4gK3N0YXRpYyB2b2lkIHN2bV9pbnZscGcoc3RydWN0IHZjcHUgKnYs IHVuc2lnbmVkIGxvbmcgbGluZWFyKQo+ICB7Cj4gLSAgICBzdm1fYXNpZF9nX2ludmxwZyh2LCB2 YWRkcik7Cj4gKyAgICBzdm1fYXNpZF9nX2ludmxwZyh2LCBsaW5lYXIpOwo+ICB9Cj4gIAo+ICBz dGF0aWMgYm9vbCBzdm1fZ2V0X3BlbmRpbmdfZXZlbnQoc3RydWN0IHZjcHUgKnYsIHN0cnVjdCB4 ODZfZXZlbnQgKmluZm8pCj4gZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9odm0vdm14L3ZteC5j IGIveGVuL2FyY2gveDg2L2h2bS92bXgvdm14LmMKPiBpbmRleCBlOTI2YjBiMjhlLi5iMmUxYTI4 MDM4IDEwMDY0NAo+IC0tLSBhL3hlbi9hcmNoL3g4Ni9odm0vdm14L3ZteC5jCj4gKysrIGIveGVu L2FyY2gveDg2L2h2bS92bXgvdm14LmMKPiBAQCAtNzUsNyArNzUsNyBAQCBzdGF0aWMgdm9pZCB2 bXhfd2JpbnZkX2ludGVyY2VwdCh2b2lkKTsKPiAgc3RhdGljIHZvaWQgdm14X2ZwdV9kaXJ0eV9p bnRlcmNlcHQodm9pZCk7Cj4gIHN0YXRpYyBpbnQgdm14X21zcl9yZWFkX2ludGVyY2VwdCh1bnNp Z25lZCBpbnQgbXNyLCB1aW50NjRfdCAqbXNyX2NvbnRlbnQpOwo+ICBzdGF0aWMgaW50IHZteF9t c3Jfd3JpdGVfaW50ZXJjZXB0KHVuc2lnbmVkIGludCBtc3IsIHVpbnQ2NF90IG1zcl9jb250ZW50 KTsKPiAtc3RhdGljIHZvaWQgdm14X2ludmxwZyhzdHJ1Y3QgdmNwdSAqdiwgdW5zaWduZWQgbG9u ZyB2YWRkcik7Cj4gK3N0YXRpYyB2b2lkIHZteF9pbnZscGcoc3RydWN0IHZjcHUgKnYsIHVuc2ln bmVkIGxvbmcgbGluZWFyKTsKPiAgCj4gIC8qIFZhbHVlcyBmb3IgZG9tYWluJ3MgLT5hcmNoLmh2 bV9kb21haW4ucGlfb3BzLmZsYWdzLiAqLwo+ICAjZGVmaW5lIFBJX0NTV19GUk9NICgxdSA8PCAw KQo+IEBAIC0yNTk1LDE2ICsyNTk1LDE2IEBAIHN0YXRpYyB2b2lkIHZteF9kcl9hY2Nlc3ModW5z aWduZWQgbG9uZyBleGl0X3F1YWxpZmljYXRpb24sCj4gICAgICB2bXhfdXBkYXRlX2NwdV9leGVj X2NvbnRyb2wodik7Cj4gIH0KPiAgCj4gLXN0YXRpYyB2b2lkIHZteF9pbnZscGdfaW50ZXJjZXB0 KHVuc2lnbmVkIGxvbmcgdmFkZHIpCj4gK3N0YXRpYyB2b2lkIHZteF9pbnZscGdfaW50ZXJjZXB0 KHVuc2lnbmVkIGxvbmcgbGluZWFyKQo+ICB7Cj4gLSAgICBIVk1UUkFDRV9MT05HXzJEKElOVkxQ RywgLyppbnZscGdhPSovIDAsIFRSQ19QQVJfTE9ORyh2YWRkcikpOwo+IC0gICAgcGFnaW5nX2lu dmxwZyhjdXJyZW50LCB2YWRkcik7Cj4gKyAgICBIVk1UUkFDRV9MT05HXzJEKElOVkxQRywgLypp bnZscGdhPSovIDAsIFRSQ19QQVJfTE9ORyhsaW5lYXIpKTsKPiArICAgIHBhZ2luZ19pbnZscGco Y3VycmVudCwgbGluZWFyKTsKPiAgfQo+ICAKPiAtc3RhdGljIHZvaWQgdm14X2ludmxwZyhzdHJ1 Y3QgdmNwdSAqdiwgdW5zaWduZWQgbG9uZyB2YWRkcikKPiArc3RhdGljIHZvaWQgdm14X2ludmxw ZyhzdHJ1Y3QgdmNwdSAqdiwgdW5zaWduZWQgbG9uZyBsaW5lYXIpCj4gIHsKPiAgICAgIGlmICgg Y3B1X2hhc192bXhfdnBpZCApCj4gLSAgICAgICAgdnBpZF9zeW5jX3ZjcHVfZ3ZhKHYsIHZhZGRy KTsKPiArICAgICAgICB2cGlkX3N5bmNfdmNwdV9ndmEodiwgbGluZWFyKTsKPiAgfQo+ICAKPiAg c3RhdGljIGludCB2bXhfdm1mdW5jX2ludGVyY2VwdChzdHJ1Y3QgY3B1X3VzZXJfcmVncyAqcmVn cykKPiBkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L21tLmMgYi94ZW4vYXJjaC94ODYvbW0uYwo+ IGluZGV4IDg0OTc5ZjI4ZDUuLjQwOTgxNGNlMGEgMTAwNjQ0Cj4gLS0tIGEveGVuL2FyY2gveDg2 L21tLmMKPiArKysgYi94ZW4vYXJjaC94ODYvbW0uYwo+IEBAIC01NzkzLDE5ICs1NzkzLDE5IEBA IGNvbnN0IHVuc2lnbmVkIGxvbmcgKl9faW5pdCBnZXRfcGxhdGZvcm1fYmFkcGFnZXModW5zaWdu ZWQgaW50ICphcnJheV9zaXplKQo+ICAgICAgcmV0dXJuIGJhZF9wYWdlczsKPiAgfQo+ICAKPiAt dm9pZCBwYWdpbmdfaW52bHBnKHN0cnVjdCB2Y3B1ICp2LCB1bnNpZ25lZCBsb25nIHZhKQo+ICt2 b2lkIHBhZ2luZ19pbnZscGcoc3RydWN0IHZjcHUgKnYsIHVuc2lnbmVkIGxvbmcgbGluZWFyKQo+ ICB7Cj4gLSAgICBpZiAoICFpc19jYW5vbmljYWxfYWRkcmVzcyh2YSkgKQo+ICsgICAgaWYgKCAh aXNfY2Fub25pY2FsX2FkZHJlc3MobGluZWFyKSApCj4gICAgICAgICAgcmV0dXJuOwo+ICAKPiAg ICAgIGlmICggcGFnaW5nX21vZGVfZW5hYmxlZCh2LT5kb21haW4pICYmCj4gLSAgICAgICAgICFw YWdpbmdfZ2V0X2hvc3Rtb2RlKHYpLT5pbnZscGcodiwgdmEpICkKPiArICAgICAgICAgIXBhZ2lu Z19nZXRfaG9zdG1vZGUodiktPmludmxwZyh2LCBsaW5lYXIpICkKPiAgICAgICAgICByZXR1cm47 Cj4gIAo+ICAgICAgaWYgKCBpc19wdl92Y3B1KHYpICkKPiAtICAgICAgICBmbHVzaF90bGJfb25l X2xvY2FsKHZhKTsKPiArICAgICAgICBmbHVzaF90bGJfb25lX2xvY2FsKGxpbmVhcik7Cj4gICAg ICBlbHNlCj4gLSAgICAgICAgaHZtX2ludmxwZyh2LCB2YSk7Cj4gKyAgICAgICAgaHZtX2ludmxw Zyh2LCBsaW5lYXIpOwo+ICB9Cj4gIAo+ICAvKiBCdWlsZCBhIDMyYml0IFBTRSBwYWdlIHRhYmxl IHVzaW5nIDRNQiBwYWdlcy4gKi8KPiBkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L21tL2hhcC9o YXAuYyBiL3hlbi9hcmNoL3g4Ni9tbS9oYXAvaGFwLmMKPiBpbmRleCBjNTNkNzZjZjY5Li4zZDY1 MWI5NGMzIDEwMDY0NAo+IC0tLSBhL3hlbi9hcmNoL3g4Ni9tbS9oYXAvaGFwLmMKPiArKysgYi94 ZW4vYXJjaC94ODYvbW0vaGFwL2hhcC5jCj4gQEAgLTY1MCw3ICs2NTAsNyBAQCBzdGF0aWMgaW50 IGhhcF9wYWdlX2ZhdWx0KHN0cnVjdCB2Y3B1ICp2LCB1bnNpZ25lZCBsb25nIHZhLAo+ICAgKiBz aG91bGQgbm90IGJlIGludGVyY2VwdGluZyBpdC4gIEhvd2V2ZXIsIHdlIG5lZWQgdG8gY29ycmVj dGx5IGhhbmRsZQo+ICAgKiBnZXR0aW5nIGhlcmUgZnJvbSBpbnN0cnVjdGlvbiBlbXVsYXRpb24u Cj4gICAqLwo+IC1zdGF0aWMgYm9vbF90IGhhcF9pbnZscGcoc3RydWN0IHZjcHUgKnYsIHVuc2ln bmVkIGxvbmcgdmEpCj4gK3N0YXRpYyBib29sX3QgaGFwX2ludmxwZyhzdHJ1Y3QgdmNwdSAqdiwg dW5zaWduZWQgbG9uZyBsaW5lYXIpCj4gIHsKPiAgICAgIC8qCj4gICAgICAgKiBFbXVsYXRlIElO VkxQR0E6Cj4gZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9tbS9zaGFkb3cvbXVsdGkuYyBiL3hl bi9hcmNoL3g4Ni9tbS9zaGFkb3cvbXVsdGkuYwo+IGluZGV4IDdiYjZmNDcxNTUuLmJiYTU3M2Fl ODcgMTAwNjQ0Cj4gLS0tIGEveGVuL2FyY2gveDg2L21tL3NoYWRvdy9tdWx0aS5jCj4gKysrIGIv eGVuL2FyY2gveDg2L21tL3NoYWRvdy9tdWx0aS5jCj4gQEAgLTM1NDksNyArMzU0OSw3IEBAIHBy b3BhZ2F0ZToKPiAgICogaW5zdHJ1Y3Rpb24gc2hvdWxkIGJlIGlzc3VlZCBvbiB0aGUgaGFyZHdh cmUsIG9yIGZhbHNlIGlmIGl0J3Mgc2FmZSBub3QKPiAgICogdG8gZG8gc28uCj4gICAqLwo+IC1z dGF0aWMgYm9vbCBzaF9pbnZscGcoc3RydWN0IHZjcHUgKnYsIHVuc2lnbmVkIGxvbmcgdmEpCj4g K3N0YXRpYyBib29sIHNoX2ludmxwZyhzdHJ1Y3QgdmNwdSAqdiwgdW5zaWduZWQgbG9uZyBsaW5l YXIpCj4gIHsKPiAgICAgIG1mbl90IHNsMW1mbjsKPiAgICAgIHNoYWRvd19sMmVfdCBzbDJlOwo+ IEBAIC0zNTcyLDE0ICszNTcyLDE0IEBAIHN0YXRpYyBib29sIHNoX2ludmxwZyhzdHJ1Y3QgdmNw dSAqdiwgdW5zaWduZWQgbG9uZyB2YSkKPiAgICAgIHsKPiAgICAgICAgICBzaGFkb3dfbDNlX3Qg c2wzZTsKPiAgICAgICAgICBpZiAoICEoc2hhZG93X2w0ZV9nZXRfZmxhZ3MoCj4gLSAgICAgICAg ICAgICAgICAgICBzaF9saW5lYXJfbDRfdGFibGUodilbc2hhZG93X2w0X2xpbmVhcl9vZmZzZXQo dmEpXSkKPiArICAgICAgICAgICAgICAgICAgIHNoX2xpbmVhcl9sNF90YWJsZSh2KVtzaGFkb3df bDRfbGluZWFyX29mZnNldChsaW5lYXIpXSkKPiAgICAgICAgICAgICAgICAgJiBfUEFHRV9QUkVT RU5UKSApCj4gICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKPiAgICAgICAgICAvKiBUaGlzIG11 c3Qgc3RpbGwgYmUgYSBjb3B5LWZyb20tdXNlciBiZWNhdXNlIHdlIGRvbid0IGhhdmUgdGhlCj4g ICAgICAgICAgICogcGFnaW5nIGxvY2ssIGFuZCB0aGUgaGlnaGVyLWxldmVsIHNoYWRvd3MgbWln aHQgZGlzYXBwZWFyCj4gICAgICAgICAgICogdW5kZXIgb3VyIGZlZXQuICovCj4gICAgICAgICAg aWYgKCBfX2NvcHlfZnJvbV91c2VyKCZzbDNlLCAoc2hfbGluZWFyX2wzX3RhYmxlKHYpCj4gLSAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKyBzaGFkb3dfbDNfbGluZWFyX29m ZnNldCh2YSkpLAo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICsgc2hh ZG93X2wzX2xpbmVhcl9vZmZzZXQobGluZWFyKSksCj4gICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHNpemVvZiAoc2wzZSkpICE9IDAgKQo+ICAgICAgICAgIHsKPiAgICAgICAgICAgICAg cGVyZmNfaW5jcihzaGFkb3dfaW52bHBnX2ZhdWx0KTsKPiBAQCAtMzU4OSw3ICszNTg5LDcgQEAg c3RhdGljIGJvb2wgc2hfaW52bHBnKHN0cnVjdCB2Y3B1ICp2LCB1bnNpZ25lZCBsb25nIHZhKQo+ ICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7Cj4gICAgICB9Cj4gICNlbHNlIC8qIFNIQURPV19Q QUdJTkdfTEVWRUxTID09IDMgKi8KPiAtICAgIGlmICggIShsM2VfZ2V0X2ZsYWdzKHYtPmFyY2gu cGFnaW5nLnNoYWRvdy5sM3RhYmxlW3NoYWRvd19sM19saW5lYXJfb2Zmc2V0KHZhKV0pCj4gKyAg ICBpZiAoICEobDNlX2dldF9mbGFncyh2LT5hcmNoLnBhZ2luZy5zaGFkb3cubDN0YWJsZVtzaGFk b3dfbDNfbGluZWFyX29mZnNldChsaW5lYXIpXSkKPiAgICAgICAgICAgICAmIF9QQUdFX1BSRVNF TlQpICkKPiAgICAgICAgICAvLyBubyBuZWVkIHRvIGZsdXNoIGFueXRoaW5nIGlmIHRoZXJlJ3Mg bm8gU0wyLi4uCj4gICAgICAgICAgcmV0dXJuIGZhbHNlOwo+IEBAIC0zNTk4LDcgKzM1OTgsNyBA QCBzdGF0aWMgYm9vbCBzaF9pbnZscGcoc3RydWN0IHZjcHUgKnYsIHVuc2lnbmVkIGxvbmcgdmEp Cj4gICAgICAvKiBUaGlzIG11c3Qgc3RpbGwgYmUgYSBjb3B5LWZyb20tdXNlciBiZWNhdXNlIHdl IGRvbid0IGhhdmUgdGhlIHNoYWRvdwo+ICAgICAgICogbG9jaywgYW5kIHRoZSBoaWdoZXItbGV2 ZWwgc2hhZG93cyBtaWdodCBkaXNhcHBlYXIgdW5kZXIgb3VyIGZlZXQuICovCj4gICAgICBpZiAo IF9fY29weV9mcm9tX3VzZXIoJnNsMmUsCj4gLSAgICAgICAgICAgICAgICAgICAgICAgICAgc2hf bGluZWFyX2wyX3RhYmxlKHYpICsgc2hhZG93X2wyX2xpbmVhcl9vZmZzZXQodmEpLAo+ICsgICAg ICAgICAgICAgICAgICAgICAgICAgIHNoX2xpbmVhcl9sMl90YWJsZSh2KSArIHNoYWRvd19sMl9s aW5lYXJfb2Zmc2V0KGxpbmVhciksCj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZW9m IChzbDJlKSkgIT0gMCApCj4gICAgICB7Cj4gICAgICAgICAgcGVyZmNfaW5jcihzaGFkb3dfaW52 bHBnX2ZhdWx0KTsKPiBAQCAtMzY0Miw3ICszNjQyLDcgQEAgc3RhdGljIGJvb2wgc2hfaW52bHBn KHN0cnVjdCB2Y3B1ICp2LCB1bnNpZ25lZCBsb25nIHZhKQo+ICAgICAgICAgICAgICAgKiBmZWV0 LiAqLwo+ICAgICAgICAgICAgICBpZiAoIF9fY29weV9mcm9tX3VzZXIoJnNsMmUsCj4gICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaF9saW5lYXJfbDJfdGFibGUodikKPiAtICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICsgc2hhZG93X2wyX2xpbmVhcl9vZmZzZXQo dmEpLAo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKyBzaGFkb3dfbDJfbGlu ZWFyX29mZnNldChsaW5lYXIpLAo+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg c2l6ZW9mIChzbDJlKSkgIT0gMCApCj4gICAgICAgICAgICAgIHsKPiAgICAgICAgICAgICAgICAg IHBlcmZjX2luY3Ioc2hhZG93X2ludmxwZ19mYXVsdCk7Cj4gQEAgLTM2NjQsNyArMzY2NCw3IEBA IHN0YXRpYyBib29sIHNoX2ludmxwZyhzdHJ1Y3QgdmNwdSAqdiwgdW5zaWduZWQgbG9uZyB2YSkK PiAgICAgICAgICAgICAgICAgICAgICAgICAgJiYgcGFnZV9pc19vdXRfb2Zfc3luYyhwZykgKSAp Cj4gICAgICAgICAgICAgIHsKPiAgICAgICAgICAgICAgICAgIHNoYWRvd19sMWVfdCAqc2wxOwo+ IC0gICAgICAgICAgICAgICAgc2wxID0gc2hfbGluZWFyX2wxX3RhYmxlKHYpICsgc2hhZG93X2wx X2xpbmVhcl9vZmZzZXQodmEpOwo+ICsgICAgICAgICAgICAgICAgc2wxID0gc2hfbGluZWFyX2wx X3RhYmxlKHYpICsgc2hhZG93X2wxX2xpbmVhcl9vZmZzZXQobGluZWFyKTsKPiAgICAgICAgICAg ICAgICAgIC8qIFJlbW92ZSB0aGUgc2hhZG93IGVudHJ5IHRoYXQgbWFwcyB0aGlzIFZBICovCj4g ICAgICAgICAgICAgICAgICAodm9pZCkgc2hhZG93X3NldF9sMWUoZCwgc2wxLCBzaGFkb3dfbDFl X2VtcHR5KCksCj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcDJtX2lu dmFsaWQsIHNsMW1mbik7Cj4gZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9tbS9zaGFkb3cvbm9u ZS5jIGIveGVuL2FyY2gveDg2L21tL3NoYWRvdy9ub25lLmMKPiBpbmRleCBhOGM5NjA0Y2RmLi40 ZGU2NDVhNDMzIDEwMDY0NAo+IC0tLSBhL3hlbi9hcmNoL3g4Ni9tbS9zaGFkb3cvbm9uZS5jCj4g KysrIGIveGVuL2FyY2gveDg2L21tL3NoYWRvdy9ub25lLmMKPiBAQCAtMzcsNyArMzcsNyBAQCBz dGF0aWMgaW50IF9wYWdlX2ZhdWx0KHN0cnVjdCB2Y3B1ICp2LCB1bnNpZ25lZCBsb25nIHZhLAo+ ICAgICAgcmV0dXJuIDA7Cj4gIH0KPiAgCj4gLXN0YXRpYyBib29sIF9pbnZscGcoc3RydWN0IHZj cHUgKnYsIHVuc2lnbmVkIGxvbmcgdmEpCj4gK3N0YXRpYyBib29sIF9pbnZscGcoc3RydWN0IHZj cHUgKnYsIHVuc2lnbmVkIGxvbmcgbGluZWFyKQo+ICB7Cj4gICAgICBBU1NFUlRfVU5SRUFDSEFC TEUoKTsKPiAgICAgIHJldHVybiB0cnVlOwo+IGRpZmYgLS1naXQgYS94ZW4vaW5jbHVkZS9hc20t eDg2L2h2bS9odm0uaCBiL3hlbi9pbmNsdWRlL2FzbS14ODYvaHZtL2h2bS5oCj4gaW5kZXggMTMy ZTYyYjRmNi4uNmIwZTA4ODc1MCAxMDA2NDQKPiAtLS0gYS94ZW4vaW5jbHVkZS9hc20teDg2L2h2 bS9odm0uaAo+ICsrKyBiL3hlbi9pbmNsdWRlL2FzbS14ODYvaHZtL2h2bS5oCj4gQEAgLTE2MCw3 ICsxNjAsNyBAQCBzdHJ1Y3QgaHZtX2Z1bmN0aW9uX3RhYmxlIHsKPiAgCj4gICAgICBpbnQgICgq ZXZlbnRfcGVuZGluZykoc3RydWN0IHZjcHUgKnYpOwo+ICAgICAgYm9vbCAoKmdldF9wZW5kaW5n X2V2ZW50KShzdHJ1Y3QgdmNwdSAqdiwgc3RydWN0IHg4Nl9ldmVudCAqaW5mbyk7Cj4gLSAgICB2 b2lkICgqaW52bHBnKShzdHJ1Y3QgdmNwdSAqdiwgdW5zaWduZWQgbG9uZyB2YWRkcik7Cj4gKyAg ICB2b2lkICgqaW52bHBnKShzdHJ1Y3QgdmNwdSAqdiwgdW5zaWduZWQgbG9uZyBsaW5lYXIpOwo+ ICAKPiAgICAgIGludCAgKCpjcHVfdXBfcHJlcGFyZSkodW5zaWduZWQgaW50IGNwdSk7Cj4gICAg ICB2b2lkICgqY3B1X2RlYWQpKHVuc2lnbmVkIGludCBjcHUpOwo+IEBAIC00NTQsOSArNDU0LDkg QEAgc3RhdGljIGlubGluZSBpbnQgaHZtX2V2ZW50X3BlbmRpbmcoc3RydWN0IHZjcHUgKnYpCj4g ICAgICByZXR1cm4gaHZtX2Z1bmNzLmV2ZW50X3BlbmRpbmcodik7Cj4gIH0KPiAgCj4gLXN0YXRp YyBpbmxpbmUgdm9pZCBodm1faW52bHBnKHN0cnVjdCB2Y3B1ICp2LCB1bnNpZ25lZCBsb25nIHZh KQo+ICtzdGF0aWMgaW5saW5lIHZvaWQgaHZtX2ludmxwZyhzdHJ1Y3QgdmNwdSAqdiwgdW5zaWdu ZWQgbG9uZyBsaW5lYXIpCj4gIHsKPiAtICAgIGh2bV9mdW5jcy5pbnZscGcodiwgdmEpOwo+ICsg ICAgaHZtX2Z1bmNzLmludmxwZyh2LCBsaW5lYXIpOwo+ICB9Cj4gIAo+ICAvKiBUaGVzZSBiaXRz IGluIENSNCBhcmUgb3duZWQgYnkgdGhlIGhvc3QuICovCj4gZGlmZiAtLWdpdCBhL3hlbi9pbmNs dWRlL2FzbS14ODYvaHZtL3N2bS9hc2lkLmggYi94ZW4vaW5jbHVkZS9hc20teDg2L2h2bS9zdm0v YXNpZC5oCj4gaW5kZXggNjBjYmI3Yjg4MS4uMGU1ZWMzYWI3OCAxMDA2NDQKPiAtLS0gYS94ZW4v aW5jbHVkZS9hc20teDg2L2h2bS9zdm0vYXNpZC5oCj4gKysrIGIveGVuL2luY2x1ZGUvYXNtLXg4 Ni9odm0vc3ZtL2FzaWQuaAo+IEBAIC0yNSwxMSArMjUsMTEgQEAKPiAgdm9pZCBzdm1fYXNpZF9p bml0KGNvbnN0IHN0cnVjdCBjcHVpbmZvX3g4NiAqYyk7Cj4gIHZvaWQgc3ZtX2FzaWRfaGFuZGxl X3ZtcnVuKHZvaWQpOwo+ICAKPiAtc3RhdGljIGlubGluZSB2b2lkIHN2bV9hc2lkX2dfaW52bHBn KHN0cnVjdCB2Y3B1ICp2LCB1bnNpZ25lZCBsb25nIGdfdmFkZHIpCj4gK3N0YXRpYyBpbmxpbmUg dm9pZCBzdm1fYXNpZF9nX2ludmxwZyhzdHJ1Y3QgdmNwdSAqdiwgdW5zaWduZWQgbG9uZyBnX2xp bmVhcikKPiAgewo+ICAjaWYgMAo+ICAgICAgLyogT3B0aW1pemF0aW9uPyAqLwo+IC0gICAgc3Zt X2ludmxwZ2EoZ192YWRkciwgdi0+YXJjaC5odm0uc3ZtLnZtY2ItPmd1ZXN0X2FzaWQpOwo+ICsg ICAgc3ZtX2ludmxwZ2EoZ19saW5lYXIsIHYtPmFyY2guaHZtLnN2bS52bWNiLT5ndWVzdF9hc2lk KTsKPiAgI2VuZGlmCj4gIAo+ICAgICAgLyogU2FmZSBmYWxsYmFjay4gVGFrZSBhIG5ldyBBU0lE LiAqLwo+IGRpZmYgLS1naXQgYS94ZW4vaW5jbHVkZS9hc20teDg2L2h2bS9zdm0vc3ZtLmggYi94 ZW4vaW5jbHVkZS9hc20teDg2L2h2bS9zdm0vc3ZtLmgKPiBpbmRleCA0ZTVlMTQyOTEwLi44MTY2 MDQ2YTZkIDEwMDY0NAo+IC0tLSBhL3hlbi9pbmNsdWRlL2FzbS14ODYvaHZtL3N2bS9zdm0uaAo+ ICsrKyBiL3hlbi9pbmNsdWRlL2FzbS14ODYvaHZtL3N2bS9zdm0uaAo+IEBAIC00MCwxMyArNDAs MTMgQEAgc3RhdGljIGlubGluZSB2b2lkIHN2bV92bXNhdmVfcGEocGFkZHJfdCB2bWNiKQo+ICAg ICAgICAgIDogOiAiYSIgKHZtY2IpIDogIm1lbW9yeSIgKTsKPiAgfQo+ICAKPiAtc3RhdGljIGlu bGluZSB2b2lkIHN2bV9pbnZscGdhKHVuc2lnbmVkIGxvbmcgdmFkZHIsIHVpbnQzMl90IGFzaWQp Cj4gK3N0YXRpYyBpbmxpbmUgdm9pZCBzdm1faW52bHBnYSh1bnNpZ25lZCBsb25nIGxpbmVhciwg dWludDMyX3QgYXNpZCkKPiAgewo+ICAgICAgYXNtIHZvbGF0aWxlICgKPiAgICAgICAgICAiLmJ5 dGUgMHgwZiwweDAxLDB4ZGYiCj4gICAgICAgICAgOiAvKiBvdXRwdXQgKi8KPiAgICAgICAgICA6 IC8qIGlucHV0ICovCj4gLSAgICAgICAgImEiICh2YWRkciksICJjIiAoYXNpZCkpOwo+ICsgICAg ICAgICJhIiAobGluZWFyKSwgImMiIChhc2lkKSk7Cj4gIH0KPiAgCj4gIHVuc2lnbmVkIGxvbmcg KnN2bV9tc3JiaXQodW5zaWduZWQgbG9uZyAqbXNyX2JpdG1hcCwgdWludDMyX3QgbXNyKTsKPiBk aWZmIC0tZ2l0IGEveGVuL2luY2x1ZGUvYXNtLXg4Ni9wYWdpbmcuaCBiL3hlbi9pbmNsdWRlL2Fz bS14ODYvcGFnaW5nLmgKPiBpbmRleCBmNDQwZTNlNTNjLi5iNTFlMTcwOWQzIDEwMDY0NAo+IC0t LSBhL3hlbi9pbmNsdWRlL2FzbS14ODYvcGFnaW5nLmgKPiArKysgYi94ZW4vaW5jbHVkZS9hc20t eDg2L3BhZ2luZy5oCj4gQEAgLTExMCw3ICsxMTAsOCBAQCBzdHJ1Y3Qgc2hhZG93X3BhZ2luZ19t b2RlIHsKPiAgc3RydWN0IHBhZ2luZ19tb2RlIHsKPiAgICAgIGludCAgICAgICAgICAgKCpwYWdl X2ZhdWx0ICAgICAgICAgICAgKShzdHJ1Y3QgdmNwdSAqdiwgdW5zaWduZWQgbG9uZyB2YSwKPiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgY3B1X3Vz ZXJfcmVncyAqcmVncyk7Cj4gLSAgICBib29sICAgICAgICAgICgqaW52bHBnICAgICAgICAgICAg ICAgICkoc3RydWN0IHZjcHUgKnYsIHVuc2lnbmVkIGxvbmcgdmEpOwo+ICsgICAgYm9vbCAgICAg ICAgICAoKmludmxwZyAgICAgICAgICAgICAgICApKHN0cnVjdCB2Y3B1ICp2LAo+ICsgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGxvbmcgbGluZWFy KTsKPiAgICAgIHVuc2lnbmVkIGxvbmcgKCpndmFfdG9fZ2ZuICAgICAgICAgICAgKShzdHJ1Y3Qg dmNwdSAqdiwKPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBz dHJ1Y3QgcDJtX2RvbWFpbiAqcDJtLAo+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHVuc2lnbmVkIGxvbmcgdmEsCj4gCgoKX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2 ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWls bWFuL2xpc3RpbmZvL3hlbi1kZXZlbA==