From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id 50879A04B1 for ; Sat, 10 Oct 2020 11:28:37 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 237A21D73B; Sat, 10 Oct 2020 11:28:36 +0200 (CEST) Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) by dpdk.org (Postfix) with ESMTP id 6E0531D73B; Sat, 10 Oct 2020 11:28:33 +0200 (CEST) IronPort-SDR: dC+L1DvFMe/jKmfamm4kHqZjIpkcZcqribo0jRnagYUEeqUHiQxiVeZc1nv5LOAmo57jp8r7H4 BxPJGT0MBFmw== X-IronPort-AV: E=McAfee;i="6000,8403,9769"; a="164784658" X-IronPort-AV: E=Sophos;i="5.77,358,1596524400"; d="scan'208";a="164784658" X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga007.fm.intel.com ([10.253.24.52]) by fmsmga103.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 10 Oct 2020 02:28:30 -0700 IronPort-SDR: truWp32PHA6oKR9m/dZ59CoPDG/JudV8LJGBSjQ3tbuKoAnTB/TaaEgq/igs7h19b6CVDDHVoh CNEwt2nCmoQQ== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.77,358,1596524400"; d="scan'208";a="298593166" Received: from fmsmsx604.amr.corp.intel.com ([10.18.126.84]) by fmsmga007.fm.intel.com with ESMTP; 10 Oct 2020 02:28:30 -0700 Received: from shsmsx602.ccr.corp.intel.com (10.109.6.142) by fmsmsx604.amr.corp.intel.com (10.18.126.84) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Sat, 10 Oct 2020 02:28:27 -0700 Received: from shsmsx605.ccr.corp.intel.com (10.109.6.215) by SHSMSX602.ccr.corp.intel.com (10.109.6.142) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Sat, 10 Oct 2020 17:28:25 +0800 Received: from shsmsx605.ccr.corp.intel.com ([10.109.6.215]) by SHSMSX605.ccr.corp.intel.com ([10.109.6.215]) with mapi id 15.01.1713.004; Sat, 10 Oct 2020 17:28:24 +0800 From: "Jiang, YuX" To: Maxime Coquelin , "Zhang, Roy Fan" , "dev@dpdk.org" CC: "Xia, Chenbo" , "Liu, Changpeng" , "Yigit, Ferruh" , "stable@dpdk.org" , "Jiang, YuX" Thread-Topic: [dpdk-dev] [dpdk-dev v2 2/2] vhost/crypto: fix feature negotiation Thread-Index: AQHWm7gaEp9D33j03UKwgu9VdMto3KmJui6AgASl8YCAAjfGIA== Date: Sat, 10 Oct 2020 09:28:24 +0000 Message-ID: References: <20201002083615.45470-1-roy.fan.zhang@intel.com> <20201002153601.84097-1-roy.fan.zhang@intel.com> <20201002153601.84097-3-roy.fan.zhang@intel.com> <798b51fb-ec52-1f08-a0ee-4212680da8b0@redhat.com> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.239.127.36] Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 Subject: Re: [dpdk-stable] [dpdk-dev] [dpdk-dev v2 2/2] vhost/crypto: fix feature negotiation X-BeenThere: stable@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: patches for DPDK stable branches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: stable-bounces@dpdk.org Sender: "stable" VGVzdGVkLWJ5OiBKaWFuZywgWXVYIDx5dXguamlhbmdAaW50ZWwuY29tPg0KDQogICAgQmVzdCBS ZWdhcmRzDQogICAgSmlhbmcgeXUNCg0KPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBG cm9tOiBkZXYgW21haWx0bzpkZXYtYm91bmNlc0BkcGRrLm9yZ10gT24gQmVoYWxmIE9mIE1heGlt ZSBDb3F1ZWxpbg0KPiBTZW50OiBGcmlkYXksIE9jdG9iZXIgOSwgMjAyMCAzOjM2IFBNDQo+IFRv OiBaaGFuZywgUm95IEZhbiA8cm95LmZhbi56aGFuZ0BpbnRlbC5jb20+OyBkZXZAZHBkay5vcmcN Cj4gQ2M6IFhpYSwgQ2hlbmJvIDxjaGVuYm8ueGlhQGludGVsLmNvbT47IExpdSwgQ2hhbmdwZW5n DQo+IDxjaGFuZ3BlbmcubGl1QGludGVsLmNvbT47IFlpZ2l0LCBGZXJydWggPGZlcnJ1aC55aWdp dEBpbnRlbC5jb20+Ow0KPiBzdGFibGVAZHBkay5vcmcNCj4gU3ViamVjdDogUmU6IFtkcGRrLWRl dl0gW2RwZGstZGV2IHYyIDIvMl0gdmhvc3QvY3J5cHRvOiBmaXggZmVhdHVyZQ0KPiBuZWdvdGlh dGlvbg0KPiANCj4gDQo+IA0KPiBPbiAxMC82LzIwIDEwOjM3IEFNLCBaaGFuZywgUm95IEZhbiB3 cm90ZToNCj4gPiBIaSBNYXhpbWUsDQo+ID4NCj4gPiBUaGFua3MgSSB3aWxsIHZlcmlmeSBpdCBh ZnRlciB5b3UgYXBwbGllZCB0aGUgcGF0Y2guDQo+IA0KPiANCj4gVGhhbmtzLA0KPiBZb3VyIHBh dGNoIGlzIG5vdyBvbiBkcGRrLW5leHQtdmlydGlvL21haW4uDQo+IEkgd291bGQgYmUgZ2xhZCBp ZiB5b3UgY291bGQgdGVzdCBpdCBiZWZvcmUgRmVycnVoIG1lcmdlcyBpdC4NCj4gDQo+IFRoYW5r cywNCj4gTWF4aW1lDQo+ID4gUmVnYXJkcywNCj4gPiBGYW4NCj4gPg0KPiA+PiAtLS0tLU9yaWdp bmFsIE1lc3NhZ2UtLS0tLQ0KPiA+PiBGcm9tOiBNYXhpbWUgQ29xdWVsaW4gPG1heGltZS5jb3F1 ZWxpbkByZWRoYXQuY29tPg0KPiA+PiBTZW50OiBUdWVzZGF5LCBPY3RvYmVyIDYsIDIwMjAgOTox MCBBTQ0KPiA+PiBUbzogWmhhbmcsIFJveSBGYW4gPHJveS5mYW4uemhhbmdAaW50ZWwuY29tPjsg ZGV2QGRwZGsub3JnDQo+ID4+IENjOiBYaWEsIENoZW5ibyA8Y2hlbmJvLnhpYUBpbnRlbC5jb20+ OyBMaXUsIENoYW5ncGVuZw0KPiA+PiA8Y2hhbmdwZW5nLmxpdUBpbnRlbC5jb20+OyBZaWdpdCwg RmVycnVoIDxmZXJydWgueWlnaXRAaW50ZWwuY29tPjsNCj4gPj4gc3RhYmxlQGRwZGsub3JnDQo+ ID4+IFN1YmplY3Q6IFJlOiBbZHBkay1kZXYgdjIgMi8yXSB2aG9zdC9jcnlwdG86IGZpeCBmZWF0 dXJlIG5lZ290aWF0aW9uDQo+ID4+DQo+ID4+DQo+ID4+DQo+ID4+IE9uIDEwLzIvMjAgNTozNiBQ TSwgRmFuIFpoYW5nIHdyb3RlOg0KPiA+Pj4gVGhpcyBwYXRjaCBmaXhlcyB0aGUgZmVhdHVyZSBu ZWdvdGlhdGlvbiBmb3Igdmhvc3QgY3J5cHRvIGR1cmluZw0KPiA+Pj4gaW5pdGlhbGl6YXRpb24u IFRoZSBwYXRjaCB1c2VzIHRoZSBuZXdseSBjcmVhdGVkIGRyaXZlciBzdGFydA0KPiA+Pj4gZnVu Y3Rpb24gdG8gaW5mb3JtIHRoZSBkcml2ZXIgdHlwZSB3aXRoIHRoZSBmaXhlZCB2aG9zdCBmZWF0 dXJlcy4NCj4gPj4+IEluIGFkZHRpb24gdGhlIHBhdGNoIHByb3ZpZGVzIGEgbmV3IEFQSSBzcGVj aWZpY2FsbHkgdXNlZCBieSB0aGUNCj4gPj4+IGFwcGxpY2F0aW9uIHRvIHN0YXJ0IGEgdmhvc3Qt Y3J5cHRvIGRyaXZlci4NCj4gPj4+DQo+ID4+PiBGaXhlczogOTM5MDY2ZDk2NTYzICgidmhvc3Qv Y3J5cHRvOiBhZGQgcHVibGljIGZ1bmN0aW9uDQo+ID4+PiBpbXBsZW1lbnRhdGlvbiIpDQo+ID4+ PiBDYzogcm95LmZhbi56aGFuZ0BpbnRlbC5jb20NCj4gPj4+DQo+ID4+PiBTaWduZWQtb2ZmLWJ5 OiBGYW4gWmhhbmcgPHJveS5mYW4uemhhbmdAaW50ZWwuY29tPg0KPiA+Pj4gLS0tDQo+ID4+PiAg ZXhhbXBsZXMvdmhvc3RfY3J5cHRvL21haW4uYyAgICAgICAgICAgfCAgMyArLQ0KPiA+Pj4gIGxp Yi9saWJydGVfdmhvc3QvcnRlX3Zob3N0X2NyeXB0by5oICAgIHwgMTIgKysrKysrKysNCj4gPj4+ ICBsaWIvbGlicnRlX3Zob3N0L3J0ZV92aG9zdF92ZXJzaW9uLm1hcCB8ICAxICsNCj4gPj4+ICBs aWIvbGlicnRlX3Zob3N0L3Zob3N0X2NyeXB0by5jICAgICAgICB8IDQxICsrKysrKysrKysrKysr KysrLS0tLS0tLS0tDQo+ID4+PiAgNCBmaWxlcyBjaGFuZ2VkLCA0MiBpbnNlcnRpb25zKCspLCAx NSBkZWxldGlvbnMoLSkNCj4gPj4+DQo+ID4+PiBkaWZmIC0tZ2l0IGEvZXhhbXBsZXMvdmhvc3Rf Y3J5cHRvL21haW4uYw0KPiA+PiBiL2V4YW1wbGVzL3Zob3N0X2NyeXB0by9tYWluLmMNCj4gPj4+ IGluZGV4IGQ3OGZkOWI4MS4uMTFhZDQ5MTU5IDEwMDY0NA0KPiA+Pj4gLS0tIGEvZXhhbXBsZXMv dmhvc3RfY3J5cHRvL21haW4uYw0KPiA+Pj4gKysrIGIvZXhhbXBsZXMvdmhvc3RfY3J5cHRvL21h aW4uYw0KPiA+Pj4gQEAgLTU5OCw3ICs1OTgsOCBAQCBtYWluKGludCBhcmdjLCBjaGFyICphcmd2 W10pDQo+ID4+PiAgCQkJcnRlX3Zob3N0X2RyaXZlcl9jYWxsYmFja19yZWdpc3Rlcihsby0NCj4g Pj4+IHNvY2tldF9maWxlc1tqXSwNCj4gPj4+ICAJCQkJJnZpcnRpb19jcnlwdG9fZGV2aWNlX29w cyk7DQo+ID4+Pg0KPiA+Pj4gLQkJCXJldCA9IHJ0ZV92aG9zdF9kcml2ZXJfc3RhcnQobG8tPnNv Y2tldF9maWxlc1tqXSk7DQo+ID4+PiArCQkJcmV0ID0gcnRlX3Zob3N0X2NyeXB0b19kcml2ZXJf c3RhcnQoDQo+ID4+PiArCQkJCQlsby0+c29ja2V0X2ZpbGVzW2pdKTsNCj4gPj4+ICAJCQlpZiAo cmV0IDwgMCkgIHsNCj4gPj4+ICAJCQkJUlRFX0xPRyhFUlIsIFVTRVIxLCAiZmFpbGVkIHRvIHN0 YXJ0DQo+ID4+IHZob3N0LlxuIik7DQo+ID4+PiAgCQkJCWdvdG8gZXJyb3JfZXhpdDsNCj4gPj4+ IGRpZmYgLS1naXQgYS9saWIvbGlicnRlX3Zob3N0L3J0ZV92aG9zdF9jcnlwdG8uaA0KPiA+PiBi L2xpYi9saWJydGVfdmhvc3QvcnRlX3Zob3N0X2NyeXB0by5oDQo+ID4+PiBpbmRleCBiNTRkNjFk YjYuLmM4MDljNDZhMiAxMDA2NDQNCj4gPj4+IC0tLSBhL2xpYi9saWJydGVfdmhvc3QvcnRlX3Zo b3N0X2NyeXB0by5oDQo+ID4+PiArKysgYi9saWIvbGlicnRlX3Zob3N0L3J0ZV92aG9zdF9jcnlw dG8uaA0KPiA+Pj4gQEAgLTIwLDYgKzIwLDE4IEBAIGVudW0gcnRlX3Zob3N0X2NyeXB0b196ZXJv X2NvcHkgew0KPiA+Pj4gIAlSVEVfVkhPU1RfQ1JZUFRPX01BWF9aRVJPX0NPUFlfT1BUSU9OUw0K PiA+Pj4gIH07DQo+ID4+Pg0KPiA+Pj4gKy8qKg0KPiA+Pj4gKyAqIFN0YXJ0IHZob3N0IGNyeXB0 byBkcml2ZXINCj4gPj4+ICsgKg0KPiA+Pj4gKyAqIEBwYXJhbSBwYXRoDQo+ID4+PiArICogIFRo ZSB2aG9zdC11c2VyIHNvY2tldCBmaWxlIHBhdGgNCj4gPj4+ICsgKiBAcmV0dXJuDQo+ID4+PiAr ICogIDAgb24gc3VjY2VzcywgLTEgb24gZmFpbHVyZQ0KPiA+Pj4gKyAqLw0KPiA+Pj4gK19fcnRl X2V4cGVyaW1lbnRhbA0KPiA+Pj4gK2ludA0KPiA+Pj4gK3J0ZV92aG9zdF9jcnlwdG9fZHJpdmVy X3N0YXJ0KGNvbnN0IGNoYXIgKnBhdGgpOw0KPiA+Pj4gKw0KPiA+Pj4gIC8qKg0KPiA+Pj4gICAq ICBDcmVhdGUgVmhvc3QtY3J5cHRvIGluc3RhbmNlDQo+ID4+PiAgICoNCj4gPj4+IGRpZmYgLS1n aXQgYS9saWIvbGlicnRlX3Zob3N0L3J0ZV92aG9zdF92ZXJzaW9uLm1hcA0KPiA+PiBiL2xpYi9s aWJydGVfdmhvc3QvcnRlX3Zob3N0X3ZlcnNpb24ubWFwDQo+ID4+PiBpbmRleCA1NWU5OGU1NTcu LjkxODNkNmYyZiAxMDA2NDQNCj4gPj4+IC0tLSBhL2xpYi9saWJydGVfdmhvc3QvcnRlX3Zob3N0 X3ZlcnNpb24ubWFwDQo+ID4+PiArKysgYi9saWIvbGlicnRlX3Zob3N0L3J0ZV92aG9zdF92ZXJz aW9uLm1hcA0KPiA+Pj4gQEAgLTU1LDYgKzU1LDcgQEAgRVhQRVJJTUVOVEFMIHsNCj4gPj4+ICAJ cnRlX3Zob3N0X2RyaXZlcl9nZXRfcHJvdG9jb2xfZmVhdHVyZXM7DQo+ID4+PiAgCXJ0ZV92aG9z dF9kcml2ZXJfZ2V0X3F1ZXVlX251bTsNCj4gPj4+ICAJcnRlX3Zob3N0X2NyeXB0b19jcmVhdGU7 DQo+ID4+PiArCXJ0ZV92aG9zdF9jcnlwdG9fZHJpdmVyX3N0YXJ0Ow0KPiA+Pj4gIAlydGVfdmhv c3RfY3J5cHRvX2ZyZWU7DQo+ID4+PiAgCXJ0ZV92aG9zdF9jcnlwdG9fZmV0Y2hfcmVxdWVzdHM7 DQo+ID4+PiAgCXJ0ZV92aG9zdF9jcnlwdG9fZmluYWxpemVfcmVxdWVzdHM7DQo+ID4+PiBkaWZm IC0tZ2l0IGEvbGliL2xpYnJ0ZV92aG9zdC92aG9zdF9jcnlwdG8uYw0KPiA+PiBiL2xpYi9saWJy dGVfdmhvc3Qvdmhvc3RfY3J5cHRvLmMNCj4gPj4+IGluZGV4IGUwOGY5YzZkNy4uNjE5NTk1OGQy IDEwMDY0NA0KPiA+Pj4gLS0tIGEvbGliL2xpYnJ0ZV92aG9zdC92aG9zdF9jcnlwdG8uYw0KPiA+ Pj4gKysrIGIvbGliL2xpYnJ0ZV92aG9zdC92aG9zdF9jcnlwdG8uYw0KPiA+Pj4gQEAgLTM1LDEz ICszNSwxMiBAQA0KPiA+Pj4gICNkZWZpbmUgVkNfTE9HX0RCRyhmbXQsIGFyZ3MuLi4pDQo+ID4+ PiAgI2VuZGlmDQo+ID4+Pg0KPiA+Pj4gLSNkZWZpbmUgVklSVElPX0NSWVBUT19GRUFUVVJFUyAo KDEgPDwNCj4gVklSVElPX0ZfTk9USUZZX09OX0VNUFRZKQ0KPiA+PiB8CVwNCj4gPj4+IC0JCSgx IDw8IFZJUlRJT19SSU5HX0ZfSU5ESVJFQ1RfREVTQykgfA0KPiA+PiAJXA0KPiA+Pj4gLQkJKDEg PDwgVklSVElPX1JJTkdfRl9FVkVOVF9JRFgpIHwJCQlcDQo+ID4+PiAtCQkoMSA8PCBWSVJUSU9f Q1JZUFRPX1NFUlZJQ0VfQ0lQSEVSKSB8DQo+ID4+IAlcDQo+ID4+PiAtCQkoMSA8PCBWSVJUSU9f Q1JZUFRPX1NFUlZJQ0VfTUFDKSB8DQo+ID4+IAlcDQo+ID4+PiAtCQkoMSA8PCBWSVJUSU9fTkVU X0ZfQ1RSTF9WUSkgfA0KPiA+PiAJXA0KPiA+Pj4gLQkJKDEgPDwgVkhPU1RfVVNFUl9QUk9UT0NP TF9GX0NPTkZJRykpDQo+ID4+PiArI2RlZmluZSBWSVJUSU9fQ1JZUFRPX0ZFQVRVUkVTICgoMVVM TCA8PA0KPiA+PiBWSVJUSU9fRl9OT1RJRllfT05fRU1QVFkpIHwJXA0KPiA+Pj4gKwkJKDFVTEwg PDwgVklSVElPX1JJTkdfRl9JTkRJUkVDVF9ERVNDKSB8DQo+ID4+IAlcDQo+ID4+PiArCQkoMVVM TCA8PCBWSVJUSU9fUklOR19GX0VWRU5UX0lEWCkgfA0KPiA+PiAJXA0KPiA+Pj4gKwkJKDFVTEwg PDwgVklSVElPX05FVF9GX0NUUkxfVlEpIHwJCQlcDQo+ID4+PiArCQkoMVVMTCA8PCBWSVJUSU9f Rl9WRVJTSU9OXzEpIHwNCj4gPj4gCVwNCj4gPj4+ICsJCSgxVUxMIDw8IFZIT1NUX1VTRVJfRl9Q Uk9UT0NPTF9GRUFUVVJFUykpDQo+ID4+Pg0KPiA+Pj4gICNkZWZpbmUgSU9WQV9UT19WVkEodCwg ciwgYSwgbCwgcCkNCj4gCVwNCj4gPj4+ICAJKCh0KSh1aW50cHRyX3Qpdmhvc3RfaW92YV90b192 dmEoci0+ZGV2LCByLT52cSwgYSwgbCwgcCkpIEBADQo+ID4+PiAtMTQwMCw2ICsxMzk5LDI3IEBA DQo+ID4+IHZob3N0X2NyeXB0b19jb21wbGV0ZV9vbmVfdm1fcmVxdWVzdHMoc3RydWN0IHJ0ZV9j cnlwdG9fb3AgKipvcHMsDQo+ID4+PiAgCXJldHVybiBwcm9jZXNzZWQ7DQo+ID4+PiAgfQ0KPiA+ Pj4NCj4gPj4+ICtpbnQNCj4gPj4+ICtydGVfdmhvc3RfY3J5cHRvX2RyaXZlcl9zdGFydChjb25z dCBjaGFyICpwYXRoKSB7DQo+ID4+PiArCXVpbnQ2NF90IHByb3RvY29sX2ZlYXR1cmVzOw0KPiA+ Pj4gKwlpbnQgcmV0Ow0KPiA+Pj4gKw0KPiA+Pj4gKwlyZXQgPSBydGVfdmhvc3RfZHJpdmVyX3Nl dF9mZWF0dXJlcyhwYXRoLA0KPiA+PiBWSVJUSU9fQ1JZUFRPX0ZFQVRVUkVTKTsNCj4gPj4+ICsJ aWYgKHJldCkNCj4gPj4+ICsJCXJldHVybiAtMTsNCj4gPj4NCj4gPj4gQXMgcnRlX3Zob3N0X2Ry aXZlcl9zZXRfZmVhdHVyZXMgaXMgbm93IGNhbGxlZCBvbiB0aW1lLA0KPiA+PiB1c2VfYnVpbHRp bl92aXJ0aW9fbmV0IGlzIHNldCB0byBmYWxzZSBiZWZvcmUgdGhlIGNvbm5lY3Rpb24gaXMNCj4g Pj4gZXN0YWJsaXNoZWQuDQo+ID4+DQo+ID4+IFNvIGl0IHNob3VsZCBiZSBlbm91Z2guDQo+ID4+ DQo+ID4+PiArCXJldCA9IHJ0ZV92aG9zdF9kcml2ZXJfZ2V0X3Byb3RvY29sX2ZlYXR1cmVzKHBh dGgsDQo+ID4+ICZwcm90b2NvbF9mZWF0dXJlcyk7DQo+ID4+PiArCWlmIChyZXQpDQo+ID4+PiAr CQlyZXR1cm4gLTE7DQo+ID4+PiArCXByb3RvY29sX2ZlYXR1cmVzIHw9ICgxVUxMIDw8IFZIT1NU X1VTRVJfUFJPVE9DT0xfRl9DT05GSUcpOw0KPiA+Pj4gKwlyZXQgPSBydGVfdmhvc3RfZHJpdmVy X3NldF9wcm90b2NvbF9mZWF0dXJlcyhwYXRoLA0KPiA+PiBwcm90b2NvbF9mZWF0dXJlcyk7DQo+ ID4+PiArCWlmIChyZXQpDQo+ID4+PiArCQlyZXR1cm4gLTE7DQo+ID4+PiArDQo+ID4+PiArCXJl dHVybiB2aG9zdF9kcml2ZXJfc3RhcnQocGF0aCwgVklSVElPX0RFVl9CVUlMVElOX0NSWVBUTyk7 DQo+ID4+DQo+ID4+IFdlIGp1c3QgaGF2ZSB0byByZW1vdmUgdGhlIGV4dHJhIHBhcmFtLg0KPiA+ Pg0KPiA+PiBJIHdpbGwgdG8gdGhlIGNoYW5nZSBhbmQgYXBwbHkgaXQgdG9kYXkgc28gdGhhdCB5 b3UgY2FuIHRlc3QuDQo+ID4+DQo+ID4+IFRoYW5rcywNCj4gPj4gTWF4aW1lDQo+ID4+DQo+ID4+ PiArfQ0KPiA+Pj4gKw0KPiA+Pj4gIGludA0KPiA+Pj4gIHJ0ZV92aG9zdF9jcnlwdG9fY3JlYXRl KGludCB2aWQsIHVpbnQ4X3QgY3J5cHRvZGV2X2lkLA0KPiA+Pj4gIAkJc3RydWN0IHJ0ZV9tZW1w b29sICpzZXNzX3Bvb2wsDQo+ID4+PiBAQCAtMTQxNywxMyArMTQzNyw2IEBAIHJ0ZV92aG9zdF9j cnlwdG9fY3JlYXRlKGludCB2aWQsIHVpbnQ4X3QNCj4gPj4gY3J5cHRvZGV2X2lkLA0KPiA+Pj4g IAkJcmV0dXJuIC1FSU5WQUw7DQo+ID4+PiAgCX0NCj4gPj4+DQo+ID4+PiAtCXJldCA9IHJ0ZV92 aG9zdF9kcml2ZXJfc2V0X2ZlYXR1cmVzKGRldi0+aWZuYW1lLA0KPiA+Pj4gLQkJCVZJUlRJT19D UllQVE9fRkVBVFVSRVMpOw0KPiA+Pj4gLQlpZiAocmV0IDwgMCkgew0KPiA+Pj4gLQkJVkNfTE9H X0VSUigiRXJyb3Igc2V0dGluZyBmZWF0dXJlcyIpOw0KPiA+Pj4gLQkJcmV0dXJuIC0xOw0KPiA+ Pj4gLQl9DQo+ID4+PiAtDQo+ID4+PiAgCXZjcnlwdG8gPSBydGVfem1hbGxvY19zb2NrZXQoTlVM TCwgc2l6ZW9mKCp2Y3J5cHRvKSwNCj4gPj4+ICAJCQlSVEVfQ0FDSEVfTElORV9TSVpFLCBzb2Nr ZXRfaWQpOw0KPiA+Pj4gIAlpZiAoIXZjcnlwdG8pIHsNCj4gPj4+DQo+ID4NCg0K