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 568F4A0C42; Wed, 16 Jun 2021 16:33:41 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id C9BE74067A; Wed, 16 Jun 2021 16:33:40 +0200 (CEST) Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) by mails.dpdk.org (Postfix) with ESMTP id 0378840140; Wed, 16 Jun 2021 16:33:37 +0200 (CEST) IronPort-SDR: xhoDN2dasH9F2tIMDXdE66aDNsMz9yczX/HCDEcJ/0l6ojE+39SNcm5jh2MkHg1xl9Ia9Uya7N 6sxEaE93FaYA== X-IronPort-AV: E=McAfee;i="6200,9189,10016"; a="206223214" X-IronPort-AV: E=Sophos;i="5.83,278,1616482800"; d="scan'208";a="206223214" Received: from orsmga002.jf.intel.com ([10.7.209.21]) by orsmga103.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 16 Jun 2021 07:33:36 -0700 IronPort-SDR: xDt76sf7fpohTzGoyNyUHWqSYgAd2Zo4OV4mdkOoya370LoPsfTY5unPyivuVauU70dP8aRelH g32vuZGB3h9A== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.83,278,1616482800"; d="scan'208";a="421506177" Received: from orsmsx602.amr.corp.intel.com ([10.22.229.15]) by orsmga002.jf.intel.com with ESMTP; 16 Jun 2021 07:33:36 -0700 Received: from orsmsx607.amr.corp.intel.com (10.22.229.20) by ORSMSX602.amr.corp.intel.com (10.22.229.15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.4; Wed, 16 Jun 2021 07:33:36 -0700 Received: from orsmsx603.amr.corp.intel.com (10.22.229.16) by ORSMSX607.amr.corp.intel.com (10.22.229.20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.4; Wed, 16 Jun 2021 07:33:35 -0700 Received: from orsedg603.ED.cps.intel.com (10.7.248.4) by orsmsx603.amr.corp.intel.com (10.22.229.16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.4 via Frontend Transport; Wed, 16 Jun 2021 07:33:35 -0700 Received: from NAM04-DM6-obe.outbound.protection.outlook.com (104.47.73.40) by edgegateway.intel.com (134.134.137.100) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2242.4; Wed, 16 Jun 2021 07:33:35 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=n5Ydish1ui5rhFKiHCWYzCsLJqtisq5Vl0bMJK6sNdEomIKYq3HFX23FXZ5lT8k9McwZeWBum0rQf1RRTTyyGvGcILqpVtV1Rb4Qy122eDEnDNtiHS8PA6glNMCKUBKLxruJaObaY4N6yvG+t9+p2wOvB9NuR6p3ymSL/qH1KWTlCOzbYmrayar/Ge0VM0RP2yHXqs/TSre+6G/2df8xQ7MOfX4JclLxBQfNYrX7XFZgTsL/8w28nl4h4whRjCf6ex1cxkMCHmSPvA47lcAC8GXjwNA4tfsC54XlD//CS1Y9BGteaMSEl4mUfgwqt8THOE5j9e5Nu0MAdtVO4spaMw== 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=Fna96KBcXq+aPVtN4CK0TsYFt+6jiTsgoJq7DjFEXs4=; b=XZxCD/rqXbiJAZU+kYEh7M4oaCWuj/mbxWdnpjpPE4ntUSF05DeMOeTelj+ElBAIPuAft0Albu9A9D6i2oal6ZLwrmGh6uZSfqwGCRj6ht5oRTVOuerGBFBH+DjwuEXSGAfDoZxvNt3ih1LqYxb0ozCZF4la+EV9qRIxGrGJeBhhS1Df3E7op472ImGrPYZ2S/uFyHbvGBneAylEDV4GAypNlSj0kiP2owJwqG4mQYIi5OJ9lGyqfIU7Bkzt5VFq7iQi5U+S/byyyE0cBT5T5+zOSLANy8JrCjaOwY9mZhFzJnv1I0L0lDbba72n7gNmEaPBabSoTOTGIrao0Qwzow== 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=Fna96KBcXq+aPVtN4CK0TsYFt+6jiTsgoJq7DjFEXs4=; b=DNNjpNmz62/ZTNHWq/ckSMT4ySr73wQZnsHTJ/t7blsybc+ekE7dICDmfYj3Tsp6HBB0f5wUTegmYuXqDIRPs5CQZcJzHy3+ZF/M0hbjz4vB1KQdxPOK3/yOrBCXN20jkxluBor8RHUdT7w7HJCWbg8BgoJfbCr4hIB6rqYZiaU= Received: from BN8PR11MB3795.namprd11.prod.outlook.com (2603:10b6:408:82::31) by BN6PR11MB1668.namprd11.prod.outlook.com (2603:10b6:405:10::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4219.22; Wed, 16 Jun 2021 14:33:34 +0000 Received: from BN8PR11MB3795.namprd11.prod.outlook.com ([fe80::8807:6661:e425:102]) by BN8PR11MB3795.namprd11.prod.outlook.com ([fe80::8807:6661:e425:102%7]) with mapi id 15.20.4219.026; Wed, 16 Jun 2021 14:33:34 +0000 From: "Wang, Xiao W" To: David Marchand CC: Maxime Coquelin , "Xia, Chenbo" , "Jiang, Cheng1" , dev , dpdk stable Thread-Topic: [dpdk-dev] [PATCH v4] vhost: check header for legacy dequeue offload Thread-Index: AQHXYbUMwRq6GuNaIEWGPs8vLu9hR6sUtLgAgAH99dA= Date: Wed, 16 Jun 2021 14:33:34 +0000 Message-ID: References: <20210317063109.135662-1-xiao.w.wang@intel.com> <20210615063507.18198-1-xiao.w.wang@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 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: [183.195.27.60] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 4aaba88a-519b-4707-9721-08d930d3b8b2 x-ms-traffictypediagnostic: BN6PR11MB1668: x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:7219; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: JMJC/PfJ3tKXnOWiTJ+m36T1G3k2Dn9zBpIU+rtoVA4IeuC8AFTrhen0D5y5WwgOImXfF5oOC4B62gEXIlg0KBegNxyxeJjVkShn8Um5TePuxBW/aZzP4Z33MXxMJmJ6v7lhO1X2QQlfnVnSU5tqkUBv+o+tkmrd5w9YMwaeFl6C+frefsGnOyklQUDPgv02oxUBlRJoNqT3GbnDof9M1XTtAYAnWceO1yuKGrfFUeus5oUGv7iCHt160hcmdNgqzmq1MHOJY3uKfkp77UL87gtJ/4bBE6BLcofJS/69Spzsqm0PRm+C5mOBZcYKnSZL89iYYDEdYe4RlxguJ5fudszQwMHUh0A9zPC6OqlrWDu0xZ4N+WWZdATR5imKS3jzPkaK9S1P8u0Iy13YbbR9n87mgQ7wiyo23XKSjYPrYkLoD+7HbSGzmapyhOYR+5D0dNxfVmrjymykkLN6ZR1JHec9DB7RAPRM0GCSYsN3ZCCj747GgbHfxopciodf/eiGnS3uXRPWZP9WuLAdQYRpMZmbxLKWNGJLLdOtoGxVS9HgFCI/e+SaIGCez1qTj4uY4HfdZUcTx4POMsXusB8SIJOyJkIfsuyb9Z38eadP3Cw= x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:BN8PR11MB3795.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(39860400002)(366004)(346002)(376002)(136003)(396003)(66446008)(66476007)(64756008)(33656002)(66556008)(38100700002)(186003)(53546011)(122000001)(9686003)(316002)(5660300002)(2906002)(7696005)(76116006)(55016002)(52536014)(66946007)(6506007)(8936002)(4326008)(8676002)(478600001)(71200400001)(6916009)(54906003)(86362001)(26005)(83380400001); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?eDc1cWpIUXlwWmZ4VlA4OFVMTkJGYjlVTjdpSGVHb1hiSG5WTHZteVZ0dXUw?= =?utf-8?B?Vlh3cTF1ZSs0eTFIb2tsS2lXZHdUc1hVcVdjZDAwRWpST2pEV05aNFkxaW54?= =?utf-8?B?ZjJEaUd4bkZUNWdzZEJZdmxSWGdQTUI4Mnp3VGxRYTV1dnVZZGZwRWVUTytm?= =?utf-8?B?ZmhvaWs5T1BVNkdkUWRrK05VZXg5RXJJd0ladEVQK3Y0TUMwZHhMSnlmSERW?= =?utf-8?B?elQ1dTU0c0pLenBGbTh5ZWdkUEJWOHBqQjdDTnhVZFEzVC9UeXpEZTBuZE9E?= =?utf-8?B?TkVVeVR6cFlDUHA1VjVKZHNVZExXWGVTdEM3SHQrTHhUTEZuZEpvbitjTThB?= =?utf-8?B?bTdzei8vMmo2Q3RKNnJxQk1qOTlWbjVyb0xUb2Ixdllxc2ZQb2RhU1hub1g0?= =?utf-8?B?NGJrajgvY0NKUzh6ZmhmS3pMZ3dTR3BjbnBiOUhVS3ZlOEgzVlFIT01lUzZ1?= =?utf-8?B?V2d2bmRmT25HYXlhcXNlM3dzeVRhdGNvRWZ4MEtGNzVoZ1FkNVNVc1FZTjdJ?= =?utf-8?B?L3piWk9CRllxOEdMd2VxNEcxNFRPOWl0WEFxYjN2V3B4WDNWVlAwajczWGNI?= =?utf-8?B?TE1jblFzUUpUWklzYjZJM216T0hhejRpMXlFVVJRNUR4eTBmckR3LzRBQUlG?= =?utf-8?B?d2ZsSUxUTjhjTFY3YzVhdjVheDJ1MDlJbWtXUHlDc0M5V3pVU1JmRjh1OVhV?= =?utf-8?B?T01uL2V1akVjWjQ2eTJ6d2dsSG5vZHppd2RpYWxEaXJMcTdVTlRmZ0xwbXI2?= =?utf-8?B?M3VmNyt5aXVVZ1UvN1dycmlCYUtiL0l4UU5wbS9LeEhaKzBRSHFwb1loS1dY?= =?utf-8?B?aVVkQ05tYlI4enk0d3RtYTVpcjdqejV5WFYxZGtGNnN6bm81SVJVZndiWjRL?= =?utf-8?B?elRTQ2JHS0R2ajY0ZkhCcnBSaWhONWVaaCtWRkxnNVVrejFMN2dvMkNncmpj?= =?utf-8?B?b296RE1wN0FhcjgyS1RwdytEaEo3YSswOFNYU3phRi9XUnFBK3d3VGtwdlFK?= =?utf-8?B?NGVTY005c2JDdUhuTFAzelBadkxhd0pacms4NURWU0tFQytJT2RlcUVRSGVu?= =?utf-8?B?VWo0ZjZPMjZJUVR0bi9MUzR4c05RK3pSeEgvY3kyc1VROVZyQzMzejNkVEVh?= =?utf-8?B?T3dWa1ltSldDclhGTXg3eFlMTldCQ21jZ3pJdnBYN2lWa2VYVHZSTmxKQkRZ?= =?utf-8?B?QmFrbjZKK0NhV1dHNm1OTEM0cWM2UDVGZ3ViK1pLVkhrelQzdWZ1dEIwazV0?= =?utf-8?B?Y05hanV4c2hpbHFnUDlxbU1vZUM2Umk2cWY0WUZkeWQ3Vzl5NmxJQXZVUUlS?= =?utf-8?B?KzV6K3lILzlVV0RFU1U1TkJOS05EenpBWDZJRDFzczg1Y3d0dWJxVXQ1dzgy?= =?utf-8?B?enRXL2NiZUpMb2prWVVBNVp6ZUpqZjl4b2ZhWEVrakZJRDcxRjdwa25VU0R4?= =?utf-8?B?U1B1S2hxS0RWWmJZMTNhOFRmUStZSDBFbjdNK1ZyblJzNlVFZlVpSFd6djZ3?= =?utf-8?B?bkhwNEpYeHFHOXg1ejIwTjdnWGxqN0pLT0h2UUpCZDlDR3lhZEJLWjJEeTls?= =?utf-8?B?UmpMRDZsTVBJRnRCNS8yTFBhYmVsMVdMZWptUkxoOFQ3VWVDRzU0TTJaMlg5?= =?utf-8?B?aUJ6VCtNbWJRenRwb1VJN09IV0V3MmZiTWNVdEFCdS9NSDN6QjFLeld6MHB2?= =?utf-8?B?NktDUGszTUJRVFc2RWhlMFZWaHY0bEt0aXNGT3FPV0R3Zk40c0pwVGxucjhp?= =?utf-8?Q?qraRudxN422zymQ3KkaxmL1ASNd5B/lmE20lhn5?= 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: BN8PR11MB3795.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 4aaba88a-519b-4707-9721-08d930d3b8b2 X-MS-Exchange-CrossTenant-originalarrivaltime: 16 Jun 2021 14:33:34.3710 (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: f74NPZvx739C+PVOQ9AOBFb0kyK7JgYSooPqMj+SJ2sAKunrUcvDoc8yTU9oTlmUAvkc+63cLTyjszKchtfCow== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN6PR11MB1668 X-OriginatorOrg: intel.com Subject: Re: [dpdk-dev] [PATCH v4] vhost: check header for legacy dequeue offload 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" SGkgRGF2aWQsDQoNClRoYW5rcyBmb3IgeW91ciBjb21tZW50cy4NCkkgYWdyZWUgd2l0aCB5b3Vy IHN1Z2dlc3Rpb25zLiBCVFcsIEkgbm90aWNlIHNvbWUgb3RoZXIgaW52YWxpZCBjb3JuZXIgY2Fz ZXMgd2hpY2ggbmVlZCByb2xsaW5nIGJhY2sgbWJ1Zi0+bDJfbGVuLCBsM19sZW4gYW5kIG9sX2Zs YWcuDQpFLmcuIHRoZSBkZWZhdWx0IGNhc2UgaW4gdGhlICJzd2l0Y2gge30iIGNvbnRleHQgaXMg bm90IHZhbGlkLg0KQlRXLCBsNF9wcm90byB2YXJpYWJsZSBpcyBiZXR0ZXIgdG8gYmUgYSB1aW50 OF90LCByYXRoZXIgdGhhbiB1aW50MTZfdC4NCg0KSSB3aWxsIHByZXBhcmUgYSBuZXcgdmVyc2lv bi4NCg0KQlJzLA0KWGlhbw0KDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206 IERhdmlkIE1hcmNoYW5kIDxkYXZpZC5tYXJjaGFuZEByZWRoYXQuY29tPg0KPiBTZW50OiBUdWVz ZGF5LCBKdW5lIDE1LCAyMDIxIDM6NTcgUE0NCj4gVG86IFdhbmcsIFhpYW8gVyA8eGlhby53Lndh bmdAaW50ZWwuY29tPg0KPiBDYzogTWF4aW1lIENvcXVlbGluIDxtYXhpbWUuY29xdWVsaW5AcmVk aGF0LmNvbT47IFhpYSwgQ2hlbmJvDQo+IDxjaGVuYm8ueGlhQGludGVsLmNvbT47IEppYW5nLCBD aGVuZzEgPGNoZW5nMS5qaWFuZ0BpbnRlbC5jb20+OyBkZXYNCj4gPGRldkBkcGRrLm9yZz47IGRw ZGsgc3RhYmxlIDxzdGFibGVAZHBkay5vcmc+DQo+IFN1YmplY3Q6IFJlOiBbZHBkay1kZXZdIFtQ QVRDSCB2NF0gdmhvc3Q6IGNoZWNrIGhlYWRlciBmb3IgbGVnYWN5IGRlcXVldWUNCj4gb2ZmbG9h ZA0KPiANCj4gT24gVHVlLCBKdW4gMTUsIDIwMjEgYXQgOTowNiBBTSBYaWFvIFdhbmcgPHhpYW8u dy53YW5nQGludGVsLmNvbT4NCj4gd3JvdGU6DQo+ID4gZGlmZiAtLWdpdCBhL2xpYi92aG9zdC92 aXJ0aW9fbmV0LmMgYi9saWIvdmhvc3QvdmlydGlvX25ldC5jDQo+ID4gaW5kZXggOGRhOGE4NmEx MC4uMzUxZmYwYTg0MSAxMDA2NDQNCj4gPiAtLS0gYS9saWIvdmhvc3QvdmlydGlvX25ldC5jDQo+ ID4gKysrIGIvbGliL3Zob3N0L3ZpcnRpb19uZXQuYw0KPiA+IEBAIC0yMjU5LDQ0ICsyMjU5LDY0 IEBAIHZpcnRpb19uZXRfd2l0aF9ob3N0X29mZmxvYWQoc3RydWN0DQo+IHZpcnRpb19uZXQgKmRl dikNCj4gPiAgICAgICAgIHJldHVybiBmYWxzZTsNCj4gPiAgfQ0KPiA+DQo+ID4gLXN0YXRpYyB2 b2lkDQo+ID4gLXBhcnNlX2V0aGVybmV0KHN0cnVjdCBydGVfbWJ1ZiAqbSwgdWludDE2X3QgKmw0 X3Byb3RvLCB2b2lkICoqbDRfaGRyKQ0KPiA+ICtzdGF0aWMgaW50DQo+ID4gK3BhcnNlX2V0aGVy bmV0KHN0cnVjdCBydGVfbWJ1ZiAqbSwgdWludDE2X3QgKmw0X3Byb3RvLCB2b2lkICoqbDRfaGRy LA0KPiA+ICsgICAgICAgICAgICAgICB1aW50MTZfdCAqbGVuKQ0KPiA+ICB7DQo+IA0KPiANCj4g VGhpcyBmdW5jdGlvbiBuYW1lIGlzIG1pc2xlYWRpbmcsIG5hbWUgY291bGQgYmUgcGFyc2VfaGVh ZGVycygpLg0KPiBJdHMgc2VtYW50aWMgZ2V0cyBtb3JlIGFuZCBtb3JlIGNvbmZ1c2luZyB3aXRo IHRob3NlIGw0X2hkciBhbmQgbGVuDQo+IHBvaW50ZXJzLg0KPiANCj4gVGhpcyBmdW5jdGlvbiBm aWxscyAtPmxYX2xlbiBpbiB0aGUgbWJ1ZiwgZXZlcnl0aGluZyBpcyBhdmFpbGFibGUgZm9yIGNh bGxlci4NCj4gDQo+IENhbGxlciBjYW4gY2hlY2sgdGhhdCBydGVfcGt0bWJ1Zl9kYXRhX2xlbigp IGlzID49IG0tPmwyX2xlbiArDQo+IG0tPmwzX2xlbiArIHNvbWVzaXplLg0KPiA9PiBubyBuZWVk IGZvciBsZW4uDQo+IA0KPiBsNF9oZHIgY2FuIHNpbXBseSBiZSBkZWR1Y2VkIHdpdGggcnRlX3Br dG1idWZfbXRvZF9vZmZzZXQobSwgc3RydWN0DQo+IHNvbWVzdHJ1Y3QgKiwgbS0+bDJfbGVuICsg bS0+bDNfbGVuKS4NCj4gPT4gbm8gbmVlZCBmb3IgbDRfaGRyLg0KPiANCj4gDQo+ID4gICAgICAg ICBzdHJ1Y3QgcnRlX2lwdjRfaGRyICppcHY0X2hkcjsNCj4gPiAgICAgICAgIHN0cnVjdCBydGVf aXB2Nl9oZHIgKmlwdjZfaGRyOw0KPiA+ICAgICAgICAgdm9pZCAqbDNfaGRyID0gTlVMTDsNCj4g DQo+IE5vIG5lZWQgZm9yIGwzX2hkci4NCj4gDQo+IA0KPiA+ICAgICAgICAgc3RydWN0IHJ0ZV9l dGhlcl9oZHIgKmV0aF9oZHI7DQo+ID4gICAgICAgICB1aW50MTZfdCBldGhlcnR5cGU7DQo+ID4g KyAgICAgICB1aW50MTZfdCBkYXRhX2xlbiA9IG0tPmRhdGFfbGVuOw0KPiANCj4gQXZvaWQgZGly ZWN0IGFjY2VzcyB0byBtYnVmIGludGVybmFscywgd2UgaGF2ZSBpbmxpbmUgaGVscGVyczoNCj4g cnRlX3BrdG1idWZfZGF0YV9sZW4obSkuDQo+IA0KPiANCj4gPiArDQo+ID4gKyAgICAgICBpZiAo ZGF0YV9sZW4gPD0gc2l6ZW9mKHN0cnVjdCBydGVfZXRoZXJfaGRyKSkNCj4gDQo+IFN0cmljdGx5 IHNwZWFraW5nLCA8IGlzIGVub3VnaC4NCj4gDQo+IA0KPiA+ICsgICAgICAgICAgICAgICByZXR1 cm4gLUVJTlZBTDsNCj4gPg0KPiA+ICAgICAgICAgZXRoX2hkciA9IHJ0ZV9wa3RtYnVmX210b2Qo bSwgc3RydWN0IHJ0ZV9ldGhlcl9oZHIgKik7DQo+ID4NCj4gPiAgICAgICAgIG0tPmwyX2xlbiA9 IHNpemVvZihzdHJ1Y3QgcnRlX2V0aGVyX2hkcik7DQo+ID4gICAgICAgICBldGhlcnR5cGUgPSBy dGVfYmVfdG9fY3B1XzE2KGV0aF9oZHItPmV0aGVyX3R5cGUpOw0KPiA+ICsgICAgICAgZGF0YV9s ZW4gLT0gc2l6ZW9mKHN0cnVjdCBydGVfZXRoZXJfaGRyKTsNCj4gDQo+IE5vIG5lZWQgdG8gZGVj cmVtZW50IGRhdGFfbGVuIGlmIGNoZWNrcyBiZWxvdyBhcmUgYWxsIGRvbmUgZm9yIGFic29sdXRl DQo+IHZhbHVlLg0KPiBTZWUgc3VnZ2VzdGlvbnMgYmVsb3cuDQo+IA0KPiANCj4gPg0KPiA+ICAg ICAgICAgaWYgKGV0aGVydHlwZSA9PSBSVEVfRVRIRVJfVFlQRV9WTEFOKSB7DQo+ID4gKyAgICAg ICAgICAgICAgIGlmIChkYXRhX2xlbiA8PSBzaXplb2Yoc3RydWN0IHJ0ZV92bGFuX2hkcikpDQo+ ID4gKyAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIC1FSU5WQUw7DQo+IA0KPiBpZiAoZGF0 YV9sZW4gPCBzaXplb2YocnRlX2V0aGVyX2hkcikgKyBzaXplb2Yoc3RydWN0IHJ0ZV92bGFuX2hk cikpDQo+IA0KPiANCj4gPiArDQo+ID4gICAgICAgICAgICAgICAgIHN0cnVjdCBydGVfdmxhbl9o ZHIgKnZsYW5faGRyID0NCj4gPiAgICAgICAgICAgICAgICAgICAgICAgICAoc3RydWN0IHJ0ZV92 bGFuX2hkciAqKShldGhfaGRyICsgMSk7DQo+ID4NCj4gPiAgICAgICAgICAgICAgICAgbS0+bDJf bGVuICs9IHNpemVvZihzdHJ1Y3QgcnRlX3ZsYW5faGRyKTsNCj4gPiAgICAgICAgICAgICAgICAg ZXRoZXJ0eXBlID0gcnRlX2JlX3RvX2NwdV8xNih2bGFuX2hkci0+ZXRoX3Byb3RvKTsNCj4gPiAr ICAgICAgICAgICAgICAgZGF0YV9sZW4gLT0gc2l6ZW9mKHN0cnVjdCBydGVfdmxhbl9oZHIpOw0K PiANCj4gSWRlbS4NCj4gDQo+IA0KPiA+ICAgICAgICAgfQ0KPiA+DQo+ID4gICAgICAgICBsM19o ZHIgPSAoY2hhciAqKWV0aF9oZHIgKyBtLT5sMl9sZW47DQo+ID4NCj4gPiAgICAgICAgIHN3aXRj aCAoZXRoZXJ0eXBlKSB7DQo+ID4gICAgICAgICBjYXNlIFJURV9FVEhFUl9UWVBFX0lQVjQ6DQo+ ID4gKyAgICAgICAgICAgICAgIGlmIChkYXRhX2xlbiA8PSBzaXplb2Yoc3RydWN0IHJ0ZV9pcHY0 X2hkcikpDQo+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIC1FSU5WQUw7DQo+IA0K PiBpZiAoZGF0YV9sZW4gPCBtLT5sMl9sZW4gKyBzaXplb2Yoc3RydWN0IHJ0ZV9pcHY0X2hkcikp DQo+IA0KPiANCj4gPiAgICAgICAgICAgICAgICAgaXB2NF9oZHIgPSBsM19oZHI7DQo+IA0KPiBp cHY0X2hkciA9IHJ0ZV9wa3RtYnVmX210b2Rfb2Zmc2V0KG0sIHN0cnVjdCBydGVfaXB2NF9oZHIg KiwgbS0+bDJfbGVuKTsNCj4gDQo+IA0KPiA+ICAgICAgICAgICAgICAgICAqbDRfcHJvdG8gPSBp cHY0X2hkci0+bmV4dF9wcm90b19pZDsNCj4gPiAgICAgICAgICAgICAgICAgbS0+bDNfbGVuID0g cnRlX2lwdjRfaGRyX2xlbihpcHY0X2hkcik7DQo+ID4gKyAgICAgICAgICAgICAgIGlmIChkYXRh X2xlbiA8PSBtLT5sM19sZW4pIHsNCj4gDQo+IGlmIChkYXRhX2xlbiA8IG0tPmwyX2xlbiArIG0t PmwzX2xlbikNCj4gDQo+IA0KPiA+ICsgICAgICAgICAgICAgICAgICAgICAgIG0tPmwzX2xlbiA9 IDA7DQo+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIC1FSU5WQUw7DQo+IA0KPiBS ZXR1cm5pbmcgaGVyZSBsZWF2ZXMgbS0+bDJfbGVuIHNldC4NCj4gDQo+IA0KPiA+ICsgICAgICAg ICAgICAgICB9DQo+ID4gICAgICAgICAgICAgICAgICpsNF9oZHIgPSAoY2hhciAqKWwzX2hkciAr IG0tPmwzX2xlbjsNCj4gPiAgICAgICAgICAgICAgICAgbS0+b2xfZmxhZ3MgfD0gUEtUX1RYX0lQ VjQ7DQo+ID4gKyAgICAgICAgICAgICAgIGRhdGFfbGVuIC09IG0tPmwzX2xlbjsNCj4gPiAgICAg ICAgICAgICAgICAgYnJlYWs7DQo+ID4gICAgICAgICBjYXNlIFJURV9FVEhFUl9UWVBFX0lQVjY6 DQo+ID4gKyAgICAgICAgICAgICAgIGlmIChkYXRhX2xlbiA8PSBzaXplb2Yoc3RydWN0IHJ0ZV9p cHY2X2hkcikpDQo+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIC1FSU5WQUw7DQo+ IA0KPiBpZiAoZGF0YV9sZW4gPCBtLT5sMl9sZW4gKyBzaXplb2Yoc3RydWN0IHJ0ZV9pcHY2X2hk cikpDQo+IFJldHVybmluZyBoZXJlIGxlYXZlcyBtLT5sMl9sZW4gc2V0Lg0KPiANCj4gDQo+ID4g ICAgICAgICAgICAgICAgIGlwdjZfaGRyID0gbDNfaGRyOw0KPiANCj4gaXB2Nl9oZHIgPSBydGVf cGt0bWJ1Zl9tdG9kX29mZnNldChtLCBzdHJ1Y3QgcnRlX2lwdjZfaGRyICosIG0tPmwyX2xlbik7 DQo+IA0KPiANCj4gPiAgICAgICAgICAgICAgICAgKmw0X3Byb3RvID0gaXB2Nl9oZHItPnByb3Rv Ow0KPiA+ICAgICAgICAgICAgICAgICBtLT5sM19sZW4gPSBzaXplb2Yoc3RydWN0IHJ0ZV9pcHY2 X2hkcik7DQo+ID4gICAgICAgICAgICAgICAgICpsNF9oZHIgPSAoY2hhciAqKWwzX2hkciArIG0t PmwzX2xlbjsNCj4gPiAgICAgICAgICAgICAgICAgbS0+b2xfZmxhZ3MgfD0gUEtUX1RYX0lQVjY7 DQo+ID4gKyAgICAgICAgICAgICAgIGRhdGFfbGVuIC09IG0tPmwzX2xlbjsNCj4gPiAgICAgICAg ICAgICAgICAgYnJlYWs7DQo+ID4gICAgICAgICBkZWZhdWx0Og0KPiA+ICAgICAgICAgICAgICAg ICBtLT5sM19sZW4gPSAwOw0KPiA+IEBAIC0yMzA0LDYgKzIzMjQsOSBAQCBwYXJzZV9ldGhlcm5l dChzdHJ1Y3QgcnRlX21idWYgKm0sIHVpbnQxNl90DQo+ICpsNF9wcm90bywgdm9pZCAqKmw0X2hk cikNCj4gPiAgICAgICAgICAgICAgICAgKmw0X2hkciA9IE5VTEw7DQo+ID4gICAgICAgICAgICAg ICAgIGJyZWFrOw0KPiA+ICAgICAgICAgfQ0KPiA+ICsNCj4gPiArICAgICAgICpsZW4gPSBkYXRh X2xlbjsNCj4gPiArICAgICAgIHJldHVybiAwOw0KPiA+ICB9DQo+ID4NCj4gPiAgc3RhdGljIF9f cnRlX2Fsd2F5c19pbmxpbmUgdm9pZA0KPiA+IEBAIC0yMzEyLDIxICsyMzM1LDI3IEBAIHZob3N0 X2RlcXVldWVfb2ZmbG9hZF9sZWdhY3koc3RydWN0DQo+IHZpcnRpb19uZXRfaGRyICpoZHIsIHN0 cnVjdCBydGVfbWJ1ZiAqbSkNCj4gPiAgICAgICAgIHVpbnQxNl90IGw0X3Byb3RvID0gMDsNCj4g PiAgICAgICAgIHZvaWQgKmw0X2hkciA9IE5VTEw7DQo+ID4gICAgICAgICBzdHJ1Y3QgcnRlX3Rj cF9oZHIgKnRjcF9oZHIgPSBOVUxMOw0KPiA+ICsgICAgICAgdWludDE2X3QgbGVuID0gMCwgdGNw X2xlbjsNCj4gPiArDQo+ID4gKyAgICAgICBpZiAocGFyc2VfZXRoZXJuZXQobSwgJmw0X3Byb3Rv LCAmbDRfaGRyLCAmbGVuKSA8IDApDQo+ID4gKyAgICAgICAgICAgICAgIHJldHVybjsNCj4gPg0K PiA+IC0gICAgICAgcGFyc2VfZXRoZXJuZXQobSwgJmw0X3Byb3RvLCAmbDRfaGRyKTsNCj4gPiAg ICAgICAgIGlmIChoZHItPmZsYWdzID09IFZJUlRJT19ORVRfSERSX0ZfTkVFRFNfQ1NVTSkgew0K PiA+ICAgICAgICAgICAgICAgICBpZiAoaGRyLT5jc3VtX3N0YXJ0ID09IChtLT5sMl9sZW4gKyBt LT5sM19sZW4pKSB7DQo+ID4gICAgICAgICAgICAgICAgICAgICAgICAgc3dpdGNoIChoZHItPmNz dW1fb2Zmc2V0KSB7DQo+ID4gICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAob2Zmc2V0b2Yo c3RydWN0IHJ0ZV90Y3BfaGRyLCBja3N1bSkpOg0KPiA+IC0gICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgaWYgKGw0X3Byb3RvID09IElQUFJPVE9fVENQKQ0KPiA+ICsgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgaWYgKGw0X3Byb3RvID09IElQUFJPVE9fVENQICYmDQo+ID4gKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxlbiA+PSBzaXplb2Yoc3RydWN0 IHJ0ZV90Y3BfaGRyKSkNCj4gDQo+IGlmIChydGVfcGt0bWJ1Zl9kYXRhX2xlbihtKSA+PSBtLT5s Ml9sZW4gKyBtLT5sM19sZW4gKyBzaXplb2Yoc3RydWN0DQo+IHJ0ZV90Y3BfaGRyKSkNCj4gVGhl biwgaWYgdGhpcyBjaGVjayBpcyB3cm9uZywgd2UgbGVhdmUgbDJfbGVuLCBsM19sZW4gKyBQS1Rf VFhfSVBWeA0KPiBmbGFnIHNldCBpbiBtYnVmLg0KPiANCj4gVGhlc2UgdHdvIGNvbW1lbnRzIGFw cGx5IHRvIG90aGVyIHVwZGF0ZXMgYmVsb3cuDQo+IA0KPiA+ICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBtLT5vbF9mbGFncyB8PSBQS1RfVFhfVENQX0NLU1VNOw0KPiA+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7DQo+ID4gICAgICAgICAgICAg ICAgICAgICAgICAgY2FzZSAob2Zmc2V0b2Yoc3RydWN0IHJ0ZV91ZHBfaGRyLCBkZ3JhbV9ja3N1 bSkpOg0KPiA+IC0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGw0X3Byb3RvID09 IElQUFJPVE9fVURQKQ0KPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGw0 X3Byb3RvID09IElQUFJPVE9fVURQICYmDQo+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIGxlbiA+PSBzaXplb2Yoc3RydWN0IHJ0ZV91ZHBfaGRyKSkNCj4gPiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbS0+b2xfZmxhZ3MgfD0gUEtUX1RY X1VEUF9DS1NVTTsNCj4gPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOw0K PiA+ICAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgKG9mZnNldG9mKHN0cnVjdCBydGVfc2N0 cF9oZHIsIGNrc3VtKSk6DQo+ID4gLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAo bDRfcHJvdG8gPT0gSVBQUk9UT19TQ1RQKQ0KPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgaWYgKGw0X3Byb3RvID09IElQUFJPVE9fU0NUUCAmJg0KPiA+ICsgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBsZW4gPj0gc2l6ZW9mKHN0cnVjdCBydGVfc2N0cF9o ZHIpKQ0KPiA+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtLT5vbF9m bGFncyB8PSBQS1RfVFhfU0NUUF9DS1NVTTsNCj4gPiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIGJyZWFrOw0KPiA+ICAgICAgICAgICAgICAgICAgICAgICAgIGRlZmF1bHQ6DQo+ID4g QEAgLTIzMzksMTIgKzIzNjgsMjEgQEAgdmhvc3RfZGVxdWV1ZV9vZmZsb2FkX2xlZ2FjeShzdHJ1 Y3QNCj4gdmlydGlvX25ldF9oZHIgKmhkciwgc3RydWN0IHJ0ZV9tYnVmICptKQ0KPiA+ICAgICAg ICAgICAgICAgICBzd2l0Y2ggKGhkci0+Z3NvX3R5cGUgJiB+VklSVElPX05FVF9IRFJfR1NPX0VD Tikgew0KPiA+ICAgICAgICAgICAgICAgICBjYXNlIFZJUlRJT19ORVRfSERSX0dTT19UQ1BWNDoN Cj4gPiAgICAgICAgICAgICAgICAgY2FzZSBWSVJUSU9fTkVUX0hEUl9HU09fVENQVjY6DQo+ID4g KyAgICAgICAgICAgICAgICAgICAgICAgaWYgKGw0X3Byb3RvICE9IElQUFJPVE9fVENQIHx8DQo+ ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZW4gPCBzaXplb2Yoc3RydWN0IHJ0 ZV90Y3BfaGRyKSkNCj4gPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOw0K PiA+ICAgICAgICAgICAgICAgICAgICAgICAgIHRjcF9oZHIgPSBsNF9oZHI7DQo+IA0KPiB0Y3Bf aGRyID0gcnRlX3BrdG1idWZfbXRvZF9vZmZzZXQobSwgc3RydWN0IHJ0ZV90Y3BfaGRyICosIG0t PmwyX2xlbiArDQo+IG0tPmwzX2xlbik7DQo+IA0KPiANCj4gDQo+ID4gKyAgICAgICAgICAgICAg ICAgICAgICAgdGNwX2xlbiA9ICh0Y3BfaGRyLT5kYXRhX29mZiAmIDB4ZjApID4+IDI7DQo+ID4g KyAgICAgICAgICAgICAgICAgICAgICAgaWYgKGxlbiA8IHRjcF9sZW4pDQo+ID4gKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBicmVhazsNCj4gPiAgICAgICAgICAgICAgICAgICAgICAg ICBtLT5vbF9mbGFncyB8PSBQS1RfVFhfVENQX1NFRzsNCj4gPiAgICAgICAgICAgICAgICAgICAg ICAgICBtLT50c29fc2Vnc3ogPSBoZHItPmdzb19zaXplOw0KPiA+IC0gICAgICAgICAgICAgICAg ICAgICAgIG0tPmw0X2xlbiA9ICh0Y3BfaGRyLT5kYXRhX29mZiAmIDB4ZjApID4+IDI7DQo+ID4g KyAgICAgICAgICAgICAgICAgICAgICAgbS0+bDRfbGVuID0gdGNwX2xlbjsNCj4gPiAgICAgICAg ICAgICAgICAgICAgICAgICBicmVhazsNCj4gPiAgICAgICAgICAgICAgICAgY2FzZSBWSVJUSU9f TkVUX0hEUl9HU09fVURQOg0KPiA+ICsgICAgICAgICAgICAgICAgICAgICAgIGlmIChsNF9wcm90 byAhPSBJUFBST1RPX1VEUCB8fA0KPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg bGVuIDwgc2l6ZW9mKHN0cnVjdCBydGVfdWRwX2hkcikpDQo+ID4gKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBicmVhazsNCj4gPiAgICAgICAgICAgICAgICAgICAgICAgICBtLT5vbF9m bGFncyB8PSBQS1RfVFhfVURQX1NFRzsNCj4gPiAgICAgICAgICAgICAgICAgICAgICAgICBtLT50 c29fc2Vnc3ogPSBoZHItPmdzb19zaXplOw0KPiA+ICAgICAgICAgICAgICAgICAgICAgICAgIG0t Pmw0X2xlbiA9IHNpemVvZihzdHJ1Y3QgcnRlX3VkcF9oZHIpOw0KPiA+IC0tDQo+ID4gMi4xNS4x DQo+ID4NCj4gDQo+IA0KPiAtLQ0KPiBEYXZpZCBNYXJjaGFuZA0KDQo=