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 92CEDA0558; Mon, 5 Sep 2022 06:02:35 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 35BEA40697; Mon, 5 Sep 2022 06:02:35 +0200 (CEST) Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) by mails.dpdk.org (Postfix) with ESMTP id C9424400D4 for ; Mon, 5 Sep 2022 06:02:33 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1662350554; x=1693886554; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=D2mnvqdoiBZLDDgmXvpEa0N8kDuP0lJF57uebQbDd/g=; b=V8tIky1JyqIqBTsi7W+2nSMOI9pjjMpzrBzpslLP0/rQsSGousbTbcSe KXZeyoDQgmjg9NmRKwQ9USII8HzoQ6FIq+g0nd3v1CogKA8FfM12wn1jl OHSHSWDak5g87SproAOpuPh7XLOuxWsi+aWF+dagextNtmNdnVxgFrLR/ vwsN1QkIYpvfd1sChW+tH1Pd3hD96Omu9DcbdaMA2UWVk7f1w4DaxpGdc iKZFsDZUBfCt6KA8oSRaNXjnfJxLcZ/XyZyBBXEg11Z205433JqXlQhLP tIXfq8whfq1iSVfT1GxXJdRmyl3YoyES48iHAee+txtxTMZ2V6bDsDkp4 Q==; X-IronPort-AV: E=McAfee;i="6500,9779,10460"; a="382600222" X-IronPort-AV: E=Sophos;i="5.93,290,1654585200"; d="scan'208";a="382600222" Received: from orsmga008.jf.intel.com ([10.7.209.65]) by fmsmga105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 04 Sep 2022 21:02:32 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.93,290,1654585200"; d="scan'208";a="643647314" Received: from fmsmsx602.amr.corp.intel.com ([10.18.126.82]) by orsmga008.jf.intel.com with ESMTP; 04 Sep 2022 21:02:32 -0700 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.2375.31; Sun, 4 Sep 2022 21:02:32 -0700 Received: from fmsmsx612.amr.corp.intel.com (10.18.126.92) 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.2375.31; Sun, 4 Sep 2022 21:02:31 -0700 Received: from fmsmsx612.amr.corp.intel.com ([10.18.126.92]) by fmsmsx612.amr.corp.intel.com ([10.18.126.92]) with mapi id 15.01.2375.031; Sun, 4 Sep 2022 21:02:31 -0700 From: "Hu, Jiayu" To: Thomas Monjalon CC: kumaraparameshwaran rathinavel , "dev@dpdk.org" , Jun Qiu Subject: RE: [PATCH] gro: fix gro with tcp push flag Thread-Topic: [PATCH] gro: fix gro with tcp push flag Thread-Index: AQHYoLd8mibLC2t6fkuMx6IT+AlLLa2QqVAAgAAEiICAAAMLgIABrScAgDP8NwCAAP1rsIAJD75g Date: Mon, 5 Sep 2022 04:02:31 +0000 Message-ID: <927c323f44f64bbc80b0f18828ddd016@intel.com> References: <20220726061741.21021-1-jun.qiu@jaguarmicro.com> <4016468.6PsWsQAL7t@thomas> <8bafa976e0b54e6eaeba03cd490f9d86@intel.com> In-Reply-To: <8bafa976e0b54e6eaeba03cd490f9d86@intel.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-reaction: no-action dlp-version: 11.6.500.17 dlp-product: dlpe-windows x-originating-ip: [10.22.254.132] Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 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 SGkgUWl1LA0KDQpJIGNhbm5vdCBmaW5kIHRoZSBvcmlnaW5hbCBtYWlsLCBhbmQgcGxlYXNlIHNl ZSByZXBsaWVzIGlubGluZS4NCg0KPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9t OiBIdSwgSmlheXUNCj4gU2VudDogVHVlc2RheSwgQXVndXN0IDMwLCAyMDIyIDQ6NDQgUE0NCj4g VG86ICdUaG9tYXMgTW9uamFsb24nIDx0aG9tYXNAbW9uamFsb24ubmV0Pg0KPiBDYzoga3VtYXJh cGFyYW1lc2h3YXJhbiByYXRoaW5hdmVsIDxrdW1hcmFwYXJhbWVzaDkyQGdtYWlsLmNvbT47DQo+ IGRldkBkcGRrLm9yZzsgSnVuIFFpdSA8anVuLnFpdUBqYWd1YXJtaWNyby5jb20+DQo+IFN1Ympl Y3Q6IFJFOiBbUEFUQ0hdIGdybzogZml4IGdybyB3aXRoIHRjcCBwdXNoIGZsYWcNCj4gDQo+IFN1 cmUsIEkgd2lsbCByZXZpZXcgaXQuDQo+IA0KPiA+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0t DQo+ID4gRnJvbTogVGhvbWFzIE1vbmphbG9uIDx0aG9tYXNAbW9uamFsb24ubmV0Pg0KPiA+IFNl bnQ6IE1vbmRheSwgQXVndXN0IDI5LCAyMDIyIDY6MzYgUE0NCj4gPiBUbzogSHUsIEppYXl1IDxq aWF5dS5odUBpbnRlbC5jb20+DQo+ID4gQ2M6IGt1bWFyYXBhcmFtZXNod2FyYW4gcmF0aGluYXZl bCA8a3VtYXJhcGFyYW1lc2g5MkBnbWFpbC5jb20+Ow0KPiA+IGRldkBkcGRrLm9yZzsgSnVuIFFp dSA8anVuLnFpdUBqYWd1YXJtaWNyby5jb20+DQo+ID4gU3ViamVjdDogUmU6IFtQQVRDSF0gZ3Jv OiBmaXggZ3JvIHdpdGggdGNwIHB1c2ggZmxhZw0KPiA+DQo+ID4gSmlheXUsIHBsZWFzZSBjb3Vs ZCB5b3UgaGVscCBpbiB0aGlzIHJldmlldz8NCj4gPg0KPiA+DQo+ID4gMjcvMDcvMjAyMiAxMDo0 NCwgSnVuIFFpdToNCj4gPiA+IEkgdGhpbmsgdGhpcyBkZWxheSBpcyB0b2xlcmFibGUuDQo+ID4g PiBNYW55IFRDUCBzdGFja3MgZG8gbm90IHRha2Ugc3BlY2lhbCBjYXJlIG9mIFBVU0ggcGFja2V0 cyB3aGVuDQo+ID4gPiByZWNlaXZpbmcNCj4gPiB0aGVtLiBBbGwgcmVjZWl2ZWQgcGFja2V0cyB3 aXRoIGRhdGEgd2lsbCB0cmlnZ2VyIFBvbGwgZXZlbnRzLg0KPiA+ID4NCj4gPiA+IFRoZSBwYXRj aCBpcyBzaW1wbGUgdG8gaW1wbGVtZW50IGFuZCBlYXN5IHRvIHVuZGVyc3RhbmQsIHNpbWlsYXIg dG8NCj4gPiA+IGhvdw0KPiA+IHRoZSBrZXJuZWwgc3RhY2sgaXMgaGFuZGxlZC4NCj4gPiA+DQo+ ID4gPiBGcm9tOiBrdW1hcmFwYXJhbWVzaHdhcmFuIHJhdGhpbmF2ZWwNCj4gPGt1bWFyYXBhcmFt ZXNoOTJAZ21haWwuY29tPg0KPiA+ID4gU2VudDogVHVlc2RheSwgSnVseSAyNiwgMjAyMiAzOjA4 IFBNDQo+ID4gPiBUbzogSnVuIFFpdSA8anVuLnFpdUBqYWd1YXJtaWNyby5jb20+DQo+ID4gPiBD YzogZGV2QGRwZGsub3JnOyBqaWF5dS5odUBpbnRlbC5jb207IHN0YWJsZUBkcGRrLm9yZw0KPiA+ ID4gU3ViamVjdDogUmU6IFtQQVRDSF0gZ3JvOiBmaXggZ3JvIHdpdGggdGNwIHB1c2ggZmxhZw0K PiA+ID4NCj4gPiA+IFdlIHNob3VsZCBkbyBpdCBmb3IgdGhlIHJ0ZV9ncm9fcmVhc3NlbWJsZSBh cyB3ZWxsLCB3aXRoIHRpbWVyIG1vZGUNCj4gPiA+IGl0DQo+ID4gY291bGQgbGVhZCB0byBtb3Jl IGR1cGxpY2F0ZSBBQ0tzLiBJIGhhZCBhIHByb3Bvc2FsIGZvciB0aGUNCj4gPiBlbmhhbmNlbWVu dCB3aGljaCB3b3VsZCBoYW5kbGUgYm90aCAgcnRlX2dyb19yZWFzc2VtYmxlIGFuZA0KPiA+IHJ0 ZV9ncm9fcmVhc3NlbWJsZV9idXJzdCBidXQgaGF2ZSBub3QgZ290IGFueSByZXNwb25zZSB5ZXQu DQo+ID4gPg0KPiA+ID4gSSBoYXZlIGEgY3VzdG9tIHBhdGNoIHdoaWNoIGlzIHdvcmtpbmcgZmlu ZSBmb3IgdGltZXIgbW9kZSB3aGVyZQ0KPiA+ID4gdGhlcmUgaXMNCj4gPiBubyBwYWNrZXQgcmVv cmRlcmluZywgZWFybGllciB3aXRob3V0IHRoZSBwYXRjaCB0aGVyZSB3ZXJlIERVUC1BQ0tzDQo+ ID4gYW5kIHRoaXMgY291bGQgcG90ZW50aWFsbHkgYWZmZWN0IHRoZSB3aW5kb3cgc2NhbGluZy4N Cj4gPiA+DQo+ID4gPiBPbiBUdWUsIEp1bCAyNiwgMjAyMiBhdCAxMjoyNyBQTSBKdW4gUWl1DQo+ ID4gPGp1bi5xaXVAamFndWFybWljcm8uY29tPG1haWx0bzpqdW4ucWl1QGphZ3Vhcm1pY3JvLmNv bT4+IHdyb3RlOg0KPiA+ID4gTWF5IGJlIGluIHJ0ZV9ncm9fcmVhc3NlbWJsZV9idXJzdCwgd2hl cmUgbm8gZGVsYXkgaXMgaW50cm9kdWNlZCwNCj4gPiA+IFBVU0ggcGFja2V0cyBjYW4gYmUgbWVy Z2VkDQo+ID4gPg0KPiA+ID4g5Y+R5Lu25Lq6OiBrdW1hcmFwYXJhbWVzaHdhcmFuIHJhdGhpbmF2 ZWwNCj4gPiA+DQo+IDxrdW1hcmFwYXJhbWVzaDkyQGdtYWlsLmNvbTxtYWlsdG86a3VtYXJhcGFy YW1lc2g5MkBnbWFpbC5jb20+Pg0KPiA+ID4g5Y+R6YCB5pe26Ze0OiAyMDIy5bm0N+aciDI25pel IDE0OjQxDQo+ID4gPiDmlLbku7bkuro6IEp1biBRaXUNCj4gPiA8anVuLnFpdUBqYWd1YXJtaWNy by5jb208bWFpbHRvOmp1bi5xaXVAamFndWFybWljcm8uY29tPj4NCj4gPiA+IOaKhOmAgTogZGV2 QGRwZGsub3JnPG1haWx0bzpkZXZAZHBkay5vcmc+Ow0KPiA+ID4gamlheXUuaHVAaW50ZWwuY29t PG1haWx0bzpqaWF5dS5odUBpbnRlbC5jb20+Ow0KPiA+ID4gc3RhYmxlQGRwZGsub3JnPG1haWx0 bzpzdGFibGVAZHBkay5vcmc+DQo+ID4gPiDkuLvpopg6IFJlOiBbUEFUQ0hdIGdybzogZml4IGdy byB3aXRoIHRjcCBwdXNoIGZsYWcNCj4gPiA+DQo+ID4gPg0KPiA+ID4NCj4gPiA+IE9uIFR1ZSwg SnVsIDI2LCAyMDIyIGF0IDExOjQ4IEFNIEp1biBRaXUNCj4gPiA8anVuLnFpdUBqYWd1YXJtaWNy by5jb208bWFpbHRvOmp1bi5xaXVAamFndWFybWljcm8uY29tPj4gd3JvdGU6DQo+ID4gPiBUQ1Ag ZGF0YSBwYWNrZXRzIHNvbWV0aW1lcyBjYXJyeSBhIFBVU0ggZmxhZy4gQ3VycmVudGx5LCBvbmx5 IHRoZQ0KPiA+ID4gcGFja2V0cyB0aGF0IGRvIG5vdCBoYXZlIFBVU0ggZmxhZyBjYW4gYmUgR1JP ZWQuDQo+ID4gPiBUaGUgcGFja2V0cyB0aGF0IGhhdmUgYSBQVVNIIGZsYWcgY2Fubm90IGJlIEdS T2VkLCB0aGUgcGFja2V0cyB0aGF0DQo+ID4gPiBjYW5ub3QgYmUgcHJvY2Vzc2VkIGJ5IEdSTyBh cmUgcGxhY2VkIGxhc3QuDQo+ID4gPiBJbiB0aGlzIGNhc2UsIHRoZSByZWNlaXZlZCBwYWNrZXRz IG1heSBiZSBvdXQgb2Ygb3JkZXIuDQo+ID4gPiBGb3IgZXhhbXBsZSwgdGhlcmUgYXJlIHR3byBw YWNrZXRzIG1idWYxIGFuZCBtYnVmMi4gbWJ1ZjEgY29udGFpbnMNCj4gPiA+IFBVU0ggZmxhZywg bWJ1ZjIgZG9lcyBub3QgY29udGFpbiBQVVNIIGZsYWcuDQo+ID4gPiBBZnRlciBHUk8gcHJvY2Vz c2luZywgbWJ1ZjIgaXMgc2VudCBmb3IgcHJvY2Vzc2luZyBiZWZvcmUgbWJ1ZjEuDQo+ID4gPiBU aGlzIG91dC1vZi1vcmRlciB3aWxsIGFmZmVjdCBUQ1AgcHJvY2Vzc2luZyBwZXJmb3JtYW5jZSBh bmQgbGVhZCB0bw0KPiA+ID4gdW5uZWNlc3NhcnkgZHVwLUFDSy4NCj4gPiA+DQo+ID4gPiBSZWZl cnJpbmcgdG8gdGhlIExpbnV4IGtlcm5lbCBpbXBsZW1lbnRhdGlvbiwgcGFja2V0cyB3aXRoIFBV U0ggZmxhZw0KPiA+ID4gY2FuIGFsc28gcGVyZm9ybSBHUk8uIEFuZCBpZiBvbmUgb2YgdGhlIHBh Y2tldHMgY29udGFpbmluZyBQVVNIDQo+ID4gPiBmbGFnLCB0aGUgcGFja2V0cyBhZnRlciBHUk8g d2lsbCBjYXJyeSBQVVNIIGZsYWcuDQo+ID4gPg0KPiA+ID4gSW4gY2FzZSBvZiBzbWFsbGVyIHRy YW5zZmVycyBpbiB3aGljaCB0aGUgVENQIHNlZ21lbnQgc2l6ZSBpcyBub3QNCj4gPiA+IG1vcmUg dGhhbg0KPiA+IG9uZSBNVFUsIGl0IGlzIGEgc2luZ2xlIFRDUCBwYWNrZXQgd2l0aCBQU0ggZmxh ZyBzZXQsIHNvIGluIHRob3NlDQo+ID4gY2FzZXMgIHdlIGFyZSBpbnRyb2R1Y2luZyB1bndhbnRl ZCBkZWxheS4gIEkgdGhpbmsgdGhlIGJldHRlciBhcHByb2FjaA0KPiA+IHdvdWxkIGJlIGlmIHRo ZXJlIGFyZSBwcmV2aW91cyBwYWNrZXRzIGluIHRoZSBmbG93IGFuZCB0aGUgY3VycmVudA0KPiA+ IHBhY2tldCByZWNlaXZlZCBoYXMgUFNIIGZsYWcgdGhlbiBjb2FsZXNjZSB3aXRoIHRoZSBwcmV2 aW91cyBwYWNrZXQsDQo+ID4gaWYgbG9va3VwIGlzIGZhaWx1cmUgYW5kIHRoZSBjdXJyZW50IHBh Y2tldCBoYXMgUFNIIGZsYWcgc2V0IHRoZW4gZGVsaXZlciBpdA0KPiBpbW1lZGlhdGVseS4NCg0K SSBhZ3JlZSB3aXRoIEt1bWEuIFRoZSBpbXBsZW1lbnRhdGlvbiBpbiB0aGUgcGF0Y2ggd2lsbCBt YWtlIFBTSCBwYWNrZXQNCndhaXQgaW4gdGhlIGdybyB0YWJsZS4gRm9yIGEgUFNIIHBhY2tldCwg d2UgbmVlZCB0byB0cnkgdG8gbWVyZ2UgaXQgd2l0aA0KcHJldmlvdXMgcGFja2V0cyBpbiB0aGUg dGFibGUgZmlyc3QuIElmIG1lcmdlIHN1Y2Nlc3NmdWxseSwgdGhlIG1lcmdlZCBwYWNrZXQNCm5l ZWRzIHRvIG1hcmsgd2l0aCBQU0ggZmxhZyBhbmQgZGVsaXZlciBpdCB0byBhcHAgdGhlbjsgSWYg bm90LCB0aGlzDQpQU0ggcGFja2V0IGFsc28gbmVlZHMgdG8gYmUgZGVsaXZlcmVkIHRvIGFwcCBp bW1lZGlhdGVseS4NCg0KVGhhbmtzLA0KSmlheXUNCg0KPiA+ID4NCj4gPiA+IEZpeGVzOiAwZDJj YmU1OWI3MTkgKCJsaWIvZ3JvOiBzdXBwb3J0IFRDUC9JUHY0IikNCj4gPiA+IENjOiBzdGFibGVA ZHBkay5vcmc8bWFpbHRvOnN0YWJsZUBkcGRrLm9yZz4NCj4gPiA+DQo+ID4gPiBTaWduZWQtb2Zm LWJ5OiBKdW4gUWl1DQo+ID4gPiA8anVuLnFpdUBqYWd1YXJtaWNyby5jb208bWFpbHRvOmp1bi5x aXVAamFndWFybWljcm8uY29tPj4NCj4gPiA+IC0tLQ0KPiA+ID4gIGxpYi9ncm8vZ3JvX3RjcDQu YyAgICAgICB8ICA0ICsrLS0NCj4gPiA+ICBsaWIvZ3JvL2dyb190Y3A0LmggICAgICAgfCAxNiAr KysrKysrKysrKysrLS0tDQo+ID4gPiAgbGliL2dyby9ncm9fdnhsYW5fdGNwNC5jIHwgIDQgKyst LQ0KPiA+ID4gIDMgZmlsZXMgY2hhbmdlZCwgMTcgaW5zZXJ0aW9ucygrKSwgNyBkZWxldGlvbnMo LSkNCj4gPiA+DQo+ID4gPiBkaWZmIC0tZ2l0IGEvbGliL2dyby9ncm9fdGNwNC5jIGIvbGliL2dy by9ncm9fdGNwNC5jIGluZGV4DQo+ID4gPiA3NDk4YzY2MTQxLi43ODQ5YTJiZDFkIDEwMDY0NA0K PiA+ID4gLS0tIGEvbGliL2dyby9ncm9fdGNwNC5jDQo+ID4gPiArKysgYi9saWIvZ3JvL2dyb190 Y3A0LmMNCj4gPiA+IEBAIC0yMjAsMTAgKzIyMCwxMCBAQCBncm9fdGNwNF9yZWFzc2VtYmxlKHN0 cnVjdCBydGVfbWJ1ZiAqcGt0LA0KPiA+ID4gICAgICAgICBoZHJfbGVuID0gcGt0LT5sMl9sZW4g KyBwa3QtPmwzX2xlbiArIHBrdC0+bDRfbGVuOw0KPiA+ID4NCj4gPiA+ICAgICAgICAgLyoNCj4g PiA+IC0gICAgICAgICogRG9uJ3QgcHJvY2VzcyB0aGUgcGFja2V0IHdoaWNoIGhhcyBGSU4sIFNZ TiwgUlNULCBQU0gsIFVSRywgRUNFDQo+ID4gPiArICAgICAgICAqIERvbid0IHByb2Nlc3MgdGhl IHBhY2tldCB3aGljaCBoYXMgRklOLCBTWU4sIFJTVCwgVVJHLA0KPiA+ID4gKyBFQ0UNCj4gPiA+ ICAgICAgICAgICogb3IgQ1dSIHNldC4NCj4gPiA+ICAgICAgICAgICovDQo+ID4gPiAtICAgICAg IGlmICh0Y3BfaGRyLT50Y3BfZmxhZ3MgIT0gUlRFX1RDUF9BQ0tfRkxBRykNCj4gPiA+ICsgICAg ICAgaWYgKHRjcF9oZHItPnRjcF9mbGFncyAmICh+KFJURV9UQ1BfQUNLX0ZMQUcgfA0KPiA+ID4g KyBSVEVfVENQX1BTSF9GTEFHKSkpDQo+ID4gPiAgICAgICAgICAgICAgICAgcmV0dXJuIC0xOw0K PiA+ID4gICAgICAgICAvKg0KPiA+ID4gICAgICAgICAgKiBEb24ndCBwcm9jZXNzIHRoZSBwYWNr ZXQgd2hvc2UgcGF5bG9hZCBsZW5ndGggaXMgbGVzcw0KPiA+ID4gdGhhbiBvciBkaWZmIC0tZ2l0 IGEvbGliL2dyby9ncm9fdGNwNC5oIGIvbGliL2dyby9ncm9fdGNwNC5oIGluZGV4DQo+ID4gPiAy MTJmOTdhMDQyLi4yOTc0ZmFmMjI4IDEwMDY0NA0KPiA+ID4gLS0tIGEvbGliL2dyby9ncm9fdGNw NC5oDQo+ID4gPiArKysgYi9saWIvZ3JvL2dyb190Y3A0LmgNCj4gPiA+IEBAIC0yMTAsNyArMjEw LDggQEAgbWVyZ2VfdHdvX3RjcDRfcGFja2V0cyhzdHJ1Y3QgZ3JvX3RjcDRfaXRlbQ0KPiA+ICpp dGVtLA0KPiA+ID4gICAgICAgICAgICAgICAgIHVpbnQxNl90IGwyX29mZnNldCkNCj4gPiA+ICB7 DQo+ID4gPiAgICAgICAgIHN0cnVjdCBydGVfbWJ1ZiAqcGt0X2hlYWQsICpwa3RfdGFpbCwgKmxh c3RzZWc7DQo+ID4gPiAtICAgICAgIHVpbnQxNl90IGhkcl9sZW4sIGwyX2xlbjsNCj4gPiA+ICsg ICAgICAgc3RydWN0IHJ0ZV90Y3BfaGRyICpoZWFkX3RjcF9oZHIsICp0YWlsX3RjcF9oZHI7DQo+ ID4gPiArICAgICAgIHVpbnQxNl90IGhkcl9sZW4sIGwyX2xlbiwgbDNfb2Zmc2V0Ow0KPiA+ID4N Cj4gPiA+ICAgICAgICAgaWYgKGNtcCA+IDApIHsNCj4gPiA+ICAgICAgICAgICAgICAgICBwa3Rf aGVhZCA9IGl0ZW0tPmZpcnN0c2VnOyBAQCAtMjIxLDEzICsyMjIsMjIgQEANCj4gPiA+IG1lcmdl X3R3b190Y3A0X3BhY2tldHMoc3RydWN0IGdyb190Y3A0X2l0ZW0gKml0ZW0sDQo+ID4gPiAgICAg ICAgIH0NCj4gPiA+DQo+ID4gPiAgICAgICAgIC8qIGNoZWNrIGlmIHRoZSBJUHY0IHBhY2tldCBs ZW5ndGggaXMgZ3JlYXRlciB0aGFuIHRoZSBtYXggdmFsdWUgKi8NCj4gPiA+IC0gICAgICAgaGRy X2xlbiA9IGwyX29mZnNldCArIHBrdF9oZWFkLT5sMl9sZW4gKyBwa3RfaGVhZC0+bDNfbGVuICsN Cj4gPiA+IC0gICAgICAgICAgICAgICBwa3RfaGVhZC0+bDRfbGVuOw0KPiA+ID4gKyAgICAgICBs M19vZmZzZXQgPSBsMl9vZmZzZXQgKyBwa3RfaGVhZC0+bDJfbGVuICsgcGt0X2hlYWQtPmwzX2xl bjsNCj4gPiA+ICsgICAgICAgaGRyX2xlbiA9IGwzX29mZnNldCArIHBrdF9oZWFkLT5sNF9sZW47 DQo+ID4gPiAgICAgICAgIGwyX2xlbiA9IGwyX29mZnNldCA+IDAgPyBwa3RfaGVhZC0+b3V0ZXJf bDJfbGVuIDogcGt0X2hlYWQtPmwyX2xlbjsNCj4gPiA+ICAgICAgICAgaWYgKHVubGlrZWx5KHBr dF9oZWFkLT5wa3RfbGVuIC0gbDJfbGVuICsgcGt0X3RhaWwtPnBrdF9sZW4gLQ0KPiA+ID4gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZHJfbGVuID4gTUFYX0lQVjRfUEtUX0xFTkdU SCkpDQo+ID4gPiAgICAgICAgICAgICAgICAgcmV0dXJuIDA7DQo+ID4gPg0KPiA+ID4gKyAgICAg ICAvKiBtZXJnZSBwdXNoIGZsYWcgdG8gcGt0X2hlYWQgKi8NCj4gPiA+ICsgICAgICAgdGFpbF90 Y3BfaGRyID0gcnRlX3BrdG1idWZfbXRvZF9vZmZzZXQocGt0X3RhaWwsDQo+ID4gPiArICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBydGVfdGNwX2hkciAqLCBsM19vZmZzZXQp Ow0KPiA+ID4gKyAgICAgICBpZiAodGFpbF90Y3BfaGRyLT50Y3BfZmxhZ3MgJiBSVEVfVENQX1BT SF9GTEFHKSB7DQo+ID4gPiArICAgICAgICAgICAgICAgaGVhZF90Y3BfaGRyID0gcnRlX3BrdG1i dWZfbXRvZF9vZmZzZXQocGt0X2hlYWQsDQo+ID4gPiArICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgc3RydWN0IHJ0ZV90Y3BfaGRyICosIGwzX29mZnNldCk7DQo+ID4gPiAr ICAgICAgICAgICAgICAgaGVhZF90Y3BfaGRyLT50Y3BfZmxhZ3MgfD0gUlRFX1RDUF9QU0hfRkxB RzsNCj4gPiA+ICsgICAgICAgfQ0KPiA+ID4gKw0KPiA+ID4gICAgICAgICAvKiByZW1vdmUgdGhl IHBhY2tldCBoZWFkZXIgZm9yIHRoZSB0YWlsIHBhY2tldCAqLw0KPiA+ID4gICAgICAgICBydGVf cGt0bWJ1Zl9hZGoocGt0X3RhaWwsIGhkcl9sZW4pOw0KPiA+ID4NCj4gPiA+IGRpZmYgLS1naXQg YS9saWIvZ3JvL2dyb192eGxhbl90Y3A0LmMgYi9saWIvZ3JvL2dyb192eGxhbl90Y3A0LmMNCj4g PiA+IGluZGV4IDNiZTRkZWI3YzcuLjg4NDgwMmFmMGIgMTAwNjQ0DQo+ID4gPiAtLS0gYS9saWIv Z3JvL2dyb192eGxhbl90Y3A0LmMNCj4gPiA+ICsrKyBiL2xpYi9ncm8vZ3JvX3Z4bGFuX3RjcDQu Yw0KPiA+ID4gQEAgLTMyNiwxMCArMzI2LDEwIEBAIGdyb192eGxhbl90Y3A0X3JlYXNzZW1ibGUo c3RydWN0IHJ0ZV9tYnVmDQo+ID4gKnBrdCwNCj4gPiA+ICAgICAgICAgdGNwX2hkciA9IChzdHJ1 Y3QgcnRlX3RjcF9oZHIgKikoKGNoYXIgKilpcHY0X2hkciArDQo+ID4gPiBwa3QtPmwzX2xlbik7 DQo+ID4gPg0KPiA+ID4gICAgICAgICAvKg0KPiA+ID4gLSAgICAgICAgKiBEb24ndCBwcm9jZXNz IHRoZSBwYWNrZXQgd2hpY2ggaGFzIEZJTiwgU1lOLCBSU1QsIFBTSCwgVVJHLA0KPiA+ID4gKyAg ICAgICAgKiBEb24ndCBwcm9jZXNzIHRoZSBwYWNrZXQgd2hpY2ggaGFzIEZJTiwgU1lOLCBSU1Qs IFVSRywNCj4gPiA+ICAgICAgICAgICogRUNFIG9yIENXUiBzZXQuDQo+ID4gPiAgICAgICAgICAq Lw0KPiA+ID4gLSAgICAgICBpZiAodGNwX2hkci0+dGNwX2ZsYWdzICE9IFJURV9UQ1BfQUNLX0ZM QUcpDQo+ID4gPiArICAgICAgIGlmICh0Y3BfaGRyLT50Y3BfZmxhZ3MgJiAofihSVEVfVENQX0FD S19GTEFHIHwNCj4gPiA+ICsgUlRFX1RDUF9QU0hfRkxBRykpKQ0KPiA+ID4gICAgICAgICAgICAg ICAgIHJldHVybiAtMTsNCj4gPiA+DQo+ID4gPiAgICAgICAgIGhkcl9sZW4gPSBwa3QtPm91dGVy X2wyX2xlbiArIHBrdC0+b3V0ZXJfbDNfbGVuICsNCj4gPiA+IHBrdC0+bDJfbGVuDQo+ID4gPiAr DQo+ID4gPiAtLQ0KPiA+ID4gMi4yNS4xDQo+ID4gPg0KPiA+DQo+ID4NCj4gPg0KPiA+DQoNCg==