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 D909041DF2 for ; Mon, 6 Mar 2023 07:17:26 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id C570A410FB; Mon, 6 Mar 2023 07:17:26 +0100 (CET) Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by mails.dpdk.org (Postfix) with ESMTP id 87EC04067B; Mon, 6 Mar 2023 07:17:23 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1678083443; x=1709619443; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=FxbUJXGPtJnBiJfiq22sctuFI6DV3CMz8TR3repozxo=; b=hPm3EASmJ8yI91eRAO1tNuyUXzdHEsrWSr4fmAY12iz7p4CJl94NgKsm D5s1+8hgLqXsoDNUNwZgqTeoiMAwUOh+t/1Nq27NBpOgi2GIIJj7scm6s DZzQBbc30dtw4a06c7/m6w99b6AyEAg9rIr+9SGmMmccJuxxSP8S4Ijy2 G6B/CRVi8jmUAyLbTLx1a/LlVRWyNEBRmMoPuwOz3IwrR4LuVTyDM+vLI TQ3aCAUfssL81byDgLLgU/Ad0y5/GXZpxKghh2c3TF4UrwcPJUbcRKIIR NXWtaKdH3qXIIOUGnudH43dR/gebc5PedfEcTeLZTSjua2x3Ip9qvK+nP Q==; X-IronPort-AV: E=McAfee;i="6500,9779,10640"; a="363094289" X-IronPort-AV: E=Sophos;i="5.98,236,1673942400"; d="scan'208";a="363094289" Received: from fmsmga007.fm.intel.com ([10.253.24.52]) by fmsmga101.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 05 Mar 2023 22:17:22 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6500,9779,10640"; a="678359592" X-IronPort-AV: E=Sophos;i="5.98,236,1673942400"; d="scan'208";a="678359592" Received: from fmsmsx602.amr.corp.intel.com ([10.18.126.82]) by fmsmga007.fm.intel.com with ESMTP; 05 Mar 2023 22:17:22 -0800 Received: from fmsmsx610.amr.corp.intel.com (10.18.126.90) 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.2507.21; Sun, 5 Mar 2023 22:17:22 -0800 Received: from fmsedg602.ED.cps.intel.com (10.1.192.136) by fmsmsx610.amr.corp.intel.com (10.18.126.90) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.21 via Frontend Transport; Sun, 5 Mar 2023 22:17:22 -0800 Received: from NAM10-DM6-obe.outbound.protection.outlook.com (104.47.58.107) 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.2507.21; Sun, 5 Mar 2023 22:17:22 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=U8w8sq8oAN5Om0aTTRzhz9caeyMA3RFRtL/otpzVrZ9BQcqJggoXE50qOdBwVtjTkFIVCrtpExSjJc7tVEsfBDAb9C+XrL8H5wErQIwH0a1aBRV4f7zcWvXQ38N4TrtVR+sYQ5GuMivnoieWgSoX3WzCXXKlvm8E74IO5Ys/552TG3MJhVBhBG16jRPl2znsYznHJumBFj+t+nWardqLkYS+2GALdLc4+kHauDud1Zb4k0prIGfDsnKplzxQHp1LkBGPnuif+DQ4NQtDfA3BPWIng5/qXg3FecO9CXKo3HWlBdfgSJ5MTRLkFtICeM7UVZkl6RyUB1d9fmUFuBBl4w== 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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=FxbUJXGPtJnBiJfiq22sctuFI6DV3CMz8TR3repozxo=; b=a0Q5Q2EELHra+G2lKtGp+lkJMjdpLr03WLNDTe7mrf72LkFhMe0aPoc8DOPeKHEmRYWrOtzXZhnIW2upOs3dw3WKG+EOC7IXGsshWNIIJhCbagAxoF87yfw5t78KQ0BlHeiv375aCAmI666jJqVzSDrb4RxBO0+OAqPDuTmfHUwFDd+tz+88ckPz/Y/0N0Cm2pihV4sreI7OgWJvNubAXk/et48rDq4XbaDNJKQ3hDqm4lsabbTeqcdimjkaupbsGbPIm9KV+4cHNtlXq5rRim3dtTCvDr89Bh3i9mVBpB8emnF49/Wc+u1rjJpqdjpnH+RIBFPNSV1FMyV/k9B2fA== 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 Received: from SN6PR11MB3504.namprd11.prod.outlook.com (2603:10b6:805:d0::17) by DM6PR11MB4659.namprd11.prod.outlook.com (2603:10b6:5:2a5::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6156.27; Mon, 6 Mar 2023 06:17:20 +0000 Received: from SN6PR11MB3504.namprd11.prod.outlook.com ([fe80::930b:6671:e4f0:4ebc]) by SN6PR11MB3504.namprd11.prod.outlook.com ([fe80::930b:6671:e4f0:4ebc%3]) with mapi id 15.20.6156.027; Mon, 6 Mar 2023 06:17:20 +0000 From: "Xia, Chenbo" To: Andrew Rybchenko , Boleslav Stankevich , "dev@dpdk.org" CC: "stable@dpdk.org" , Maxime Coquelin Subject: RE: [PATCH v2] net/virtio: deduce IP length for Virtio TSO checksum Thread-Topic: [PATCH v2] net/virtio: deduce IP length for Virtio TSO checksum Thread-Index: AQHZTcIVncMTUrDcHE+2Dlwo0tD4MK7pKfqAgAQgjiA= Date: Mon, 6 Mar 2023 06:17:20 +0000 Message-ID: References: <20230216123554.2628837-2-boleslav.stankevich@oktetlabs.ru> <20230303111929.1833904-1-boleslav.stankevich@oktetlabs.ru> In-Reply-To: Accept-Language: en-US, zh-CN Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=intel.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: SN6PR11MB3504:EE_|DM6PR11MB4659:EE_ x-ms-office365-filtering-correlation-id: 0312dbe7-836c-4e40-2aea-08db1e0a7161 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: hBuOHefv7Ad9i4Ch6UM3/uV/Fob0KHEtigmdBEVvY4/sWjNdbTopMl3j2A1VnEbjImQNuKvNZCSDSwHVXhjFLBhoeSCtZGViFKmmdr7MtaJcXKJ68pZNP/qQNJenmDnkY4UmEl1P363byeB7anAsEegdladVvLwzvgHYPMgMTFgqxwjIIZ7kHqux1EyS8evw9UI26Lz/P6DpLc29AvEqKRypYX2l4khquIHt4CHtvUX3T0wG6afuHk5uozeliSpgDI5w+j6IfDEwP7oYkc/cQHmTuaRIrB70f0Ui3q7HpHPStFRVcRszvru7I9RN3Nw+kry039Pd07bLONy11zMWrqJAcC08hs5FdDPEHybFNE+2zeR37i4u3c+7eK9F99J4F/blFPOTXUVUv3h+GiQ9RuMrzMtG7AHQ8XVAST2uZPSt496h2nEXLHnXFiSNtaufBVsJTG2ennPBl7YxtPz12hDvpKZFnrfY7dHtunABNcnsmcFnUQrYkPGmYe8TF0pS7SBRYHOPD5j4QzF1J56A2QVCcO/LaGp4x3zxD6NzeFIH8CADcCXmw7Zn4wXbja59x5IQeRcsp6p+03jLFMR1nF7XjqwaeMp9tAtCTgXk4WDggU7yL2Ix5LT6BupYed/MKHJZK7qAM9oe5fh+MGGflO7cnXM77S5MVIFkLk468Rs= x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:SN6PR11MB3504.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230025)(136003)(376002)(366004)(39860400002)(346002)(396003)(451199018)(478600001)(83380400001)(7696005)(33656002)(316002)(55016003)(110136005)(38100700002)(38070700005)(54906003)(82960400001)(26005)(6506007)(52536014)(186003)(53546011)(9686003)(71200400001)(966005)(5660300002)(86362001)(122000001)(2906002)(8676002)(64756008)(66446008)(4326008)(66476007)(66946007)(41300700001)(8936002)(76116006)(66556008); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?cmR0N1ZwUGF0RDVBN2R3Q3ZSbHdXTzdHdG9wUEJMWkxMSCtIS2RxMkhXN2hI?= =?utf-8?B?QWF0U2RxZEE2T0dMV1A1MkNFQVF3K0MwR1VNRzhuNGhJajJqcFJjdS94NkN3?= =?utf-8?B?cVdYdUt6NCtEc1Roa3VpeDIrWWIxL1d5SkkwekxCRjZ1OFdzMWZJMnV5RlYx?= =?utf-8?B?REZOb0s3R1JVYURUc1BqWk93Sk0wMks3YzZMVnJoZUZUbjZXNno5WjdIK2VZ?= =?utf-8?B?cUtxdTczYzlFOGlub3p1dWpld28wRVppdmRoa0krR3RueHZ5Z3BFRjBqNWly?= =?utf-8?B?TGMyeGZGdUdrR3FyUXpBWEJrNE55dEVxQjJuZlF2UWZVSm15ZFErOGphejZK?= =?utf-8?B?NjFnb1NuN1hZbmFrMnM3dTBBNEFvZ0Y1TzhMbFNuOERUdmlZa3RlUm5zRWVJ?= =?utf-8?B?elg4WGNScW1IYkNBYUVnZTRZdE01VWI5YUlQbDQyY1pRVk1neDJlOHBxa0dh?= =?utf-8?B?NXRHV0hKZnBiSEt2LzgwQjNwcnJZSWV6b0JkOTd1VnlHeGNROWlDejZjN0I1?= =?utf-8?B?cFR5cC9NbjNTSHpmZ2VBRlhGLzNyMm1EaFdIbWR3bFlEVmJTR3NEMHc4QjJS?= =?utf-8?B?ZFdNVUNRVjNEaldFNjRoRDJqNzMrbU4wMU5FZG5OL0NUeklIMjM3RXQxL09l?= =?utf-8?B?dTVRSHQyaEpPKzdLeUw4VjlMQ3FsRFU2UGhzNFdYeDgzT3R2R3FjZDJZQVZP?= =?utf-8?B?TXpDM2hCaEF2dkFEWW56RHlmWWVxZy95WWFZYkNVVy9PblBIOTFrNUU5Rzdw?= =?utf-8?B?NmJxOW5KWGdtWURMQXMzSE1SSFNDSnZxRm5WTkJZZnAwSWl1Q2llcDF6Mkgr?= =?utf-8?B?b1F2YTBQVnNKemNkbmZhdkZRd3hld3dQdlZ1cTRtamlQV2NzdkhNTzVtQm5q?= =?utf-8?B?cno4bCtUL1g1VEVVMWw3K24xbFhuUXJsdHFSSDE3M2k1WVBEZ1VQZTZTbCtI?= =?utf-8?B?NnRRLzZKOFZhbERsY3gzd2xZdkUzOVVmVGpMREQ2U0d5YnhoeXNkb2x3Mnp5?= =?utf-8?B?YzlBMGxjb1pGRjNnVlY5Tk91OG4wY2xibUl0R0l4dnd5SFJ5bUt2R2Q0WnB3?= =?utf-8?B?S0hJcUxwdExMWTVtM0RwZ2FCMVR4ZFFHazUvWFdDQTdIR3R0b1paT3dLdDZE?= =?utf-8?B?NTlOQjVGSTJQNkVxS2ozYm1ENnBCc2dWMVQzLzZrV0FvbGxuMUVBdXpxVS9L?= =?utf-8?B?Y0tibDZMQ3FvSUExYUE5eGJ4REFBVFN5SWNndldHQUlJSVJVbWdJU0NmeHp0?= =?utf-8?B?NnI0R1E1U09iZGxjTFVISE9hZFg2MlgvRllUMnNNMWVVdlhMc2lWdkdjQk1O?= =?utf-8?B?NGNBZW0zc3BPdGtDd2tVUUpvbXRJbGxDa3FyN3JEWS8xanJqZlhGVE00eHhT?= =?utf-8?B?OWJWbWQ4VDdLUHFkRmxJWXVleWR6ZnRoWHExaGJDcUhvNWFaekdKbVFCTUNB?= =?utf-8?B?eVZqMlZqbjF1V2k4L0NNQk85THhzSFdLeE1TZHJuN091SlhvMzVSY0Zza3I2?= =?utf-8?B?b21NZkV5aWZxZ1VVN3R1MDhqYjBudXJtbU9SNk02Yll5YmFoNW9QdHAxblUx?= =?utf-8?B?Ujk0ZEpnb0N4ZkpweE8xYXFlRVFwbkRDMzF3K1ZPUUtoQXc4bTdWRVJ1UkNU?= =?utf-8?B?M1JjekxnWWN2UnVtN2MrYjRGd0J5YzBMZjQ5OEoybG53U1JEMzNCaUlXUEIx?= =?utf-8?B?L3locE11TlRrVTA5eFlMWnZLUUcrUXliMlVFc3RJbU9Ud1o5cFZDbkxsQ2xO?= =?utf-8?B?eXBHY0h0emsrMm1YU0d3eHlZMm5wWDVvNVV2Nzk4RE9zZTc4Z2doZkU2RCt0?= =?utf-8?B?ZG1kUnViNG5HUlozaGcvTWtINW1Zc3JtQmxBNWt6UGlYcTVCM3RGRnB4ZHIy?= =?utf-8?B?TitIZ29sMEFLTkdRWnYxVk8zQ1ZqeitEVzNPYjJZaDNnNmgwNnZvNEFFU3Rl?= =?utf-8?B?MEpUZDI3RzhyK1BTdnFCa2g2Ykw5UTJLQTZXeUJac0pmdnFUV2dKaFRhc2Mx?= =?utf-8?B?N2k4NTZYZ1NJQUlXYUJFQmZ2SG9WbUErMWhXZ2dTWWprbjNRSUlZOW9sQStw?= =?utf-8?B?aXNPSlQvSXUzR1lYVDJNZ3JhYjQySGhIZ1BaU0RtRmQ1WEM2OWJ4QnlaNzZB?= =?utf-8?Q?9dZ/iR3JpocQFB+fUT5N6CUxb?= 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: SN6PR11MB3504.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 0312dbe7-836c-4e40-2aea-08db1e0a7161 X-MS-Exchange-CrossTenant-originalarrivaltime: 06 Mar 2023 06:17:20.3288 (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: JhuxfFdJ5rz7md5fN1X0Amo0rcLHrpDQcZgvbfd/df+2eZRtF+OK+y3kCp4VDaF2hYEO9vAeLwwJfu52UFnv1w== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR11MB4659 X-OriginatorOrg: intel.com 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 SGkgQm9sZXNsYXYsDQoNClRoZSBjaGFuZ2Ugc2VlbXMgZ29vZCwgYnV0IHBhdGNod29yayBpcyBj b21wbGFpbmluZyBhYm91dCBsYWNrIG9mIC5tYWlsbWFwIGNoYW5nZS4NCg0KaHR0cDovL21haWxz LmRwZGsub3JnL2FyY2hpdmVzL3Rlc3QtcmVwb3J0LzIwMjMtTWFyY2gvMzYzMDYxLmh0bWwNCg0K R3Vlc3MgdGhpcyBpcyB5b3VyIGZpcnN0IHBhdGNoPyBTbyB5b3UgbmVlZCB0byBhZGQgbmFtZSBh bmQgZW1haWwgaW4gbWFpbG1hcCBmaWxlLg0KDQpUaGFua3MsDQpDaGVuYm8NCg0KPiAtLS0tLU9y aWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBBbmRyZXcgUnliY2hlbmtvIDxhbmRyZXcucnli Y2hlbmtvQG9rdGV0bGFicy5ydT4NCj4gU2VudDogRnJpZGF5LCBNYXJjaCAzLCAyMDIzIDExOjE0 IFBNDQo+IFRvOiBCb2xlc2xhdiBTdGFua2V2aWNoIDxib2xlc2xhdi5zdGFua2V2aWNoQG9rdGV0 bGFicy5ydT47IGRldkBkcGRrLm9yZw0KPiBDYzogc3RhYmxlQGRwZGsub3JnOyBNYXhpbWUgQ29x dWVsaW4gPG1heGltZS5jb3F1ZWxpbkByZWRoYXQuY29tPjsgWGlhLA0KPiBDaGVuYm8gPGNoZW5i by54aWFAaW50ZWwuY29tPg0KPiBTdWJqZWN0OiBSZTogW1BBVENIIHYyXSBuZXQvdmlydGlvOiBk ZWR1Y2UgSVAgbGVuZ3RoIGZvciBWaXJ0aW8gVFNPDQo+IGNoZWNrc3VtDQo+IA0KPiBDYyBNYXhp bWUgYW5kIENoZW5ibw0KPiANCj4gT24gMy8zLzIzIDE0OjE5LCBCb2xlc2xhdiBTdGFua2V2aWNo IHdyb3RlOg0KPiA+IFRoZSBsZW5ndGggb2YgVFNPIHBheWxvYWQgY291bGQgbm90IGZpdCBpbnRv IDE2IGJpdHMgcHJvdmlkZWQgYnkgdGhlDQo+ID4gSVB2NCB0b3RhbCBsZW5ndGggYW5kIElQdjYg cGF5bG9hZCBsZW5ndGggZmllbGRzLiBUaHVzLCBkZWR1Y2UgaXQNCj4gPiBmcm9tIHRoZSBsZW5n dGggb2YgdGhlIHBhY2tldC4NCj4gPg0KPiA+IEZpeGVzOiA2OTY1NzMwNDZlOSAoIm5ldC92aXJ0 aW86IHN1cHBvcnQgVFNPIikNCj4gPiBDYzogc3RhYmxlQGRwZGsub3JnDQo+ID4NCj4gPiBTaWdu ZWQtb2ZmLWJ5OiBCb2xlc2xhdiBTdGFua2V2aWNoIDxib2xlc2xhdi5zdGFua2V2aWNoQG9rdGV0 bGFicy5ydT4NCj4gPiBSZXZpZXdlZC1ieTogQW5kcmV3IFJ5YmNoZW5rbyA8YW5kcmV3LnJ5YmNo ZW5rb0Bva3RldGxhYnMucnU+DQo+ID4gLS0tDQo+ID4gICBkcml2ZXJzL25ldC92aXJ0aW8vdmly dGlvX3J4dHguYyB8IDI1ICsrKysrKysrKysrKysrKystLS0tLS0tLS0NCj4gPiAgIDEgZmlsZSBj aGFuZ2VkLCAxNiBpbnNlcnRpb25zKCspLCA5IGRlbGV0aW9ucygtKQ0KPiA+DQo+ID4gZGlmZiAt LWdpdCBhL2RyaXZlcnMvbmV0L3ZpcnRpby92aXJ0aW9fcnh0eC5jDQo+IGIvZHJpdmVycy9uZXQv dmlydGlvL3ZpcnRpb19yeHR4LmMNCj4gPiBpbmRleCAyZDBhZmQzMzAyLi5lNDhmZjNjY2E3IDEw MDY0NA0KPiA+IC0tLSBhL2RyaXZlcnMvbmV0L3ZpcnRpby92aXJ0aW9fcnh0eC5jDQo+ID4gKysr IGIvZHJpdmVycy9uZXQvdmlydGlvL3ZpcnRpb19yeHR4LmMNCj4gPiBAQCAtNDA0LDI5ICs0MDQs MzYgQEAgdmlydGlvX3Rzb19maXhfY2tzdW0oc3RydWN0IHJ0ZV9tYnVmICptKQ0KPiA+ICAgCWlm IChsaWtlbHkocnRlX3BrdG1idWZfZGF0YV9sZW4obSkgPj0gbS0+bDJfbGVuICsgbS0+bDNfbGVu ICsNCj4gPiAgIAkJCW0tPmw0X2xlbikpIHsNCj4gPiAgIAkJc3RydWN0IHJ0ZV9pcHY0X2hkciAq aXBoOw0KPiA+IC0JCXN0cnVjdCBydGVfaXB2Nl9oZHIgKmlwNmg7DQo+ID4gICAJCXN0cnVjdCBy dGVfdGNwX2hkciAqdGg7DQo+ID4gLQkJdWludDE2X3QgcHJldl9ja3N1bSwgbmV3X2Nrc3VtLCBp cF9sZW4sIGlwX3BheWxlbjsNCj4gPiArCQl1aW50MTZfdCBwcmV2X2Nrc3VtLCBuZXdfY2tzdW07 DQo+ID4gKwkJdWludDMyX3QgaXBfcGF5bGVuOw0KPiA+ICAgCQl1aW50MzJfdCB0bXA7DQo+ID4N Cj4gPiAgIAkJaXBoID0gcnRlX3BrdG1idWZfbXRvZF9vZmZzZXQobSwNCj4gPiAgIAkJCQkJc3Ry dWN0IHJ0ZV9pcHY0X2hkciAqLCBtLT5sMl9sZW4pOw0KPiA+ICAgCQl0aCA9IFJURV9QVFJfQURE KGlwaCwgbS0+bDNfbGVuKTsNCj4gPiArDQo+ID4gKwkJLyoNCj4gPiArCQkgKiBDYWxjdWxhdGUg SVB2NCBoZWFkZXIgY2hlY2tzdW0gd2l0aCBjdXJyZW50IHRvdGFsIGxlbmd0aA0KPiB2YWx1ZQ0K PiA+ICsJCSAqICh3aGF0ZXZlciBpdCBpcykgdG8gaGF2ZSBjb3JyZWN0IGNoZWNrc3VtIGFmdGVy IHVwZGF0ZSBvbg0KPiBlZGl0cw0KPiA+ICsJCSAqIGRvbmUgYnkgVFNPLg0KPiA+ICsJCSAqLw0K PiA+ICAgCQlpZiAoKGlwaC0+dmVyc2lvbl9paGwgPj4gNCkgPT0gNCkgew0KPiA+ICAgCQkJaXBo LT5oZHJfY2hlY2tzdW0gPSAwOw0KPiA+ICAgCQkJaXBoLT5oZHJfY2hlY2tzdW0gPSBydGVfaXB2 NF9ja3N1bShpcGgpOw0KPiA+IC0JCQlpcF9sZW4gPSBpcGgtPnRvdGFsX2xlbmd0aDsNCj4gPiAt CQkJaXBfcGF5bGVuID0gcnRlX2NwdV90b19iZV8xNihydGVfYmVfdG9fY3B1XzE2KGlwX2xlbikg LQ0KPiA+IC0JCQkJbS0+bDNfbGVuKTsNCj4gPiAtCQl9IGVsc2Ugew0KPiA+IC0JCQlpcDZoID0g KHN0cnVjdCBydGVfaXB2Nl9oZHIgKilpcGg7DQo+ID4gLQkJCWlwX3BheWxlbiA9IGlwNmgtPnBh eWxvYWRfbGVuOw0KPiA+ICAgCQl9DQo+ID4NCj4gPiArCQkvKg0KPiA+ICsJCSAqIERvIG5vdCB1 c2UgSVB2NCB0b3RhbCBsZW5ndGggYW5kIElQdjYgcGF5bG9hZCBsZW5ndGggZmllbGRzDQo+IHRv IGdldA0KPiA+ICsJCSAqIFRTTyBwYXlsb2FkIGxlbmd0aCBzaW5jZSBpdCBjb3VsZCBub3QgZml0 IGludG8gMTYgYml0cy4NCj4gPiArCQkgKi8NCj4gPiArCQlpcF9wYXlsZW4gPSBydGVfY3B1X3Rv X2JlXzMyKHJ0ZV9wa3RtYnVmX3BrdF9sZW4obSkgLSBtLQ0KPiA+bDJfbGVuIC0NCj4gPiArCQkJ CQltLT5sM19sZW4pOw0KPiA+ICsNCj4gPiAgIAkJLyogY2FsY3VsYXRlIHRoZSBuZXcgcGhkciBj aGVja3N1bSBub3QgaW5jbHVkaW5nIGlwX3BheWxlbiAqLw0KPiA+ICAgCQlwcmV2X2Nrc3VtID0g dGgtPmNrc3VtOw0KPiA+ICAgCQl0bXAgPSBwcmV2X2Nrc3VtOw0KPiA+IC0JCXRtcCArPSBpcF9w YXlsZW47DQo+ID4gKwkJdG1wICs9IChpcF9wYXlsZW4gJiAweGZmZmYpICsgKGlwX3BheWxlbiA+ PiAxNik7DQo+ID4gICAJCXRtcCA9ICh0bXAgJiAweGZmZmYpICsgKHRtcCA+PiAxNik7DQo+ID4g ICAJCW5ld19ja3N1bSA9IHRtcDsNCj4gPg0KDQo=