From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 46CBDA0C4A; Fri, 16 Jul 2021 08:18:45 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id EC18F4014D; Fri, 16 Jul 2021 08:18:44 +0200 (CEST) Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by mails.dpdk.org (Postfix) with ESMTP id 49BF340143 for ; Fri, 16 Jul 2021 08:18:42 +0200 (CEST) X-IronPort-AV: E=McAfee;i="6200,9189,10046"; a="207657398" X-IronPort-AV: E=Sophos;i="5.84,244,1620716400"; d="scan'208";a="207657398" Received: from orsmga005.jf.intel.com ([10.7.209.41]) by fmsmga102.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 15 Jul 2021 23:18:39 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.84,244,1620716400"; d="scan'208";a="630980245" Received: from fmsmsx602.amr.corp.intel.com ([10.18.126.82]) by orsmga005.jf.intel.com with ESMTP; 15 Jul 2021 23:18:32 -0700 Received: from shsmsx603.ccr.corp.intel.com (10.109.6.143) by fmsmsx602.amr.corp.intel.com (10.18.126.82) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.10; Thu, 15 Jul 2021 23:18:31 -0700 Received: from shsmsx606.ccr.corp.intel.com (10.109.6.216) by SHSMSX603.ccr.corp.intel.com (10.109.6.143) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.10; Fri, 16 Jul 2021 14:18:29 +0800 Received: from shsmsx606.ccr.corp.intel.com ([10.109.6.216]) by SHSMSX606.ccr.corp.intel.com ([10.109.6.216]) with mapi id 15.01.2242.010; Fri, 16 Jul 2021 14:18:29 +0800 From: "Hu, Jiayu" To: "Xia, Chenbo" , "dev@dpdk.org" CC: "maxime.coquelin@redhat.com" Thread-Topic: [PATCH v4 2/3] vhost: rework async configuration struct Thread-Index: AQHXd4ULx84n11+4tUioYYE5y7Tj2KtEm2IAgACHtMA= Date: Fri, 16 Jul 2021 06:18:29 +0000 Message-ID: References: <1625823790-91995-2-git-send-email-jiayu.hu@intel.com> <1626162383-89674-1-git-send-email-jiayu.hu@intel.com> <1626162383-89674-3-git-send-email-jiayu.hu@intel.com> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-reaction: no-action dlp-version: 11.5.1.3 dlp-product: dlpe-windows 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-dev] [PATCH v4 2/3] vhost: rework async configuration struct X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" VGhhbmtzIENoZW5ibyBmb3IgeW91ciBjb21tZW50cy4NCg0KUmVwbGllcyBhcmUgaW5saW5lLg0K DQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IFhpYSwgQ2hlbmJvIDxjaGVu Ym8ueGlhQGludGVsLmNvbT4NCj4gU2VudDogRnJpZGF5LCBKdWx5IDE2LCAyMDIxIDI6MDMgUE0N Cj4gVG86IEh1LCBKaWF5dSA8amlheXUuaHVAaW50ZWwuY29tPjsgZGV2QGRwZGsub3JnDQo+IENj OiBtYXhpbWUuY29xdWVsaW5AcmVkaGF0LmNvbQ0KPiBTdWJqZWN0OiBSRTogW1BBVENIIHY0IDIv M10gdmhvc3Q6IHJld29yayBhc3luYyBjb25maWd1cmF0aW9uIHN0cnVjdA0KPiANCj4gSGkgSmlh eXUsDQo+IA0KPiA+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+ID4gRnJvbTogSHUsIEpp YXl1IDxqaWF5dS5odUBpbnRlbC5jb20+DQo+ID4gU2VudDogVHVlc2RheSwgSnVseSAxMywgMjAy MSAzOjQ2IFBNDQo+ID4gVG86IGRldkBkcGRrLm9yZw0KPiA+IENjOiBtYXhpbWUuY29xdWVsaW5A cmVkaGF0LmNvbTsgWGlhLCBDaGVuYm8gPGNoZW5iby54aWFAaW50ZWwuY29tPjsNCj4gPiBIdSwg SmlheXUgPGppYXl1Lmh1QGludGVsLmNvbT4NCj4gPiBTdWJqZWN0OiBbUEFUQ0ggdjQgMi8zXSB2 aG9zdDogcmV3b3JrIGFzeW5jIGNvbmZpZ3VyYXRpb24gc3RydWN0DQo+IA0KPiBTdHJ1Y3QgLT4g c3RydWN0dXJlDQo+IA0KPiA+DQo+ID4gVGhpcyBwYXRjaCByZXdvcmtzIHRoZSBhc3luYyBjb25m aWd1cmF0aW9uIHN0cnVjdHVyZSB0byBpbXByb3ZlIGNvZGUNCj4gPiByZWFkYWJpbGl0eS4gSW4g YWRkaXRpb24sIGFkZCBwcmVzZXJ2ZWQgcGFkZGluZyBmaWVsZHMgb24gdGhlDQo+ID4gc3RydWN0 dXJlIGZvciBmdXR1cmUgdXNhZ2UuDQo+ID4NCj4gPiBTaWduZWQtb2ZmLWJ5OiBKaWF5dSBIdSA8 amlheXUuaHVAaW50ZWwuY29tPg0KPiA+IC0tLQ0KPiA+ICBkb2MvZ3VpZGVzL3Byb2dfZ3VpZGUv dmhvc3RfbGliLnJzdCB8IDE5ICsrKysrKysrKysrLS0tLS0tLS0NCj4gPiAgZXhhbXBsZXMvdmhv c3QvbWFpbi5jICAgICAgICAgICAgICAgfCAgOCArKysrLS0tLQ0KPiA+ICBsaWIvdmhvc3QvcnRl X3Zob3N0X2FzeW5jLmggICAgICAgICB8IDM1ICsrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0t LS0tLS0tDQo+ID4gIGxpYi92aG9zdC92aG9zdC5jICAgICAgICAgICAgICAgICAgIHwgMTMgKysr KystLS0tLS0tLQ0KPiA+ICA0IGZpbGVzIGNoYW5nZWQsIDM3IGluc2VydGlvbnMoKyksIDM4IGRl bGV0aW9ucygtKQ0KPiA+DQo+ID4gZGlmZiAtLWdpdCBhL2RvYy9ndWlkZXMvcHJvZ19ndWlkZS92 aG9zdF9saWIucnN0DQo+ID4gYi9kb2MvZ3VpZGVzL3Byb2dfZ3VpZGUvdmhvc3RfbGliLnJzdA0K PiA+IGluZGV4IGQxOGZiOTguLmFmZmRjNTcgMTAwNjQ0DQo+ID4gLS0tIGEvZG9jL2d1aWRlcy9w cm9nX2d1aWRlL3Zob3N0X2xpYi5yc3QNCj4gPiArKysgYi9kb2MvZ3VpZGVzL3Byb2dfZ3VpZGUv dmhvc3RfbGliLnJzdA0KPiA+IEBAIC0yMTgsMjYgKzIxOCwyOSBAQCBUaGUgZm9sbG93aW5nIGlz IGFuIG92ZXJ2aWV3IG9mIHNvbWUga2V5IFZob3N0DQo+ID4gQVBJDQo+ID4gZnVuY3Rpb25zOg0K PiA+DQo+ID4gICAgRW5hYmxlIG9yIGRpc2FibGUgemVybyBjb3B5IGZlYXR1cmUgb2YgdGhlIHZo b3N0IGNyeXB0byBiYWNrZW5kLg0KPiA+DQo+ID4gLSogYGBydGVfdmhvc3RfYXN5bmNfY2hhbm5l bF9yZWdpc3Rlcih2aWQsIHF1ZXVlX2lkLCBmZWF0dXJlcywgb3BzKWBgDQo+ID4gKyogYGBydGVf dmhvc3RfYXN5bmNfY2hhbm5lbF9yZWdpc3Rlcih2aWQsIHF1ZXVlX2lkLCBjb25maWcsIG9wcylg YA0KPiA+DQo+ID4gICAgUmVnaXN0ZXIgYSB2aG9zdCBxdWV1ZSB3aXRoIGFzeW5jIGNvcHkgZGV2 aWNlIGNoYW5uZWwgYWZ0ZXIgdnJpbmcNCj4gDQo+IE5vdCByZWxhdGVkIHRvIHRoaXMgcGF0Y2gu IEJ1dCBtYXliZSAnUmVnaXN0ZXIgYW4gYXN5bmMgY29weSBkZXZpY2UgY2hhbm5lbA0KPiBmb3Ig YSB2aG9zdCBxdWV1ZScgaXMgYmV0dGVyPw0KPiANCj4gPiAtICBpcyBlbmFibGVkLiBGb2xsb3dp bmcgZGV2aWNlIGBgZmVhdHVyZXNgYCBtdXN0IGJlIHNwZWNpZmllZA0KPiA+IHRvZ2V0aGVyDQo+ ID4gKyAgaXMgZW5hYmxlZC4gRm9sbG93aW5nIGRldmljZSBgYGNvbmZpZ2BgIG11c3QgYmUgc3Bl Y2lmaWVkIHRvZ2V0aGVyDQo+ID4gICAgd2l0aCB0aGUgcmVnaXN0cmF0aW9uOg0KPiA+DQo+ID4g LSAgKiBgYGFzeW5jX2lub3JkZXJgYA0KPiA+ICsgICogYGBmZWF0dXJlc2BgDQo+ID4NCj4gPiAt ICAgIEFzeW5jIGNvcHkgZGV2aWNlIGNhbiBndWFyYW50ZWUgdGhlIG9yZGVyaW5nIG9mIGNvcHkg Y29tcGxldGlvbg0KPiA+IC0gICAgc2VxdWVuY2UuIENvcGllcyBhcmUgY29tcGxldGVkIGluIHRo ZSBzYW1lIG9yZGVyIHdpdGggdGhhdCBhdA0KPiA+IC0gICAgdGhlIHN1Ym1pc3Npb24gdGltZS4N Cj4gPiArICAgIFRoaXMgZmllbGQgaXMgdXNlZCB0byBzcGVjaWZ5IGFzeW5jIGNvcHkgZGV2aWNl IGZlYXR1cmVzLg0KPiA+DQo+ID4gLSAgICBDdXJyZW50bHksIG9ubHkgYGBhc3luY19pbm9yZGVy YGAgY2FwYWJsZSBkZXZpY2UgaXMgc3VwcG9ydGVkIGJ5IHZob3N0Lg0KPiA+ICsgICAgYGBSVEVf VkhPU1RfQVNZTkNfSU5PUkRFUmBgIHJlcHJlc2VudHMgdGhlIGFzeW5jIGNvcHkgZGV2aWNlIGNh bg0KPiA+ICsgICAgZ3VhcmFudGVlIHRoZSBvcmRlciBvZiBjb3B5IGNvbXBsZXRpb24gaXMgdGhl IHNhbWUgYXMgdGhlIG9yZGVyDQo+ID4gKyAgICBvZiBjb3B5IHN1Ym1pc3Npb24uDQo+ID4gKw0K PiA+ICsgICAgQ3VycmVudGx5LCBvbmx5IGBgUlRFX1ZIT1NUX0FTWU5DX0lOT1JERVJgYCBjYXBh YmxlIGRldmljZSBpcw0KPiA+ICsgICAgc3VwcG9ydGVkIGJ5IHZob3N0Lg0KPiA+DQo+ID4gICAg KiBgYGFzeW5jX3RocmVzaG9sZGBgDQo+ID4NCj4gPiAgICAgIFRoZSBjb3B5IGxlbmd0aCAoaW4g Ynl0ZXMpIGJlbG93IHdoaWNoIENQVSBjb3B5IHdpbGwgYmUgdXNlZCBldmVuIGlmDQo+ID4gICAg ICBhcHBsaWNhdGlvbnMgY2FsbCBhc3luYyB2aG9zdCBBUElzIHRvIGVucXVldWUvZGVxdWV1ZSBk YXRhLg0KPiA+DQo+ID4gLSAgICBUeXBpY2FsIHZhbHVlIGlzIDUxMn4xMDI0IGRlcGVuZGluZyBv biB0aGUgYXN5bmMgZGV2aWNlIGNhcGFiaWxpdHkuDQo+ID4gKyAgICBUeXBpY2FsIHZhbHVlIGlz IDI1Nn4xMDI0IGRlcGVuZGluZyBvbiB0aGUgYXN5bmMgZGV2aWNlIGNhcGFiaWxpdHkuDQo+ID4N Cj4gPiAgICBBcHBsaWNhdGlvbnMgbXVzdCBwcm92aWRlIGZvbGxvd2luZyBgYG9wc2BgIGNhbGxi YWNrcyBmb3Igdmhvc3QgbGliIHRvDQo+ID4gICAgd29yayB3aXRoIHRoZSBhc3luYyBjb3B5IGRl dmljZXM6DQo+ID4gZGlmZiAtLWdpdCBhL2V4YW1wbGVzL3Zob3N0L21haW4uYyBiL2V4YW1wbGVz L3Zob3N0L21haW4uYyBpbmRleA0KPiA+IGQyMTc5ZWEuLjljZDg1NWEgMTAwNjQ0DQo+ID4gLS0t IGEvZXhhbXBsZXMvdmhvc3QvbWFpbi5jDQo+ID4gKysrIGIvZXhhbXBsZXMvdmhvc3QvbWFpbi5j DQo+ID4gQEAgLTE0NjgsNyArMTQ2OCw3IEBAIG5ld19kZXZpY2UoaW50IHZpZCkNCj4gPiAgCQl2 aWQsIHZkZXYtPmNvcmVpZCk7DQo+ID4NCj4gPiAgCWlmIChhc3luY192aG9zdF9kcml2ZXIpIHsN Cj4gPiAtCQlzdHJ1Y3QgcnRlX3Zob3N0X2FzeW5jX2ZlYXR1cmVzIGY7DQo+ID4gKwkJc3RydWN0 IHJ0ZV92aG9zdF9hc3luY19jb25maWcgY29uZmlnID0gezB9Ow0KPiA+ICAJCXN0cnVjdCBydGVf dmhvc3RfYXN5bmNfY2hhbm5lbF9vcHMgY2hhbm5lbF9vcHM7DQo+ID4NCj4gPiAgCQlpZiAoZG1h X3R5cGUgIT0gTlVMTCAmJiBzdHJuY21wKGRtYV90eXBlLCAiaW9hdCIsIDQpID09IDApDQo+IHsg QEANCj4gPiAtMTQ3NiwxMSArMTQ3NiwxMSBAQCBuZXdfZGV2aWNlKGludCB2aWQpDQo+ID4gIAkJ CWNoYW5uZWxfb3BzLmNoZWNrX2NvbXBsZXRlZF9jb3BpZXMgPQ0KPiA+ICAJCQkJaW9hdF9jaGVj a19jb21wbGV0ZWRfY29waWVzX2NiOw0KPiA+DQo+ID4gLQkJCWYuYXN5bmNfaW5vcmRlciA9IDE7 DQo+ID4gLQkJCWYuYXN5bmNfdGhyZXNob2xkID0gMjU2Ow0KPiA+ICsJCQljb25maWcuZmVhdHVy ZXMgPSBSVEVfVkhPU1RfQVNZTkNfSU5PUkRFUjsNCj4gPiArCQkJY29uZmlnLmFzeW5jX3RocmVz aG9sZCA9IDI1NjsNCj4gDQo+IFRoaXMgaXMgb2sgYXMgZm9yIG5vdyB3ZSBhcmUgdXNpbmcgaW9h dCBBUEkuIEJ1dCBJIGd1ZXNzIHRoZXJlIHNob3VsZCBiZSBhDQo+IG1vcmUgdXNlci1mcmllbmRs eSB3YXkgdG8ga25vdyB0aGUgdmFsdWUuIEkgbWVhbiwgbm8gdXNlcnMgd2FudCB0byBkbw0KPiBj b21wbGljYXRlZCB0ZXN0cyBmb3IgaGlzIHBsYXRmb3JtIHRvIGtub3cgdGhlIHZhbHVlLiBNYXli ZSB0aGVyZSBjb3VsZCBiZQ0KPiBzb21lIGF1dG8tdGVzdCBpbiBzcGVjaWZpYyBkcml2ZXIgdG8g c2hvdyB0aGUgdmFsdWUgdG8gdXNlcj8NCg0KSXQncyBoYXJkIGluIGEgd2F5LCBhcyBpdCdzIG5v dCBvbmx5IHJlbGF0ZWQgdG8gcGxhdGZvcm0sIGJ1dCBhbHNvIGFwcGxpY2F0aW9uIGxvZ2ljcy4N ClNvIEkgdGhpbmsgYmV0dGVyIHRvIGtlZXAgaXQgYXMgYW4gaW5wdXQgZnJvbSB1c2VycywgYmVm b3JlIHdlIGhhdmUgYSBnb29kIGlkZWEg8J+Yig0KDQo+IA0KPiBJdCdzIG9mZi10b3BpYyBmb3Ig dGhpcyBwYXRjaC4gQnV0IHRoaW5raW5nIGFib3V0IGl0IHNob3VsZCBiZSBnb29kLg0KPiANCj4g Pg0KPiA+ICAJCQlyZXR1cm4gcnRlX3Zob3N0X2FzeW5jX2NoYW5uZWxfcmVnaXN0ZXIodmlkLA0K PiBWSVJUSU9fUlhRLA0KPiA+IC0JCQkJZi5pbnR2YWwsICZjaGFubmVsX29wcyk7DQo+ID4gKwkJ CQljb25maWcsICZjaGFubmVsX29wcyk7DQo+ID4gIAkJfQ0KPiA+ICAJfQ0KPiA+DQo+ID4gZGlm ZiAtLWdpdCBhL2xpYi92aG9zdC9ydGVfdmhvc3RfYXN5bmMuaCBiL2xpYi92aG9zdC9ydGVfdmhv c3RfYXN5bmMuaA0KPiA+IGluZGV4IDZmYWEzMWYuLmM5MzQ5MGQgMTAwNjQ0DQo+ID4gLS0tIGEv bGliL3Zob3N0L3J0ZV92aG9zdF9hc3luYy5oDQo+ID4gKysrIGIvbGliL3Zob3N0L3J0ZV92aG9z dF9hc3luYy5oDQo+ID4gQEAgLTkzLDE4ICs5MywyMCBAQCBzdHJ1Y3QgYXN5bmNfaW5mbGlnaHRf aW5mbyB7ICB9Ow0KPiA+DQo+ID4gIC8qKg0KPiA+IC0gKiAgZG1hIGNoYW5uZWwgZmVhdHVyZSBi aXQgZGVmaW5pdGlvbg0KPiA+ICsgKiAgZG1hIGNoYW5uZWwgZmVhdHVyZXMNCj4gDQo+IExldCdz IHVzZSAnYXN5bmMgY2hhbm5lbCcgd2hpY2ggaXMgYWxzbyB0aGUgbmFtZSBmb3IgQVBJLg0KPiBJ dCdzIGFsd2F5cyBnb29kIHRvIHVzZSBvbmUgdGVybSBmb3Igb25lIHRoaW5nLg0KDQpTdXJlLCBJ IHdpbGwgZml4IHRoYXQuDQoNCj4gDQo+ID4gICAqLw0KPiA+IC1zdHJ1Y3QgcnRlX3Zob3N0X2Fz eW5jX2ZlYXR1cmVzIHsNCj4gPiAtCXVuaW9uIHsNCj4gPiAtCQl1aW50MzJfdCBpbnR2YWw7DQo+ ID4gLQkJc3RydWN0IHsNCj4gPiAtCQkJdWludDMyX3QgYXN5bmNfaW5vcmRlcjoxOw0KPiA+IC0J CQl1aW50MzJfdCByZXN2ZF8wOjE1Ow0KPiA+IC0JCQl1aW50MzJfdCBhc3luY190aHJlc2hvbGQ6 MTI7DQo+ID4gLQkJCXVpbnQzMl90IHJlc3ZkXzE6NDsNCj4gPiAtCQl9Ow0KPiA+IC0JfTsNCj4g PiArZW51bSB7DQo+ID4gKwlSVEVfVkhPU1RfQVNZTkNfRkVBVFVSRV9VTktOT1dOID0gMFUsDQo+ ID4gKwlSVEVfVkhPU1RfQVNZTkNfSU5PUkRFUiA9IDFVIDw8IDAsDQo+ID4gK307DQo+ID4gKw0K PiA+ICsvKioNCj4gPiArICogIGRtYSBjaGFubmVsIGNvbmZpZ3VyYXRpb24NCj4gDQo+IERpdHRv DQo+IA0KPiA+ICsgKi8NCj4gPiArc3RydWN0IHJ0ZV92aG9zdF9hc3luY19jb25maWcgew0KPiA+ ICsJdWludDMyX3QgYXN5bmNfdGhyZXNob2xkOw0KPiA+ICsJdWludDMyX3QgZmVhdHVyZXM7DQo+ ID4gKwl1aW50MzJfdCByZXN2ZFsyXTsNCj4gDQo+IEdlbmVyYWxseSB3ZSB1c2UgJ3JzdmQnIGZv ciB0aGUgd29yZCAncmVzZXJ2ZWQnLg0KPiANCj4gPiAgfTsNCj4gPg0KPiA+ICAvKioNCj4gPiBA QCAtMTE0LDEyICsxMTYsOCBAQCBzdHJ1Y3QgcnRlX3Zob3N0X2FzeW5jX2ZlYXR1cmVzIHsNCj4g PiAgICogIHZob3N0IGRldmljZSBpZCBhc3luYyBjaGFubmVsIHRvIGJlIGF0dGFjaGVkIHRvDQo+ ID4gICAqIEBwYXJhbSBxdWV1ZV9pZA0KPiA+ICAgKiAgdmhvc3QgcXVldWUgaWQgYXN5bmMgY2hh bm5lbCB0byBiZSBhdHRhY2hlZCB0bw0KPiA+IC0gKiBAcGFyYW0gZmVhdHVyZXMNCj4gPiAtICog IERNQSBjaGFubmVsIGZlYXR1cmUgYml0DQo+ID4gLSAqICAgIGIwICAgICAgIDogRE1BIHN1cHBv cnRzIGlub3JkZXIgZGF0YSB0cmFuc2Zlcg0KPiA+IC0gKiAgICBiMSAgLSBiMTU6IHJlc2VydmVk DQo+ID4gLSAqICAgIGIxNiAtIGIyNzogUGFja2V0IGxlbmd0aCB0aHJlc2hvbGQgZm9yIERNQSB0 cmFuc2Zlcg0KPiA+IC0gKiAgICBiMjggLSBiMzE6IHJlc2VydmVkDQo+ID4gKyAqIEBwYXJhbSBj b25maWcNCj4gPiArICogIERNQSBjaGFubmVsIGNvbmZpZ3VyYXRpb24gc3RydWN0dXJlDQo+IA0K PiBETUEgLT4gYXN5bmMNCj4gDQo+ID4gICAqIEBwYXJhbSBvcHMNCj4gPiAgICogIERNQSBvcGVy YXRpb24gY2FsbGJhY2tzDQo+ID4gICAqIEByZXR1cm4NCj4gPiBAQCAtMTI3LDcgKzEyNSw4IEBA IHN0cnVjdCBydGVfdmhvc3RfYXN5bmNfZmVhdHVyZXMgew0KPiA+ICAgKi8NCj4gPiAgX19ydGVf ZXhwZXJpbWVudGFsDQo+ID4gIGludCBydGVfdmhvc3RfYXN5bmNfY2hhbm5lbF9yZWdpc3Rlcihp bnQgdmlkLCB1aW50MTZfdCBxdWV1ZV9pZCwNCj4gPiAtCXVpbnQzMl90IGZlYXR1cmVzLCBzdHJ1 Y3QgcnRlX3Zob3N0X2FzeW5jX2NoYW5uZWxfb3BzICpvcHMpOw0KPiA+ICsJc3RydWN0IHJ0ZV92 aG9zdF9hc3luY19jb25maWcgY29uZmlnLA0KPiA+ICsJc3RydWN0IHJ0ZV92aG9zdF9hc3luY19j aGFubmVsX29wcyAqb3BzKTsNCj4gPg0KPiA+ICAvKioNCj4gPiAgICogdW5yZWdpc3RlciBhIGRt YSBjaGFubmVsIGZvciB2aG9zdCBkaWZmIC0tZ2l0IGEvbGliL3Zob3N0L3Zob3N0LmMNCj4gPiBi L2xpYi92aG9zdC92aG9zdC5jIGluZGV4IDUzYTQ3MGYuLmEyMGYwNWEgMTAwNjQ0DQo+ID4gLS0t IGEvbGliL3Zob3N0L3Zob3N0LmMNCj4gPiArKysgYi9saWIvdmhvc3Qvdmhvc3QuYw0KPiA+IEBA IC0xNjIwLDE4ICsxNjIwLDE1IEBAIGludCBydGVfdmhvc3RfZXh0ZXJuX2NhbGxiYWNrX3JlZ2lz dGVyKGludA0KPiA+IHZpZCwgIH0NCj4gPg0KPiA+ICBpbnQgcnRlX3Zob3N0X2FzeW5jX2NoYW5u ZWxfcmVnaXN0ZXIoaW50IHZpZCwgdWludDE2X3QgcXVldWVfaWQsDQo+ID4gLQkJCQkJdWludDMy X3QgZmVhdHVyZXMsDQo+ID4gLQkJCQkJc3RydWN0IHJ0ZV92aG9zdF9hc3luY19jaGFubmVsX29w cw0KPiAqb3BzKQ0KPiA+ICsJCXN0cnVjdCBydGVfdmhvc3RfYXN5bmNfY29uZmlnIGNvbmZpZywN Cj4gPiArCQlzdHJ1Y3QgcnRlX3Zob3N0X2FzeW5jX2NoYW5uZWxfb3BzICpvcHMpDQo+ID4gIHsN Cj4gPiAgCXN0cnVjdCB2aG9zdF92aXJ0cXVldWUgKnZxOw0KPiA+ICAJc3RydWN0IHZpcnRpb19u ZXQgKmRldiA9IGdldF9kZXZpY2UodmlkKTsNCj4gPiAtCXN0cnVjdCBydGVfdmhvc3RfYXN5bmNf ZmVhdHVyZXMgZjsNCj4gPg0KPiA+ICAJaWYgKGRldiA9PSBOVUxMIHx8IG9wcyA9PSBOVUxMKQ0K PiA+ICAJCXJldHVybiAtMTsNCj4gPg0KPiA+IC0JZi5pbnR2YWwgPSBmZWF0dXJlczsNCj4gPiAt DQo+ID4gIAlpZiAocXVldWVfaWQgPj0gVkhPU1RfTUFYX1ZSSU5HKQ0KPiA+ICAJCXJldHVybiAt MTsNCj4gPg0KPiA+IEBAIC0xNjQwLDcgKzE2MzcsNyBAQCBpbnQgcnRlX3Zob3N0X2FzeW5jX2No YW5uZWxfcmVnaXN0ZXIoaW50IHZpZCwNCj4gPiB1aW50MTZfdCBxdWV1ZV9pZCwNCj4gPiAgCWlm ICh1bmxpa2VseSh2cSA9PSBOVUxMIHx8ICFkZXYtPmFzeW5jX2NvcHkpKQ0KPiA+ICAJCXJldHVy biAtMTsNCj4gPg0KPiA+IC0JaWYgKHVubGlrZWx5KCFmLmFzeW5jX2lub3JkZXIpKSB7DQo+ID4g KwlpZiAodW5saWtlbHkoIShjb25maWcuZmVhdHVyZXMgJiBSVEVfVkhPU1RfQVNZTkNfSU5PUkRF UikpKSB7DQo+ID4gIAkJVkhPU1RfTE9HX0NPTkZJRyhFUlIsDQo+ID4gIAkJCSJhc3luYyBjb3B5 IGlzIG5vdCBzdXBwb3J0ZWQgb24gbm9uLWlub3JkZXIgbW9kZSAiDQo+ID4gIAkJCSIodmlkICVk LCBxaWQ6ICVkKVxuIiwgdmlkLCBxdWV1ZV9pZCk7IEBAIC0xNzIwLDgNCj4gKzE3MTcsOCBAQCBp bnQNCj4gPiBydGVfdmhvc3RfYXN5bmNfY2hhbm5lbF9yZWdpc3RlcihpbnQgdmlkLCB1aW50MTZf dCBxdWV1ZV9pZCwNCj4gPiAgCXZxLT5hc3luY19vcHMuY2hlY2tfY29tcGxldGVkX2NvcGllcyA9 IG9wcy0NCj4gPmNoZWNrX2NvbXBsZXRlZF9jb3BpZXM7DQo+ID4gIAl2cS0+YXN5bmNfb3BzLnRy YW5zZmVyX2RhdGEgPSBvcHMtPnRyYW5zZmVyX2RhdGE7DQo+ID4NCj4gPiAtCXZxLT5hc3luY19p bm9yZGVyID0gZi5hc3luY19pbm9yZGVyOw0KPiA+IC0JdnEtPmFzeW5jX3RocmVzaG9sZCA9IGYu YXN5bmNfdGhyZXNob2xkOw0KPiA+ICsJdnEtPmFzeW5jX2lub3JkZXIgPSB0cnVlOw0KPiANCj4g RG8gd2Ugc3RpbGwgbmVlZCB0aGlzPyBJdCdzIG5ldmVyIHVzZWQuDQoNCkkgdGhpbmsgd2UgbmVl ZCB0byBrZWVwIGl0LCBhcyB3ZSBtYXkgc3VwcG9ydCBvdXQtb2Ytb3JkZXIgY2hhbm5lbCBpbiBm dXR1cmUuDQoNCj4gDQo+ID4gKwl2cS0+YXN5bmNfdGhyZXNob2xkID0gY29uZmlnLmFzeW5jX3Ro cmVzaG9sZDsNCj4gDQo+IHZxLT5hc3luY190aHJlc2hvbGQgaXMgdWludDE2X3QgYW5kIGNvbmZp Zy5hc3luY190aHJlc2hvbGQgaXMgdWludDMyX3QuDQo+IFRoZXkgc2hvdWxkIGJlIHRoZSBzYW1l Lg0KDQpJIHdpbGwgY2hhbmdlIHZxLT5hc3luY190aHJlc2hvbGQgdG8gdWludDMyX3QuDQoNClRo YW5rcywNCkppYXl1DQo+IA0KPiBUaGFua3MsDQo+IENoZW5ibw0KPiANCj4gPg0KPiA+ICAJdnEt PmFzeW5jX3JlZ2lzdGVyZWQgPSB0cnVlOw0KPiA+DQo+ID4gLS0NCj4gPiAyLjcuNA0KPiANCg0K