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 E4FBAA055D for ; Mon, 15 Mar 2021 19:53:45 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id D5997242792; Mon, 15 Mar 2021 19:53:45 +0100 (CET) Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) by mails.dpdk.org (Postfix) with ESMTP id 8D5B0242789; Mon, 15 Mar 2021 19:53:42 +0100 (CET) IronPort-SDR: Qs6snQGhGTBsiw8bVxVrxk8QNLkmPLr3/j1P1bIUXv67BAnzJsjjP6Sxxkb/fjztoHvcZW8nrQ feiIKNsVuuqA== X-IronPort-AV: E=McAfee;i="6000,8403,9924"; a="189189256" X-IronPort-AV: E=Sophos;i="5.81,251,1610438400"; d="scan'208";a="189189256" Received: from orsmga005.jf.intel.com ([10.7.209.41]) by orsmga103.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 15 Mar 2021 11:53:24 -0700 IronPort-SDR: gOg3Y/8kvslJCg3GFiW6PtsSSDFx7Hx5zJstFNAn0EULhqfm9xICBtGAQL/54+mk+i9oZaPxmn px5LJjMde8Yw== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.81,251,1610438400"; d="scan'208";a="590403295" Received: from fmsmsx601.amr.corp.intel.com ([10.18.126.81]) by orsmga005.jf.intel.com with ESMTP; 15 Mar 2021 11:53:23 -0700 Received: from fmsmsx606.amr.corp.intel.com (10.18.126.86) by fmsmsx601.amr.corp.intel.com (10.18.126.81) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2106.2; Mon, 15 Mar 2021 11:53:22 -0700 Received: from fmsedg602.ED.cps.intel.com (10.1.192.136) by fmsmsx606.amr.corp.intel.com (10.18.126.86) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2106.2 via Frontend Transport; Mon, 15 Mar 2021 11:53:22 -0700 Received: from NAM10-MW2-obe.outbound.protection.outlook.com (104.47.55.106) by edgegateway.intel.com (192.55.55.71) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2106.2; Mon, 15 Mar 2021 11:53:21 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Pay6rm909eDDBQpSf27DBQicdxeMezOP/65fbSdv0VSsrFGS5Evmf93FLNpwPcIZ6cxn43lgvvGXMLmGr/juCWtFlvQfmGWprfyz/gCTO/TSNUgZe8U2VquarHZy1VIOt6j5u7jSWiy7jHPOJpomzhNSUdncK9N29bBW1FnO71VYyO2DTH4cM8PxqG77M9u/7r31uBMIG8y+uui+GGpDyYArQ7mRR4HEu+f4IZodaP4e0gFkWTSC7Lhhr8isWmqKD4IeCUYbIerjfXn5fvwHo3yRNFvAB4qAtC/zsE8thDmKBaLNMClDEyyCMYAzuOzpAOWP8LtiN31xsuq2oxxQdw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=lc8kXe5P4JtlMgzOF0mQZ5pMctPSWQqRwB8hVnvAVvQ=; b=Wt0zUypB8HtxNEuD6zlgrdSRm5JZnp3BptKYm5w3uYVYjXC9OkB5iHjM+n+kDTdlgR1PGSphb2krFtrU/pI+njcWX9XZycCe33Q3dRJG6ZFf1hVl13HPoFPClzwDkbHfymUD29uSS02ge9UGv3K/ft7wSvlKRMev7Wn1jaObC47hni6SVTPy7am1+HcXJjs4O7NKu+AwcmUytpuw8rtxvD+XT4N/SdwxLFDnq5zO/x34p/+PW1u2p66he7ibLngL8GI26cm3xT7py5GeHh/tm98ldz2l9UNNP+uH80RqvU0grPtDmqet1ZQcT3+rjh3hSUUNj9IV2XgBxOlm/JHN9w== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=intel.onmicrosoft.com; s=selector2-intel-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=lc8kXe5P4JtlMgzOF0mQZ5pMctPSWQqRwB8hVnvAVvQ=; b=a3RD6pCA1oe1aawFKx4+mot0mpJFmZFEADzVtQ65xZaNERuZ6T4PLEowovuOGj192dhKrnnjfoaOJFu5BqNo3tj4E19pOVnpm1ykOs+Pcdpi7SwZDFBXY3Ba0ErW8MgDo+IMt8l61nPPhHn3z6pkjtxMvXSRcyHdEbkgkcV1wm8= Received: from DM6PR11MB4491.namprd11.prod.outlook.com (2603:10b6:5:204::19) by DM6PR11MB4532.namprd11.prod.outlook.com (2603:10b6:5:2aa::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3933.32; Mon, 15 Mar 2021 18:53:19 +0000 Received: from DM6PR11MB4491.namprd11.prod.outlook.com ([fe80::3182:6da2:8c64:f07a]) by DM6PR11MB4491.namprd11.prod.outlook.com ([fe80::3182:6da2:8c64:f07a%3]) with mapi id 15.20.3933.032; Mon, 15 Mar 2021 18:53:19 +0000 From: "Ananyev, Konstantin" To: David Marchand , "Wang, Xiao W" CC: "Xia, Chenbo" , Maxime Coquelin , "Liu, Yong" , dev , dpdk stable Thread-Topic: [dpdk-stable] [PATCH v2] vhost: add header check in dequeue offload Thread-Index: AQHXGbM4PM+OeclyKUWikLffMFVtPqqFOeQAgAArKQA= Date: Mon, 15 Mar 2021 18:53:18 +0000 Message-ID: References: <20210311063827.55394-1-xiao.w.wang@intel.com> <20210315153255.113442-1-xiao.w.wang@intel.com> In-Reply-To: Accept-Language: en-GB, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-product: dlpe-windows dlp-reaction: no-action dlp-version: 11.5.1.3 authentication-results: redhat.com; dkim=none (message not signed) header.d=none;redhat.com; dmarc=none action=none header.from=intel.com; x-originating-ip: [46.7.39.127] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: c405d5d7-0937-4607-ef9e-08d8e7e3996c x-ms-traffictypediagnostic: DM6PR11MB4532: x-ld-processed: 46c98d88-e344-4ed4-8496-4ed7712e255d,ExtAddr x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:10000; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: WBbE3pD83ox+/PBR+M+4q+GEWaQ9WXItuMvNpFF6tri7xfxZ39tY9rABdFWAie7qXoQ+mHHZzo1kUcU1SWtCH7aN9oRA9eEqk5HoZ4MF8Kd1x8n1TaFubbkAI5VGVapYE79QEyDAX7uLovZfzRJjjqKdfRSAVX4d4m4D0Jzmpv7WyS5eqSNL0Hef/gSpB95WdoLgaPz2mx5NUq02JOZfT4yCFxbHq0VeZZV6ZmZQUQXc80U+eO792IWA3Yb3yb2zQHgIjYTD/WESIs6myzQ2s5TJtcYsKwyi0yFdOe5Eig5H/bbnLquyO5j/44AIVwgu/v3tBn+y2yv2vOTX6KgRoFu8wKfCIDjq3nbo4krpCKYLSFcj/2np5Heq6BQzb5fR1Epvcc2QcVXxm6F0pdH9ZT08wWS6G/n2qbU62DKxKY2ob49JZNnY0UgExbOWJA1lqgs1ktAyjTdrEIrc2ZLAtpojqjREscNrR4LEyf5vY5owj7NUgxw600Ykl5g7iBlGZOOtcWiqThFGLwCiP6l3dYYYaWUzlwtayeysNTktE1aGg+Rrkcpskl69RF5naj9b x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DM6PR11MB4491.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(346002)(136003)(366004)(396003)(39860400002)(376002)(66446008)(26005)(5660300002)(316002)(71200400001)(33656002)(6506007)(83380400001)(55016002)(86362001)(64756008)(53546011)(66946007)(66556008)(66476007)(7696005)(110136005)(9686003)(52536014)(76116006)(2906002)(6636002)(478600001)(8676002)(8936002)(54906003)(4326008)(186003); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata: =?utf-8?B?ejBFR1VSbjZuUGMydkxYMHF0bmNNakNVWCtoSitBZkRvK0xKYTdsMklQbVky?= =?utf-8?B?blp2eEZRNWE4aU0vZFhOMkxQMmhkVUN4amlVek5PVERscGRPa0NxbW5aMkF1?= =?utf-8?B?Mm83N1Yra2hNTkU0bXFtbTN4SFpMS2lIanYxcVhuSy9KVnVBMnR3WmVITG1R?= =?utf-8?B?cERManZ2RVVIbU05SXFwWXN6ajhDbGlIYTFoMEZoRkVNTEJSZmZoMUJ5bzZh?= =?utf-8?B?dVFuckJFaUtNaTN1UnI2dDEvZDlFR01tWFduNlIvY2FOSHltV0dkcjdWdWRH?= =?utf-8?B?a2VIaEJEaXY0UUM5R015OFN4UWd5ZmtSSXA4R2RxSFVSaFZ6ejBCaFdpYVJ5?= =?utf-8?B?QWZVaHpkUVh0VUx4VG9HalZQUXhLdWZqSEdnajUzOW9qU0c1UkoyWjUwT3hv?= =?utf-8?B?VHl0R25tVWwrWUNlY2xtcDZzZ3F5aVZ4ak84RWgvMlhiNXl1M2xUOE04TFpJ?= =?utf-8?B?Ykpwdjk3N3dFVWQvMCtsQWZHYTd0YWd1eit5RVpRcHhFSGpaZFhNaWR1R1FE?= =?utf-8?B?UFFEM3dHbEJrbWMrbUI3K2xjTVNDK0dUYXJxSTBVQ2Y0WjBacDB6RUFoL1lq?= =?utf-8?B?MmNwNjBra0xvL1h0Y3dOWWVzMGtydC9MSzRVRm5mRDcrSmMrUDAwS0xoZGdp?= =?utf-8?B?L25Ya0hZQWpqQVNPVU1xbWhKaU1NNHRUZW83RmIrYXlsZUJhZ0R3a3hlcXBF?= =?utf-8?B?RnEzSlM4ejIrcFpNK2U1Q2RCTUMvdHJuSjcrWThrTGk5NHBOMUpJVWxSTXJs?= =?utf-8?B?c09hVnhJYXI5YkVpQXhWVU5jRlh6c1l2eDZucHE0dVlpSUNKWndDT01kblVN?= =?utf-8?B?cmhKcWZldWRTSndvd0FFcHhEc0pmdUgxVWJDd0ZQN094Y05lenV0SU04YUJt?= =?utf-8?B?bVVkMWh5MTVaeS9RNHhHdVR2dUZqNW05RGxaOHI5eC9MaTBrbnBHNmtxRU1E?= =?utf-8?B?RXc5c3V3ZWxKd21wNjA1MnFrNDhIMGlSeGFNa1QzaDJjWnM0MmJaeWFEVGEv?= =?utf-8?B?dlpWYWk4RXFaN1VFSUdDRTNnQmJVUkY0cnY0TXZrelRhOUhjeVR6UGFtd040?= =?utf-8?B?MTNxNXF2bXFaNTJXbU5aMnJ5QWJaR3BuQ3FBcmQ4eFJOYkJJTVI5NEFqZUJW?= =?utf-8?B?aHYxRjF3bnphRjAxcHZQMk9vYXUrUTBCMUM0ejdEQjhBbGJocmo2VzJQN3hW?= =?utf-8?B?emZSYTVkM2pRbWZWeXJOYUIzQzRLb1VLdWtacW90S0llNDdrK1pKYW1JZEVS?= =?utf-8?B?SU9MOHYwWk5ndVRnVlBOb21iTWZoUWdPYVdySGMrVEZrRzRiRnNiUUs2aGJX?= =?utf-8?B?N2VQWUd1SldEYjErcjJDU2kzZXMvbnhrSXViRXpzbWtMbFdCL3ZnWFdBWUhl?= =?utf-8?B?eVEyUG5RZ1VqQXFsYmpCMlBhOGlDME5obzU5MEI4dzdWNEpwb2h6b2tvSnN3?= =?utf-8?B?NkJXTzlGbnRuZGVVUG92bHo3M1k2cU10WjFVYWtaRnducXRYV1Y0RFNKRlIx?= =?utf-8?B?TEVLeVN2b3lxOWxLZjBWdXRkKzN1QjVzTk13aFBhTXh4RGVZMHh2ZVRxcTlO?= =?utf-8?B?Q3poWFFDeE95ZFJ4bmFHbTdWYTNLb2I1WXBWVDgvdFdYclVTT0k2cTBNZUl4?= =?utf-8?B?WWpLK05WcFZaeC9NcU1IRHc0c0lyK2ZtSzYxSHhNVWhjaTFpaHgrbXBaOWhY?= =?utf-8?B?OFdpUDVhZGtlaStTUHRZb2h3bGlTMTZyb0dlQ2hZNmtWemp0TTZrelU0dHRZ?= =?utf-8?Q?rqmA+kz9thoCIbiLyA=3D?= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: DM6PR11MB4491.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: c405d5d7-0937-4607-ef9e-08d8e7e3996c X-MS-Exchange-CrossTenant-originalarrivaltime: 15 Mar 2021 18:53:18.9331 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 46c98d88-e344-4ed4-8496-4ed7712e255d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: JZ3gxjnDb9nsPrF23QZk1+zXKZLyGRmbbiM8xBMubMesJdtdoehxaOnu7IOZmFN4s9dj/1FM6cxfNttigl3qbwqlU8AhLFR2TX9UoMmmuKo= X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR11MB4532 X-OriginatorOrg: intel.com Subject: Re: [dpdk-stable] [PATCH v2] vhost: add header check in dequeue offload X-BeenThere: stable@dpdk.org X-Mailman-Version: 2.1.29 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" DQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogRGF2aWQgTWFyY2hhbmQg PGRhdmlkLm1hcmNoYW5kQHJlZGhhdC5jb20+DQo+IFNlbnQ6IE1vbmRheSwgTWFyY2ggMTUsIDIw MjEgNDoxNyBQTQ0KPiBUbzogV2FuZywgWGlhbyBXIDx4aWFvLncud2FuZ0BpbnRlbC5jb20+DQo+ IENjOiBYaWEsIENoZW5ibyA8Y2hlbmJvLnhpYUBpbnRlbC5jb20+OyBNYXhpbWUgQ29xdWVsaW4g PG1heGltZS5jb3F1ZWxpbkByZWRoYXQuY29tPjsgTGl1LCBZb25nIDx5b25nLmxpdUBpbnRlbC5j b20+OyBkZXYNCj4gPGRldkBkcGRrLm9yZz47IEFuYW55ZXYsIEtvbnN0YW50aW4gPGtvbnN0YW50 aW4uYW5hbnlldkBpbnRlbC5jb20+OyBkcGRrIHN0YWJsZSA8c3RhYmxlQGRwZGsub3JnPg0KPiBT dWJqZWN0OiBSZTogW2RwZGstc3RhYmxlXSBbUEFUQ0ggdjJdIHZob3N0OiBhZGQgaGVhZGVyIGNo ZWNrIGluIGRlcXVldWUgb2ZmbG9hZA0KPiANCj4gT24gTW9uLCBNYXIgMTUsIDIwMjEgYXQgNDo1 MiBQTSBYaWFvIFdhbmcgPHhpYW8udy53YW5nQGludGVsLmNvbT4gd3JvdGU6DQo+ID4NCj4gPiBX aGVuIHBhcnNpbmcgdGhlIHZpcnRpbyBuZXQgaGVhZGVyIGFuZCBwYWNrZXQgaGVhZGVyIGZvciBk ZXF1ZXVlIG9mZmxvYWQsDQo+ID4gd2UgbmVlZCB0byBwZXJmb3JtIHNhbml0eSBjaGVjayBvbiB0 aGUgcGFja2V0IGhlYWRlciB0byBlbnN1cmU6DQo+ID4gICAtIE5vIG91dC1vZi1ib3VuZGFyeSBt ZW1vcnkgYWNjZXNzLg0KPiA+ICAgLSBUaGUgcGFja2V0IGhlYWRlciBhbmQgdmlydGlvX25ldCBo ZWFkZXIgYXJlIHZhbGlkIGFuZCBhbGlnbmVkLg0KPiA+DQo+ID4gRml4ZXM6IGQwY2Y5MTMwM2Q3 MyAoInZob3N0OiBhZGQgVHggb2ZmbG9hZCBjYXBhYmlsaXRpZXMiKQ0KPiA+IENjOiBzdGFibGVA ZHBkay5vcmcNCj4gPg0KPiA+IFNpZ25lZC1vZmYtYnk6IFhpYW8gV2FuZyA8eGlhby53LndhbmdA aW50ZWwuY29tPg0KPiA+IC0tLQ0KPiA+IHYyOg0KPiA+IEFsbG93IGVtcHR5IEw0IHBheWxvYWQg Zm9yIGNrc3VtIG9mZmxvYWQuDQo+ID4gLS0tDQo+ID4gIGxpYi9saWJydGVfdmhvc3QvdmlydGlv X25ldC5jIHwgNDkgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLQ0K PiA+ICAxIGZpbGUgY2hhbmdlZCwgNDMgaW5zZXJ0aW9ucygrKSwgNiBkZWxldGlvbnMoLSkNCj4g Pg0KPiA+IGRpZmYgLS1naXQgYS9saWIvbGlicnRlX3Zob3N0L3ZpcnRpb19uZXQuYyBiL2xpYi9s aWJydGVfdmhvc3QvdmlydGlvX25ldC5jDQo+ID4gaW5kZXggNTgzYmYzNzljNi4uNTNhOGZmMjg5 OCAxMDA2NDQNCj4gPiAtLS0gYS9saWIvbGlicnRlX3Zob3N0L3ZpcnRpb19uZXQuYw0KPiA+ICsr KyBiL2xpYi9saWJydGVfdmhvc3QvdmlydGlvX25ldC5jDQo+ID4gQEAgLTE4MjEsNDQgKzE4MjEs NjQgQEAgdmlydGlvX25ldF93aXRoX2hvc3Rfb2ZmbG9hZChzdHJ1Y3QgdmlydGlvX25ldCAqZGV2 KQ0KPiA+ICAgICAgICAgcmV0dXJuIGZhbHNlOw0KPiA+ICB9DQo+ID4NCj4gPiAtc3RhdGljIHZv aWQNCj4gPiAtcGFyc2VfZXRoZXJuZXQoc3RydWN0IHJ0ZV9tYnVmICptLCB1aW50MTZfdCAqbDRf cHJvdG8sIHZvaWQgKipsNF9oZHIpDQo+ID4gK3N0YXRpYyBpbnQNCj4gPiArcGFyc2VfZXRoZXJu ZXQoc3RydWN0IHJ0ZV9tYnVmICptLCB1aW50MTZfdCAqbDRfcHJvdG8sIHZvaWQgKipsNF9oZHIs DQo+ID4gKyAgICAgICAgICAgICAgIHVpbnQxNl90ICpsZW4pDQo+ID4gIHsNCj4gPiAgICAgICAg IHN0cnVjdCBydGVfaXB2NF9oZHIgKmlwdjRfaGRyOw0KPiA+ICAgICAgICAgc3RydWN0IHJ0ZV9p cHY2X2hkciAqaXB2Nl9oZHI7DQo+ID4gICAgICAgICB2b2lkICpsM19oZHIgPSBOVUxMOw0KPiA+ ICAgICAgICAgc3RydWN0IHJ0ZV9ldGhlcl9oZHIgKmV0aF9oZHI7DQo+ID4gICAgICAgICB1aW50 MTZfdCBldGhlcnR5cGU7DQo+ID4gKyAgICAgICB1aW50MTZfdCBkYXRhX2xlbiA9IG0tPmRhdGFf bGVuOw0KPiANCj4gPg0KPiA+ICAgICAgICAgZXRoX2hkciA9IHJ0ZV9wa3RtYnVmX210b2QobSwg c3RydWN0IHJ0ZV9ldGhlcl9oZHIgKik7DQo+ID4NCj4gPiArICAgICAgIGlmIChkYXRhX2xlbiA8 PSBzaXplb2Yoc3RydWN0IHJ0ZV9ldGhlcl9oZHIpKQ0KPiA+ICsgICAgICAgICAgICAgICByZXR1 cm4gLUVJTlZBTDsNCj4gDQo+IE9uIHByaW5jaXBsZSwgdGhlIGNoZWNrIHNob3VsZCBoYXBwZW4g YmVmb3JlIGNhbGxpbmcgcnRlX3BrdG1idWZfbXRvZCwNCj4gbGlrZSB3aGF0IHJ0ZV9wa3RtYnVm X3JlYWQgZG9lcy4NCj4gDQo+IExvb2tpbmcgYXQgdGhlIHJlc3Qgb2YgdGhlIHBhdGNoLCBkb2Vz IHRoaXMgaGVscGVyIGZ1bmN0aW9uIG9ubHkNCj4gaGFuZGxlIG1vbm8gc2VnbWVudCBtYnVmcz8N Cj4gTXkgcmVhZGluZyBvZiBjb3B5X2Rlc2NfdG9fbWJ1ZigpIHdhcyB0aGF0IGl0IGNvdWxkIGdl bmVyYXRlIG11bHRpDQo+IHNlZ21lbnRzIG1idWZzLi4uDQo+IA0KPiANCj4gW3NuaXBdDQo+IA0K PiA+ICAgICAgICAgY2FzZSBSVEVfRVRIRVJfVFlQRV9JUFY0Og0KPiA+ICsgICAgICAgICAgICAg ICBpZiAoZGF0YV9sZW4gPD0gc2l6ZW9mKHN0cnVjdCBydGVfaXB2NF9oZHIpKQ0KPiA+ICsgICAg ICAgICAgICAgICAgICAgICAgIHJldHVybiAtRUlOVkFMOw0KPiA+ICAgICAgICAgICAgICAgICBp cHY0X2hkciA9IGwzX2hkcjsNCj4gPiAgICAgICAgICAgICAgICAgKmw0X3Byb3RvID0gaXB2NF9o ZHItPm5leHRfcHJvdG9faWQ7DQo+ID4gICAgICAgICAgICAgICAgIG0tPmwzX2xlbiA9IHJ0ZV9p cHY0X2hkcl9sZW4oaXB2NF9oZHIpOw0KPiA+ICsgICAgICAgICAgICAgICBpZiAoZGF0YV9sZW4g PD0gbS0+bDNfbGVuKSB7DQo+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgbS0+bDNfbGVuID0g MDsNCj4gPiArICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gLUVJTlZBTDsNCj4gPiArICAg ICAgICAgICAgICAgfQ0KPiANCj4gLi4uIHNvIGhlcmUsIGNvbXBhcmluZyBsMyBsZW5ndGggdG8g b25seSB0aGUgZmlyc3Qgc2VnbWVudCBsZW5ndGgNCj4gKGRhdGFfbGVuKSB3b3VsZCBiZSBpbnZh bGlkLg0KPiANCj4gSWYgdGhpcyBoZWxwZXIgbXVzdCBkZWFsIHdpdGggbXVsdGkgc2VnbWVudHMs IHdoeSBub3QgdXNlIHJ0ZV9wa3RtYnVmX3JlYWQ/DQo+IFRoaXMgZnVuY3Rpb24gcmV0dXJucyBh Y2Nlc3MgdG8gbWJ1ZiBkYXRhIGFmdGVyIGNoZWNraW5nIG9mZnNldCBhbmQNCj4gbGVuZ3RoIGFy ZSBjb250aWd1b3VzLCBlbHNlIGNvcHkgdGhlIG5lZWRlZCBkYXRhIGluIGEgcGFzc2VkIGJ1ZmZl ci4NCg0KRnJvbSBteSB1bmRlcnN0YW5kaW5nLCB5ZXMgbXVsdGktc2VnIGlzIGFsbG93ZWQsIGJ1 dCBhbiBleHBlY3RhdGlvbg0KSXMgdGhhdCBhdCBsZWFzdCBwYWNrZXQgaGVhZGVyIChsMi9sMy9s ND8pIHdpbGwgYWx3YXlzIHJlc2lkZSBpbiBmaXJzdCBzZWdtZW50Lg0KDQo+IA0KPiANCj4gPiAg ICAgICAgICAgICAgICAgKmw0X2hkciA9IChjaGFyICopbDNfaGRyICsgbS0+bDNfbGVuOw0KPiA+ ICAgICAgICAgICAgICAgICBtLT5vbF9mbGFncyB8PSBQS1RfVFhfSVBWNDsNCj4gPiArICAgICAg ICAgICAgICAgZGF0YV9sZW4gLT0gbS0+bDNfbGVuOw0KPiA+ICAgICAgICAgICAgICAgICBicmVh azsNCj4gDQo+IA0KPiAtLQ0KPiBEYXZpZCBNYXJjaGFuZA0KDQo=