From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id 145C7A0526; Wed, 22 Jul 2020 08:39:57 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id AA2B81BFD1; Wed, 22 Jul 2020 08:39:55 +0200 (CEST) Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by dpdk.org (Postfix) with ESMTP id A595711A2; Wed, 22 Jul 2020 08:39:53 +0200 (CEST) IronPort-SDR: sLA0ePa1TPzbocv5pX4yOmc8Jy/hEJuedctZjreWV55UgO7xuBdOc6ki7fPdp5CYBI4MCaUb6G jhXRmTub2vUw== X-IronPort-AV: E=McAfee;i="6000,8403,9689"; a="168423613" X-IronPort-AV: E=Sophos;i="5.75,381,1589266800"; d="scan'208";a="168423613" X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga002.jf.intel.com ([10.7.209.21]) by fmsmga101.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 21 Jul 2020 23:39:52 -0700 IronPort-SDR: EEp7HrNs0/pE5wtR9kPDzmT8Vlxu8dqt57p2mZF47vQYgrEmIBqBQV359atx9Rc2m1lqEgX5nS 9lQ1soUT/htQ== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.75,381,1589266800"; d="scan'208";a="301857561" Received: from orsmsx109.amr.corp.intel.com ([10.22.240.7]) by orsmga002.jf.intel.com with ESMTP; 21 Jul 2020 23:39:52 -0700 Received: from ORSEDG001.ED.cps.intel.com (10.7.248.4) by ORSMSX109.amr.corp.intel.com (10.22.240.7) with Microsoft SMTP Server (TLS) id 14.3.439.0; Tue, 21 Jul 2020 23:39:52 -0700 Received: from NAM04-BN3-obe.outbound.protection.outlook.com (104.47.46.57) by edgegateway.intel.com (134.134.137.100) with Microsoft SMTP Server (TLS) id 14.3.439.0; Tue, 21 Jul 2020 23:39:52 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=fF/Dtl913LjjK1uhMsqtIWl7LoSeUHROpIqC8PPkWv//W+lRu6N3WhBxeAZy0WPn2AjDTQswrpU/tyYqErLEzGjjROMc2wGByyPCO0sLF3SYGytTLfelUiuoIkT+wumamy2o34MiVLoiy81GEhMKzuALhURAKdsig67gduqB494piLuD+VA6V8huBymmGrF75aVEX/9W+17G/BcabIjuON5A0ea76ODxHQFdiFHCIdpm/4p17hU7ATdvGwj4XuybKyzzMokfazJ996czqwxJFwu6CiO5SafWcHQK2ifad+kD72wsQnWrD6gukMn6es2XeXPnYJVXNgsFVd9W5POLjg== 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=tnj3eER8GwTUvaHgdrEf/heK6+ukUzJqqFzG7pnI8m0=; b=CgCMS1lP/nYwVeJlF0P4XoqWcCX3r1Fnz9I7+MfKuTanSXsM1wi8ZFKnZ5/vzU3YGBUIo8EOmTQjSmOxSqlfTL+S2lC33XO+rOaz/1HqTdwwyupgCS+BT0bHQkqlncIGKM1uii6cGzd4URSqiJRU6BLZVX9WJSKrIBvQu+ZxOeWZH3omumvMSM+21zMwTMaFv/6ZbWFzhxC8JAA88o5Zj2TvjzmwBKLsDfcu1Jafmi1qurBPcp9FwRWKB8n04T98q2rJLXaN/Wll8mQOb0Nrp6ruxImA04b3amJZcI0t5O148svUNgG5i7DVeGkVgqcUT3zV1zxAlT8roOn7fpxNDQ== 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=tnj3eER8GwTUvaHgdrEf/heK6+ukUzJqqFzG7pnI8m0=; b=NPpJJHPwa7h1fZRIJTVKLL3D20kHUe6p4Y0TlhEdK0WiamxRVwJq7UWtJzKKLdIsv6rnoSX38FGB6XJ+4CRkM1joUXJlFDgYM9sr2u815KDDktZB8hyD+ykFZy/hC8gVA9prQSuuCEGGUOfuRSaDEmuSHqC31UiGF/rMqB3H0AE= Received: from BYAPR11MB3477.namprd11.prod.outlook.com (2603:10b6:a03:7c::28) by BYAPR11MB3607.namprd11.prod.outlook.com (2603:10b6:a03:b2::31) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3195.23; Wed, 22 Jul 2020 06:39:49 +0000 Received: from BYAPR11MB3477.namprd11.prod.outlook.com ([fe80::11b9:abd9:39e0:f26a]) by BYAPR11MB3477.namprd11.prod.outlook.com ([fe80::11b9:abd9:39e0:f26a%3]) with mapi id 15.20.3195.025; Wed, 22 Jul 2020 06:39:49 +0000 From: "Wang, ShougangX" To: "Guo, Jia" , "Xie, WeiX" , "dev@dpdk.org" CC: "Xing, Beilei" , "stable@dpdk.org" , "Di, ChenxuX" Thread-Topic: [dpdk-dev] [PATCH v2] net/i40e: fix incorrect hash look up table Thread-Index: AQHWXySgbaCuNyO260KHkTx8V6T7nKkRlbeAgAGEFgCAAAjYwA== Date: Wed, 22 Jul 2020 06:39:49 +0000 Message-ID: References: <20200715063515.9262-1-shougangx.wang@intel.com> <20200721054920.29749-1-shougangx.wang@intel.com> <6FD6A7610D20924F885A4ECF34E8AC910463D264@CDSMSX102.ccr.corp.intel.com> <334f916e-1aad-264f-e073-6e737e78c767@intel.com> In-Reply-To: <334f916e-1aad-264f-e073-6e737e78c767@intel.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: intel.com; dkim=none (message not signed) header.d=none;intel.com; dmarc=none action=none header.from=intel.com; x-originating-ip: [192.102.204.36] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 7cb11710-63ea-4712-2175-08d82e0a0857 x-ms-traffictypediagnostic: BYAPR11MB3607: 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: YQ83pdherNMrzohZgMKOmjUEa+2Sr39ptnKGf4MuY+p57pXHCcY5dI4Gb5HBluuYWVF+mYy41b50Ny/dSldj0eKdnxetv0T+z261Z+GDUcACdkEcE0pVB+AYL+Uu0Pe3o+yMOQwTEcax5A6/zl6TNkcM9L+OXMoPULhz0SarHcTW1D3seSEpYOx925fNx1j0yvgLeduyBmyZgOtjwLVAh5dPTtQSgdnOHdnGp/2iTKqdL9E+Gn7nnV+strnpUb1wvKpEh1+97Q147ruWtuBA1oxV/ZyxrIXD3UoZymOTM0gN8FnlHAizBJ9va+0VI5QK x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:BYAPR11MB3477.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFTY:; SFS:(4636009)(136003)(366004)(346002)(396003)(39860400002)(376002)(66446008)(64756008)(66476007)(54906003)(478600001)(66946007)(316002)(110136005)(450100002)(8936002)(107886003)(71200400001)(76116006)(2906002)(83380400001)(55016002)(66556008)(9686003)(7696005)(33656002)(8676002)(6506007)(86362001)(5660300002)(4326008)(52536014)(186003)(53546011)(26005); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata: 3g/VbVwP+pJVFMw7gGkT7xm5wZx2QRB30LNbPkFrQqv2opOOTJfJzTj7ogVueelf7ua7IO5mOhNm8VG2fHVN5EUZKh1x1bYgWDhT9nSL5cn24wSBJnfnI2FMn61mjNK4c+Vr+GJBch3nUhRduloTP/yZ9F1sJY0zv+o9nIFZ4Gi+s/ZJ4JRLKrrxsNvzjvH8xm5REvb+8d2fWifkFFmIZjmHHDvC0NpE8rKEalw3RmRIzKQUXRI8W+6s14p15cJTS+oi9qXtDKZKGRsvCubsjmHNReogRBLoX8+/4J8zzPM6l+tMDdgvMfkjmRsZArSIZ6QPktQcvvvB3yiMXR8UuymXfIxI5Br6rAp8lUENynVFKkpPt+fRfLS8ad8ioB0xCBzU8p4sNS4XD4b/rg7kNIDYoP1k8E+DsQGhE6hCquFGPiJiR3i7YBUc+j6wBe+6nSEgIetMwTXykop/G2bwvk7VA2cQ/yQj8pL65H6OWYloF2hVFpd2oGbruyJYMllm 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: BYAPR11MB3477.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 7cb11710-63ea-4712-2175-08d82e0a0857 X-MS-Exchange-CrossTenant-originalarrivaltime: 22 Jul 2020 06:39:49.5614 (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: f0i14L4SY077bT1NVHsxLL5BH1g+ZnHvjc/I1bWOuPZfU95oikBzRAzX2TX1c2BjRn5CYJmIOmSIt3zrymi34rfRztXNxA9Sm4dazyDmOzU= X-MS-Exchange-Transport-CrossTenantHeadersStamped: BYAPR11MB3607 X-OriginatorOrg: intel.com Subject: Re: [dpdk-dev] [PATCH v2] net/i40e: fix incorrect hash look up table X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 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" SGksIEplZmYNCg0KPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBHdW8sIEpp YSA8amlhLmd1b0BpbnRlbC5jb20+DQo+IFNlbnQ6IFdlZG5lc2RheSwgSnVseSAyMiwgMjAyMCAx OjUxIFBNDQo+IFRvOiBYaWUsIFdlaVggPHdlaXgueGllQGludGVsLmNvbT47IFdhbmcsIFNob3Vn YW5nWA0KPiA8c2hvdWdhbmd4LndhbmdAaW50ZWwuY29tPjsgZGV2QGRwZGsub3JnDQo+IENjOiBY aW5nLCBCZWlsZWkgPGJlaWxlaS54aW5nQGludGVsLmNvbT47IHN0YWJsZUBkcGRrLm9yZw0KPiBT dWJqZWN0OiBSZTogW2RwZGstZGV2XSBbUEFUQ0ggdjJdIG5ldC9pNDBlOiBmaXggaW5jb3JyZWN0 IGhhc2ggbG9vayB1cCB0YWJsZQ0KPiANCj4gaGksIHNob3VnYW5nDQo+IA0KPiBPbiA3LzIxLzIw MjAgMjo0MSBQTSwgWGllLCBXZWlYIHdyb3RlOg0KPiA+IFRlc3RlZC1ieTogWmhhbmcsIFhpWCA8 eGl4LnpoYW5nQGludGVsLmNvbT4NCj4gPg0KPiA+IFJlZ2FyZHMsDQo+ID4gWGllIFdlaQ0KPiA+ DQo+ID4NCj4gPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiA+IEZyb206IGRldiBbbWFp bHRvOmRldi1ib3VuY2VzQGRwZGsub3JnXSBPbiBCZWhhbGYgT2YgU2hvdWdhbmcgV2FuZw0KPiA+ IFNlbnQ6IFR1ZXNkYXksIEp1bHkgMjEsIDIwMjAgMTo0OSBQTQ0KPiA+IFRvOiBkZXZAZHBkay5v cmcNCj4gPiBDYzogWGluZywgQmVpbGVpIDxiZWlsZWkueGluZ0BpbnRlbC5jb20+OyBHdW8sIEpp YQ0KPiA+IDxqaWEuZ3VvQGludGVsLmNvbT47IFdhbmcsIFNob3VnYW5nWCA8c2hvdWdhbmd4Lndh bmdAaW50ZWwuY29tPjsNCj4gPiBzdGFibGVAZHBkay5vcmcNCj4gPiBTdWJqZWN0OiBbZHBkay1k ZXZdIFtQQVRDSCB2Ml0gbmV0L2k0MGU6IGZpeCBpbmNvcnJlY3QgaGFzaCBsb29rIHVwDQo+ID4g dGFibGUNCj4gPg0KPiA+IFRoZSBoYXNoIGxvb2sgdXAgdGFibGUoTFVUKSB3aWxsIG5vdCBiZSBp bml0aWFsaXppbmcgd2hlbiBzdGFydGluZyB0ZXN0cG1kDQo+IHdpdGggLS1kaXNhYmxlLXJzcy4g U28gdGhhdCBzb21lIGludmFsaWQgcXVldWUgaW5kZXhlcyBtYXkgc3RpbGwgaW4gdGhlIExVVC4N Cj4gV2hlbiBlbmFibGUgUlNTIGJ5IGNyZWF0aW5nIFJTUyBydWxlLCBzb21lIHBhY2tldHMgd2ls bCBub3QgYmUgaW50byB0aGUgdmFsaWQNCj4gcXVldWVzLg0KPiA+IFRoaXMgcGF0Y2ggZml4ZXMg dGhpcyBpc3N1ZSBieSBpbml0aWFsaXppbmcgdGhlIExVVCB3aGVuIGNyZWF0aW5nIGFuIFJTUyBy dWxlLg0KPiA+DQo+ID4gRml4ZXM6IGZlYWFlMjg1YjM0MiAoIm5ldC9pNDBlOiBzdXBwb3J0IGhh c2ggY29uZmlndXJhdGlvbiBpbiBSU1MNCj4gPiBmbG93IikNCj4gPiBDYzogc3RhYmxlQGRwZGsu b3JnDQo+ID4NCj4gPiBTaWduZWQtb2ZmLWJ5OiBTaG91Z2FuZyBXYW5nIDxzaG91Z2FuZ3gud2Fu Z0BpbnRlbC5jb20+DQo+ID4gLS0tDQo+ID4gICBkcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2 LmMgfCAxMzQgKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tDQo+ID4gICAxIGZpbGUg Y2hhbmdlZCwgNjMgaW5zZXJ0aW9ucygrKSwgNzEgZGVsZXRpb25zKC0pDQo+ID4NCj4gPiBkaWZm IC0tZ2l0IGEvZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jDQo+ID4gYi9kcml2ZXJzL25l dC9pNDBlL2k0MGVfZXRoZGV2LmMgaW5kZXggMzkzYjUzMjBmLi5lNTY1NDMzOTMgMTAwNjQ0DQo+ ID4gLS0tIGEvZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jDQo+ID4gKysrIGIvZHJpdmVy cy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jDQo+ID4gQEAgLTEzMDcwLDYgKzEzMDcwLDU1IEBAIGk0 MGVfcnNzX2NvbmZfaW5pdChzdHJ1Y3QNCj4gaTQwZV9ydGVfZmxvd19yc3NfY29uZiAqb3V0LA0K PiA+ICAgCXJldHVybiAwOw0KPiA+ICAgfQ0KPiA+DQo+ID4gKy8qIElmIGNvbmYgaXMgTlVMTCwg ZnVuY3Rpb24gd2lsbCBpbml0IGhhc2ggTFVUIHdpdGggZGVmYXVsdA0KPiA+ICtjb25maWdyYXRp b24qLw0KPiANCj4gDQo+IFBsZWFzZSBmaXggdGhlIGNoZWNrcGF0Y2ggaXNzdWUgaGVyZS4NCj4g DQo+IA0KPiA+IHN0YXRpYyBpbnQgaTQwZV9yc3Nfc2V0X2x1dChzdHJ1Y3QgaTQwZV9wZiAqcGYs DQo+IA0KPiANCj4gSW4gb3JkZXIgdG8gZWxpbWluYXRlIGFueSBjb25mdXNlIHdpdGggY3VycmVu dCBpNDBlX3NldF9yc3NfbHV0LCBwbGVhc2UNCj4gY2hhbmdlIHRoZSBuYW1lLCBzdWNoIGFzICJp NDBlX3Jzc19sdXRfaW5pdCIgb3Igb3RoZXIgYmV0dGVyIG5hbWluZy4NCj4gDQpRaSBhbHNvIGdh dmUgbWUgc29tZSBjb21tZW50cy4gSSB3aWxsIGRlZmluZSBpNDBlX3Jzc19sdXRfaW5pdCgpIHRv IGluaXRpYWxpemUgdGhlIExVVC4NCg0KPiANCj4gPiArCQkgc3RydWN0IGk0MGVfcnRlX2Zsb3df cnNzX2NvbmYgKmNvbmYpIHsNCj4gPiArCXN0cnVjdCBpNDBlX2h3ICpodyA9IEk0MEVfUEZfVE9f SFcocGYpOw0KPiA+ICsJdWludDMyX3QgbHV0ID0gMDsNCj4gPiArCXVpbnQxNl90IGosIG51bTsN Cj4gPiArCXVpbnQzMl90IGk7DQo+ID4gKw0KPiA+ICsJLyogSWYgYm90aCBWTURRIGFuZCBSU1Mg ZW5hYmxlZCwgbm90IGFsbCBvZiBQRiBxdWV1ZXMgYXJlDQo+IGNvbmZpZ3VyZWQuDQo+ID4gKwkg KiBJdCdzIG5lY2Vzc2FyeSB0byBjYWxjdWxhdGUgdGhlIGFjdHVhbCBQRiBxdWV1ZXMgdGhhdCBh cmUgY29uZmlndXJlZC4NCj4gPiArCSAqLw0KPiA+ICsJaWYgKHBmLT5kZXZfZGF0YS0+ZGV2X2Nv bmYucnhtb2RlLm1xX21vZGUgJg0KPiBFVEhfTVFfUlhfVk1EUV9GTEFHKQ0KPiA+ICsJCW51bSA9 IGk0MGVfcGZfY2FsY19jb25maWd1cmVkX3F1ZXVlc19udW0ocGYpOw0KPiA+ICsJZWxzZQ0KPiA+ ICsJCW51bSA9IHBmLT5kZXZfZGF0YS0+bmJfcnhfcXVldWVzOw0KPiA+ICsNCj4gPiArCWlmIChj b25mID09IE5VTEwpDQo+ID4gKwkJbnVtID0gUlRFX01JTihudW0sIEk0MEVfTUFYX1FfUEVSX1RD KTsNCj4gPiArCWVsc2UNCj4gPiArCQludW0gPSBSVEVfTUlOKG51bSwgY29uZi0+Y29uZi5xdWV1 ZV9udW0pOw0KPiA+ICsJUE1EX0RSVl9MT0coSU5GTywgIk1heCBvZiBjb250aWd1b3VzICV1IFBG IHF1ZXVlcyBhcmUNCj4gY29uZmlndXJlZCIsDQo+ID4gKwkJCW51bSk7DQo+IA0KPiANCj4gQWxp Z25tZW50IHNob3VsZCBtYXRjaCBvcGVuIHBhcmVudGhlc2lzLg0KPiANCj4gDQo+ID4gKw0KPiA+ ICsJaWYgKG51bSA9PSAwKSB7DQo+ID4gKwkJUE1EX0RSVl9MT0coRVJSLA0KPiA+ICsJCQkiTm8g UEYgcXVldWVzIGFyZSBjb25maWd1cmVkIHRvIGVuYWJsZSBSU1MgZm9yDQo+IHBvcnQgJXUiLA0K PiA+ICsJCQlwZi0+ZGV2X2RhdGEtPnBvcnRfaWQpOw0KPiA+ICsJCXJldHVybiAtRU5PVFNVUDsN Cj4gPiArCX0NCj4gPiArDQo+ID4gKwkvKiBGaWxsIGluIHJlZGlyZWN0aW9uIHRhYmxlICovDQo+ ID4gKwlmb3IgKGkgPSAwLCBqID0gMDsgaSA8IGh3LT5mdW5jX2NhcHMucnNzX3RhYmxlX3NpemU7 IGkrKywgaisrKSB7DQo+ID4gKwkJaWYgKGogPT0gbnVtKQ0KPiA+ICsJCQlqID0gMDsNCj4gPiAr CQlpZiAoY29uZiA9PSBOVUxMKQ0KPiA+ICsJCQlsdXQgPSAobHV0IDw8IDgpIHwgKGogJiAoKDB4 MSA8PA0KPiA+ICsJCQkJaHctPmZ1bmNfY2Fwcy5yc3NfdGFibGVfZW50cnlfd2lkdGgpIC0gMSkp Ow0KPiA+ICsJCWVsc2UNCj4gPiArCQkJbHV0ID0gKGx1dCA8PCA4KSB8IChjb25mLT5jb25mLnF1 ZXVlW2pdICYgKCgweDEgPDwNCj4gPiArCQkJaHctPmZ1bmNfY2Fwcy5yc3NfdGFibGVfZW50cnlf d2lkdGgpIC0gMSkpOw0KPiA+ICsJCWlmICgoaSAmIDMpID09IDMpDQo+ID4gKwkJCUk0MEVfV1JJ VEVfUkVHKGh3LCBJNDBFX1BGUUZfSExVVChpID4+IDIpLCBsdXQpOw0KPiA+ICsJfQ0KPiA+ICsN Cj4gPiArCXJldHVybiAwOw0KPiA+ICt9DQo+ID4gKw0KPiA+ICAgLyogV3JpdGUgSEVOQSByZWdp c3RlciB0byBlbmFibGUgaGFzaCAqLyAgc3RhdGljIGludA0KPiBpNDBlX3Jzc19oYXNoX3NldChz dHJ1Y3QgaTQwZV9wZiAqcGYsIHN0cnVjdCBpNDBlX3J0ZV9mbG93X3Jzc19jb25mDQo+ICpyc3Nf Y29uZikgQEAgLTEzMzE4LDEyICsxMzM2NywyNCBAQCBzdGF0aWMgaW50DQo+IGk0MGVfcnNzX2Vu YWJsZV9oYXNoKHN0cnVjdCBpNDBlX3BmICpwZiwNCj4gPiAgIAkJc3RydWN0IGk0MGVfcnRlX2Zs b3dfcnNzX2NvbmYgKmNvbmYpDQo+ID4gICB7DQo+ID4gKwllbnVtIHJ0ZV9ldGhfcnhfbXFfbW9k ZSBtcV9tb2RlID0NCj4gPiArcGYtPmRldl9kYXRhLT5kZXZfY29uZi5yeG1vZGUubXFfbW9kZTsN Cj4gPiAgIAlzdHJ1Y3QgaTQwZV9ydGVfZmxvd19yc3NfY29uZiAqcnNzX2luZm8gPSAmcGYtPnJz c19pbmZvOw0KPiA+ICAgCXN0cnVjdCBpNDBlX3J0ZV9mbG93X3Jzc19jb25mIHJzc19jb25mOw0K PiA+ICsJaW50IHJldDsNCj4gDQo+IA0KPiBTdWdnZXN0IHNldCB0aGUgMCB0byByZXQgYW5kIHJl dHVybiByZXQgYXQgdGhlIGVuZCBvZiB0aGlzIGZ1bmN0aW9uLCBzbw0KPiByZXQgY291bGQgYmUg dXNlIGluIGFsbCBwYXJ0Lg0KPiANCj4gDQo+ID4NCj4gPiAgIAlpZiAoIShjb25mLT5jb25mLnR5 cGVzICYgcGYtPmFkYXB0ZXItPmZsb3dfdHlwZXNfbWFzaykpDQo+ID4gICAJCXJldHVybiAtRU5P VFNVUDsNCj4gPg0KPiA+ICsJLyogSWYgdGhlIFJTUyBpcyBkaXNhYmxlZCBiZWZvcmUgdGhpcywg dGhlIExVVCBpcyB1bmluaXRpYWxpemVkLg0KPiA+ICsJICogU28gaXQgaXMgbmVjZXNzYXJ5IHRv IGluaXRpYWxpemUgaXQgaGVyZS4NCj4gPiArCSAqLw0KPiA+ICsJaWYgKCEobXFfbW9kZSAmIEVU SF9NUV9SWF9SU1NfRkxBRykgJiYgIXBmLQ0KPiA+cnNzX2luZm8uY29uZi5xdWV1ZV9udW0gJiYN Cj4gPiArCSAgICAhcGYtPmFkYXB0ZXItPnJzc19yZXRhX3VwZGF0ZWQpIHsNCj4gPiArCQlyZXQg PSBpNDBlX3Jzc19zZXRfbHV0KHBmLCBOVUxMKTsNCj4gPiArCQlpZiAocmV0KQ0KPiA+ICsJCQly ZXR1cm4gcmV0Ow0KPiA+ICsJfQ0KPiA+ICsNCj4gPiAgIAltZW1zZXQoJnJzc19jb25mLCAwLCBz aXplb2YocnNzX2NvbmYpKTsNCj4gPiAgIAlydGVfbWVtY3B5KCZyc3NfY29uZiwgY29uZiwgc2l6 ZW9mKHJzc19jb25mKSk7DQo+ID4NCj4gPiBAQCAtMTMzNjIsMzkgKzEzNDIzLDcgQEAgc3RhdGlj IGludA0KPiA+ICAgaTQwZV9yc3NfY29uZmlnX3F1ZXVlX3JlZ2lvbihzdHJ1Y3QgaTQwZV9wZiAq cGYsDQo+ID4gICAJCXN0cnVjdCBpNDBlX3J0ZV9mbG93X3Jzc19jb25mICpjb25mKQ0KPiA+ICAg ew0KPiA+IC0Jc3RydWN0IGk0MGVfaHcgKmh3ID0gSTQwRV9QRl9UT19IVyhwZik7DQo+ID4gLQl1 aW50MzJfdCBsdXQgPSAwOw0KPiA+IC0JdWludDE2X3QgaiwgbnVtOw0KPiA+IC0JdWludDMyX3Qg aTsNCj4gPiAtDQo+ID4gLQkvKiBJZiBib3RoIFZNRFEgYW5kIFJTUyBlbmFibGVkLCBub3QgYWxs IG9mIFBGIHF1ZXVlcyBhcmUNCj4gY29uZmlndXJlZC4NCj4gPiAtCSAqIEl0J3MgbmVjZXNzYXJ5 IHRvIGNhbGN1bGF0ZSB0aGUgYWN0dWFsIFBGIHF1ZXVlcyB0aGF0IGFyZSBjb25maWd1cmVkLg0K PiA+IC0JICovDQo+ID4gLQlpZiAocGYtPmRldl9kYXRhLT5kZXZfY29uZi5yeG1vZGUubXFfbW9k ZSAmDQo+IEVUSF9NUV9SWF9WTURRX0ZMQUcpDQo+ID4gLQkJbnVtID0gaTQwZV9wZl9jYWxjX2Nv bmZpZ3VyZWRfcXVldWVzX251bShwZik7DQo+ID4gLQllbHNlDQo+ID4gLQkJbnVtID0gcGYtPmRl dl9kYXRhLT5uYl9yeF9xdWV1ZXM7DQo+ID4gLQ0KPiA+IC0JbnVtID0gUlRFX01JTihudW0sIGNv bmYtPmNvbmYucXVldWVfbnVtKTsNCj4gPiAtCVBNRF9EUlZfTE9HKElORk8sICJNYXggb2YgY29u dGlndW91cyAldSBQRiBxdWV1ZXMgYXJlDQo+IGNvbmZpZ3VyZWQiLA0KPiA+IC0JCQludW0pOw0K PiA+IC0NCj4gPiAtCWlmIChudW0gPT0gMCkgew0KPiA+IC0JCVBNRF9EUlZfTE9HKEVSUiwNCj4g PiAtCQkJIk5vIFBGIHF1ZXVlcyBhcmUgY29uZmlndXJlZCB0byBlbmFibGUgUlNTIGZvcg0KPiBw b3J0ICV1IiwNCj4gPiAtCQkJcGYtPmRldl9kYXRhLT5wb3J0X2lkKTsNCj4gPiAtCQlyZXR1cm4g LUVOT1RTVVA7DQo+ID4gLQl9DQo+ID4gLQ0KPiA+IC0JLyogRmlsbCBpbiByZWRpcmVjdGlvbiB0 YWJsZSAqLw0KPiA+IC0JZm9yIChpID0gMCwgaiA9IDA7IGkgPCBody0+ZnVuY19jYXBzLnJzc190 YWJsZV9zaXplOyBpKyssIGorKykgew0KPiA+IC0JCWlmIChqID09IG51bSkNCj4gPiAtCQkJaiA9 IDA7DQo+ID4gLQkJbHV0ID0gKGx1dCA8PCA4KSB8IChjb25mLT5jb25mLnF1ZXVlW2pdICYgKCgw eDEgPDwNCj4gPiAtCQkJaHctPmZ1bmNfY2Fwcy5yc3NfdGFibGVfZW50cnlfd2lkdGgpIC0gMSkp Ow0KPiA+IC0JCWlmICgoaSAmIDMpID09IDMpDQo+ID4gLQkJCUk0MEVfV1JJVEVfUkVHKGh3LCBJ NDBFX1BGUUZfSExVVChpID4+IDIpLCBsdXQpOw0KPiA+IC0JfQ0KPiA+ICsJaTQwZV9yc3Nfc2V0 X2x1dChwZiwgY29uZik7DQo+ID4NCj4gPiAgIAlpNDBlX3Jzc19tYXJrX2ludmFsaWRfcnVsZShw ZiwgY29uZik7DQo+ID4NCj4gPiBAQCAtMTM0OTEsNDYgKzEzNTIwLDkgQEAgaTQwZV9yc3NfZGlz YWJsZV9oYXNoKHN0cnVjdCBpNDBlX3BmICpwZiwNCj4gc3RhdGljIGludCAgaTQwZV9yc3NfY2xl YXJfcXVldWVfcmVnaW9uKHN0cnVjdCBpNDBlX3BmICpwZikgIHsNCj4gPiAtCXN0cnVjdCBpNDBl X2h3ICpodyA9IEk0MEVfUEZfVE9fSFcocGYpOw0KPiA+ICAgCXN0cnVjdCBpNDBlX3J0ZV9mbG93 X3Jzc19jb25mICpyc3NfaW5mbyA9ICZwZi0+cnNzX2luZm87DQo+ID4gLQl1aW50MTZfdCBxdWV1 ZVtJNDBFX01BWF9RX1BFUl9UQ107DQo+ID4gLQl1aW50MzJfdCBudW1fcnhxLCBpOw0KPiA+IC0J dWludDMyX3QgbHV0ID0gMDsNCj4gPiAtCXVpbnQxNl90IGosIG51bTsNCj4gPiAtDQo+ID4gLQlu dW1fcnhxID0gUlRFX01JTihwZi0+ZGV2X2RhdGEtPm5iX3J4X3F1ZXVlcywNCj4gSTQwRV9NQVhf UV9QRVJfVEMpOw0KPiA+DQo+ID4gLQlmb3IgKGogPSAwOyBqIDwgbnVtX3J4cTsgaisrKQ0KPiA+ IC0JCXF1ZXVlW2pdID0gajsNCj4gPiAtDQo+ID4gLQkvKiBJZiBib3RoIFZNRFEgYW5kIFJTUyBl bmFibGVkLCBub3QgYWxsIG9mIFBGIHF1ZXVlcyBhcmUNCj4gY29uZmlndXJlZC4NCj4gPiAtCSAq IEl0J3MgbmVjZXNzYXJ5IHRvIGNhbGN1bGF0ZSB0aGUgYWN0dWFsIFBGIHF1ZXVlcyB0aGF0IGFy ZSBjb25maWd1cmVkLg0KPiA+IC0JICovDQo+ID4gLQlpZiAocGYtPmRldl9kYXRhLT5kZXZfY29u Zi5yeG1vZGUubXFfbW9kZSAmDQo+IEVUSF9NUV9SWF9WTURRX0ZMQUcpDQo+ID4gLQkJbnVtID0g aTQwZV9wZl9jYWxjX2NvbmZpZ3VyZWRfcXVldWVzX251bShwZik7DQo+ID4gLQllbHNlDQo+ID4g LQkJbnVtID0gcGYtPmRldl9kYXRhLT5uYl9yeF9xdWV1ZXM7DQo+ID4gLQ0KPiA+IC0JbnVtID0g UlRFX01JTihudW0sIG51bV9yeHEpOw0KPiA+IC0JUE1EX0RSVl9MT0coSU5GTywgIk1heCBvZiBj b250aWd1b3VzICV1IFBGIHF1ZXVlcyBhcmUNCj4gY29uZmlndXJlZCIsDQo+ID4gLQkJCW51bSk7 DQo+ID4gLQ0KPiA+IC0JaWYgKG51bSA9PSAwKSB7DQo+ID4gLQkJUE1EX0RSVl9MT0coRVJSLA0K PiA+IC0JCQkiTm8gUEYgcXVldWVzIGFyZSBjb25maWd1cmVkIHRvIGVuYWJsZSBSU1MgZm9yDQo+ IHBvcnQgJXUiLA0KPiA+IC0JCQlwZi0+ZGV2X2RhdGEtPnBvcnRfaWQpOw0KPiA+IC0JCXJldHVy biAtRU5PVFNVUDsNCj4gPiAtCX0NCj4gPiAtDQo+ID4gLQkvKiBGaWxsIGluIHJlZGlyZWN0aW9u IHRhYmxlICovDQo+ID4gLQlmb3IgKGkgPSAwLCBqID0gMDsgaSA8IGh3LT5mdW5jX2NhcHMucnNz X3RhYmxlX3NpemU7IGkrKywgaisrKSB7DQo+ID4gLQkJaWYgKGogPT0gbnVtKQ0KPiA+IC0JCQlq ID0gMDsNCj4gPiAtCQlsdXQgPSAobHV0IDw8IDgpIHwgKHF1ZXVlW2pdICYgKCgweDEgPDwNCj4g PiAtCQkJaHctPmZ1bmNfY2Fwcy5yc3NfdGFibGVfZW50cnlfd2lkdGgpIC0gMSkpOw0KPiA+IC0J CWlmICgoaSAmIDMpID09IDMpDQo+ID4gLQkJCUk0MEVfV1JJVEVfUkVHKGh3LCBJNDBFX1BGUUZf SExVVChpID4+IDIpLCBsdXQpOw0KPiA+IC0JfQ0KPiA+ICsJaTQwZV9yc3Nfc2V0X2x1dChwZiwg TlVMTCk7DQo+IA0KPiANCj4gTmVlZCB0byBjaGVjayByZXR1cm4gdmFsdWUuDQo+IA0KPiANCj4g Pg0KPiA+ICAgCXJzc19pbmZvLT5jb25mLnF1ZXVlX251bSA9IDA7DQo+ID4gICAJbWVtc2V0KCZy c3NfaW5mby0+Y29uZi5xdWV1ZSwgMCwgc2l6ZW9mKHVpbnQxNl90KSk7DQo+ID4gLS0NCj4gPiAy LjE3LjENCj4gPg0K