From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-7.0 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS, URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id C2D46C04AB5 for ; Thu, 6 Jun 2019 07:32:57 +0000 (UTC) Received: from dpdk.org (dpdk.org [92.243.14.124]) by mail.kernel.org (Postfix) with ESMTP id 3D07020673 for ; Thu, 6 Jun 2019 07:32:57 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 3D07020673 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=intel.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=dev-bounces@dpdk.org Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 709F71B94F; Thu, 6 Jun 2019 09:32:56 +0200 (CEST) Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by dpdk.org (Postfix) with ESMTP id 3B6681B94D for ; Thu, 6 Jun 2019 09:32:54 +0200 (CEST) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga002.fm.intel.com ([10.253.24.26]) by orsmga102.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 06 Jun 2019 00:32:53 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.63,558,1557212400"; d="scan'208";a="182215962" Received: from fmsmsx104.amr.corp.intel.com ([10.18.124.202]) by fmsmga002.fm.intel.com with ESMTP; 06 Jun 2019 00:32:53 -0700 Received: from FMSMSX109.amr.corp.intel.com (10.18.116.9) by fmsmsx104.amr.corp.intel.com (10.18.124.202) with Microsoft SMTP Server (TLS) id 14.3.408.0; Thu, 6 Jun 2019 00:32:52 -0700 Received: from shsmsx106.ccr.corp.intel.com (10.239.4.159) by fmsmsx109.amr.corp.intel.com (10.18.116.9) with Microsoft SMTP Server (TLS) id 14.3.408.0; Thu, 6 Jun 2019 00:32:52 -0700 Received: from shsmsx103.ccr.corp.intel.com ([169.254.4.120]) by SHSMSX106.ccr.corp.intel.com ([169.254.10.113]) with mapi id 14.03.0415.000; Thu, 6 Jun 2019 15:32:50 +0800 From: "Rong, Leyi" To: Maxime Coquelin , "Zhang, Qi Z" CC: "dev@dpdk.org" , "Stillwell Jr, Paul M" Thread-Topic: [dpdk-dev] [PATCH 40/49] net/ice/base: code clean up Thread-Index: AQHVGpibZIXXkbuW1UqLA/qNE/Zw86aMcv0AgAHD+vA= Date: Thu, 6 Jun 2019 07:32:49 +0000 Message-ID: <47ACC7359E973C41ACB0C2477632BC72518B7FBF@SHSMSX103.ccr.corp.intel.com> References: <20190604054248.68510-1-leyi.rong@intel.com> <20190604054248.68510-41-leyi.rong@intel.com> <74fae359-c568-1c7f-cd00-23ab1a1c4d97@redhat.com> In-Reply-To: <74fae359-c568-1c7f-cd00-23ab1a1c4d97@redhat.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ctpclassification: CTP_NT x-titus-metadata-40: eyJDYXRlZ29yeUxhYmVscyI6IiIsIk1ldGFkYXRhIjp7Im5zIjoiaHR0cDpcL1wvd3d3LnRpdHVzLmNvbVwvbnNcL0ludGVsMyIsImlkIjoiN2FmMDAzZGEtNGU5Ny00ODY1LTk4YzgtOTM4ODBjODNmNGUwIiwicHJvcHMiOlt7Im4iOiJDVFBDbGFzc2lmaWNhdGlvbiIsInZhbHMiOlt7InZhbHVlIjoiQ1RQX05UIn1dfV19LCJTdWJqZWN0TGFiZWxzIjpbXSwiVE1DVmVyc2lvbiI6IjE3LjEwLjE4MDQuNDkiLCJUcnVzdGVkTGFiZWxIYXNoIjoidHpyNlZyNkZGVHZWUlRiV244XC9BcG1GK3VvS2YyRmpwWnN3SzIzeFJMeDFXZDhMOGZTaVNmTHhqRWhPckJBaTUifQ== dlp-product: dlpe-windows dlp-version: 11.2.0.6 dlp-reaction: no-action x-originating-ip: [10.239.127.40] Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 Subject: Re: [dpdk-dev] [PATCH 40/49] net/ice/base: code clean up 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" DQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IE1heGltZSBDb3F1ZWxpbiBb bWFpbHRvOm1heGltZS5jb3F1ZWxpbkByZWRoYXQuY29tXQ0KPiBTZW50OiBXZWRuZXNkYXksIEp1 bmUgNSwgMjAxOSA4OjA3IFBNDQo+IFRvOiBSb25nLCBMZXlpIDxsZXlpLnJvbmdAaW50ZWwuY29t PjsgWmhhbmcsIFFpIFogPHFpLnouemhhbmdAaW50ZWwuY29tPg0KPiBDYzogZGV2QGRwZGsub3Jn OyBTdGlsbHdlbGwgSnIsIFBhdWwgTSA8cGF1bC5tLnN0aWxsd2VsbC5qckBpbnRlbC5jb20+DQo+ IFN1YmplY3Q6IFJlOiBbZHBkay1kZXZdIFtQQVRDSCA0MC80OV0gbmV0L2ljZS9iYXNlOiBjb2Rl IGNsZWFuIHVwDQo+IA0KPiANCj4gDQo+IE9uIDYvNC8xOSA3OjQyIEFNLCBMZXlpIFJvbmcgd3Jv dGU6DQo+ID4gQ2xlYW51cCB0aGUgdXNlbGVzcyBjb2RlLg0KPiA+DQo+ID4gU2lnbmVkLW9mZi1i eTogUGF1bCBNIFN0aWxsd2VsbCBKciA8cGF1bC5tLnN0aWxsd2VsbC5qckBpbnRlbC5jb20+DQo+ ID4gU2lnbmVkLW9mZi1ieTogTGV5aSBSb25nIDxsZXlpLnJvbmdAaW50ZWwuY29tPg0KPiA+IC0t LQ0KPiA+ICAgZHJpdmVycy9uZXQvaWNlL2Jhc2UvaWNlX2NvbnRyb2xxLmMgIHwgNjIgKy0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KPiA+ICAgZHJpdmVycy9uZXQvaWNlL2Jhc2UvaWNlX2Zk aXIuaCAgICAgIHwgIDEgLQ0KPiA+ICAgZHJpdmVycy9uZXQvaWNlL2Jhc2UvaWNlX2ZsZXhfcGlw ZS5jIHwgIDUgKystDQo+ID4gICBkcml2ZXJzL25ldC9pY2UvYmFzZS9pY2Vfc2NoZWQuYyAgICAg fCAgNCArLQ0KPiA+ICAgZHJpdmVycy9uZXQvaWNlL2Jhc2UvaWNlX3R5cGUuaCAgICAgIHwgIDMg KysNCj4gPiAgIDUgZmlsZXMgY2hhbmdlZCwgMTAgaW5zZXJ0aW9ucygrKSwgNjUgZGVsZXRpb25z KC0pDQo+ID4NCj4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvaWNlL2Jhc2UvaWNlX2NvbnRy b2xxLmMNCj4gPiBiL2RyaXZlcnMvbmV0L2ljZS9iYXNlL2ljZV9jb250cm9scS5jDQo+ID4gaW5k ZXggNGNiNmRmMTEzLi4zZWYwN2UwOTQgMTAwNjQ0DQo+ID4gLS0tIGEvZHJpdmVycy9uZXQvaWNl L2Jhc2UvaWNlX2NvbnRyb2xxLmMNCj4gPiArKysgYi9kcml2ZXJzL25ldC9pY2UvYmFzZS9pY2Vf Y29udHJvbHEuYw0KPiA+IEBAIC0yNjIsNyArMjYyLDcgQEAgaWNlX2NmZ19zcV9yZWdzKHN0cnVj dCBpY2VfaHcgKmh3LCBzdHJ1Y3QgaWNlX2N0bF9xX2luZm8gKmNxKQ0KPiA+ICAgICogQGh3OiBw b2ludGVyIHRvIHRoZSBoYXJkd2FyZSBzdHJ1Y3R1cmUNCj4gPiAgICAqIEBjcTogcG9pbnRlciB0 byB0aGUgc3BlY2lmaWMgQ29udHJvbCBxdWV1ZQ0KPiA+ICAgICoNCj4gPiAtICogQ29uZmlndXJl IGJhc2UgYWRkcmVzcyBhbmQgbGVuZ3RoIHJlZ2lzdGVycyBmb3IgdGhlIHJlY2VpdmUgKGV2ZW50 DQo+ID4gcSkNCj4gPiArICogQ29uZmlndXJlIGJhc2UgYWRkcmVzcyBhbmQgbGVuZ3RoIHJlZ2lz dGVycyBmb3IgdGhlIHJlY2VpdmUgKGV2ZW50DQo+ID4gKyBxdWV1ZSkNCj4gPiAgICAqLw0KPiA+ ICAgc3RhdGljIGVudW0gaWNlX3N0YXR1cw0KPiA+ICAgaWNlX2NmZ19ycV9yZWdzKHN0cnVjdCBp Y2VfaHcgKmh3LCBzdHJ1Y3QgaWNlX2N0bF9xX2luZm8gKmNxKSBAQA0KPiA+IC03NzIsOSArNzcy LDYgQEAgc3RhdGljIHUxNiBpY2VfY2xlYW5fc3Eoc3RydWN0IGljZV9odyAqaHcsIHN0cnVjdCBp Y2VfY3RsX3FfaW5mbyAqY3EpDQo+ID4gICAJc3RydWN0IGljZV9jdGxfcV9yaW5nICpzcSA9ICZj cS0+c3E7DQo+ID4gICAJdTE2IG50YyA9IHNxLT5uZXh0X3RvX2NsZWFuOw0KPiA+ICAgCXN0cnVj dCBpY2Vfc3FfY2QgKmRldGFpbHM7DQo+ID4gLSNpZiAwDQo+ID4gLQlzdHJ1Y3QgaWNlX2FxX2Rl c2MgZGVzY19jYjsNCj4gPiAtI2VuZGlmDQo+ID4gICAJc3RydWN0IGljZV9hcV9kZXNjICpkZXNj Ow0KPiA+DQo+ID4gICAJZGVzYyA9IElDRV9DVExfUV9ERVNDKCpzcSwgbnRjKTsNCj4gPiBAQCAt NzgzLDE1ICs3ODAsNiBAQCBzdGF0aWMgdTE2IGljZV9jbGVhbl9zcShzdHJ1Y3QgaWNlX2h3ICpo dywgc3RydWN0IGljZV9jdGxfcV9pbmZvICpjcSkNCj4gPiAgIAl3aGlsZSAocmQzMihodywgY3Et PnNxLmhlYWQpICE9IG50Yykgew0KPiA+ICAgCQlpY2VfZGVidWcoaHcsIElDRV9EQkdfQVFfTVNH LA0KPiA+ICAgCQkJICAibnRjICVkIGhlYWQgJWQuXG4iLCBudGMsIHJkMzIoaHcsIGNxLT5zcS5o ZWFkKSk7IC0jaWYgMA0KPiA+IC0JCWlmIChkZXRhaWxzLT5jYWxsYmFjaykgew0KPiA+IC0JCQlJ Q0VfQ1RMX1FfQ0FMTEJBQ0sgY2JfZnVuYyA9DQo+ID4gLQkJCQkoSUNFX0NUTF9RX0NBTExCQUNL KWRldGFpbHMtPmNhbGxiYWNrOw0KPiA+IC0JCQlpY2VfbWVtY3B5KCZkZXNjX2NiLCBkZXNjLCBz aXplb2YoZGVzY19jYiksDQo+ID4gLQkJCQkgICBJQ0VfRE1BX1RPX0RNQSk7DQo+ID4gLQkJCWNi X2Z1bmMoaHcsICZkZXNjX2NiKTsNCj4gPiAtCQl9DQo+ID4gLSNlbmRpZg0KPiA+ICAgCQlpY2Vf bWVtc2V0KGRlc2MsIDAsIHNpemVvZigqZGVzYyksIElDRV9ETUFfTUVNKTsNCj4gPiAgIAkJaWNl X21lbXNldChkZXRhaWxzLCAwLCBzaXplb2YoKmRldGFpbHMpLCBJQ0VfTk9ORE1BX01FTSk7DQo+ ID4gICAJCW50YysrOw0KPiA+IEBAIC05NDEsMzggKzkyOSw4IEBAIGljZV9zcV9zZW5kX2NtZChz dHJ1Y3QgaWNlX2h3ICpodywgc3RydWN0IGljZV9jdGxfcV9pbmZvICpjcSwNCj4gPiAgIAlkZXRh aWxzID0gSUNFX0NUTF9RX0RFVEFJTFMoY3EtPnNxLCBjcS0+c3EubmV4dF90b191c2UpOw0KPiA+ ICAgCWlmIChjZCkNCj4gPiAgIAkJKmRldGFpbHMgPSAqY2Q7DQo+ID4gLSNpZiAwDQo+ID4gLQkJ LyogRklYTUU6IGlmL3doZW4gdGhpcyBibG9jayBnZXRzIGVuYWJsZWQgKHdoZW4gdGhlICNpZiAw DQo+ID4gLQkJICogaXMgcmVtb3ZlZCksIGFkZCBicmFjZXMgdG8gYm90aCBicmFuY2hlcyBvZiB0 aGUgc3Vycm91bmRpbmcNCj4gPiAtCQkgKiBjb25kaXRpb25hbCBleHByZXNzaW9uLiBUaGUgYnJh Y2VzIGhhdmUgYmVlbiByZW1vdmVkIHRvDQo+ID4gLQkJICogcHJldmVudCBjaGVja3BhdGNoIGNv bXBsYWluaW5nLg0KPiA+IC0JCSAqLw0KPiA+IC0NCj4gPiAtCQkvKiBJZiB0aGUgY29tbWFuZCBk ZXRhaWxzIGFyZSBkZWZpbmVkIGNvcHkgdGhlIGNvb2tpZS4gVGhlDQo+ID4gLQkJICogQ1BVX1RP X0xFMzIgaXMgbm90IG5lZWRlZCBoZXJlIGJlY2F1c2UgdGhlIGRhdGEgaXMgaWdub3JlZA0KPiA+ IC0JCSAqIGJ5IHRoZSBGVywgb25seSB1c2VkIGJ5IHRoZSBkcml2ZXINCj4gPiAtCQkgKi8NCj4g PiAtCQlpZiAoZGV0YWlscy0+Y29va2llKSB7DQo+ID4gLQkJCWRlc2MtPmNvb2tpZV9oaWdoID0N Cj4gPiAtCQkJCUNQVV9UT19MRTMyKElDRV9ISV9EV09SRChkZXRhaWxzLT5jb29raWUpKTsNCj4g PiAtCQkJZGVzYy0+Y29va2llX2xvdyA9DQo+ID4gLQkJCQlDUFVfVE9fTEUzMihJQ0VfTE9fRFdP UkQoZGV0YWlscy0+Y29va2llKSk7DQo+ID4gLQkJfQ0KPiA+IC0jZW5kaWYNCj4gPiAgIAllbHNl DQo+ID4gICAJCWljZV9tZW1zZXQoZGV0YWlscywgMCwgc2l6ZW9mKCpkZXRhaWxzKSwgSUNFX05P TkRNQV9NRU0pOyAtI2lmIDANCj4gPiAtCS8qIGNsZWFyIHJlcXVlc3RlZCBmbGFncyBhbmQgdGhl biBzZXQgYWRkaXRpb25hbCBmbGFncyBpZiBkZWZpbmVkICovDQo+ID4gLQlkZXNjLT5mbGFncyAm PSB+Q1BVX1RPX0xFMTYoZGV0YWlscy0+ZmxhZ3NfZGlzKTsNCj4gPiAtCWRlc2MtPmZsYWdzIHw9 IENQVV9UT19MRTE2KGRldGFpbHMtPmZsYWdzX2VuYSk7DQo+ID4gLQ0KPiA+IC0JaWYgKGRldGFp bHMtPnBvc3Rwb25lICYmICFkZXRhaWxzLT5hc3luYykgew0KPiA+IC0JCWljZV9kZWJ1Zyhodywg SUNFX0RCR19BUV9NU0csDQo+ID4gLQkJCSAgIkFzeW5jIGZsYWcgbm90IHNldCBhbG9uZyB3aXRo IHBvc3Rwb25lIGZsYWdcbiIpOw0KPiA+IC0JCXN0YXR1cyA9IElDRV9FUlJfUEFSQU07DQo+ID4g LQkJZ290byBzcV9zZW5kX2NvbW1hbmRfZXJyb3I7DQo+ID4gLQl9DQo+ID4gLSNlbmRpZg0KPiA+ DQo+ID4gICAJLyogQ2FsbCBjbGVhbiBhbmQgY2hlY2sgcXVldWUgYXZhaWxhYmxlIGZ1bmN0aW9u IHRvIHJlY2xhaW0gdGhlDQo+ID4gICAJICogZGVzY3JpcHRvcnMgdGhhdCB3ZXJlIHByb2Nlc3Nl ZCBieSBGVy9NQlg7IHRoZSBmdW5jdGlvbiByZXR1cm5zDQo+ID4gdGhlIEBAIC0xMDE5LDIwICs5 NzcsOCBAQCBpY2Vfc3Ffc2VuZF9jbWQoc3RydWN0IGljZV9odyAqaHcsIHN0cnVjdCBpY2VfY3Rs X3FfaW5mbyAqY3EsDQo+ID4gICAJKGNxLT5zcS5uZXh0X3RvX3VzZSkrKzsNCj4gPiAgIAlpZiAo Y3EtPnNxLm5leHRfdG9fdXNlID09IGNxLT5zcS5jb3VudCkNCj4gPiAgIAkJY3EtPnNxLm5leHRf dG9fdXNlID0gMDsNCj4gPiAtI2lmIDANCj4gPiAtCS8qIEZJWE1FIC0gaGFuZGxlIHRoaXMgY2Fz ZT8gKi8NCj4gPiAtCWlmICghZGV0YWlscy0+cG9zdHBvbmUpDQo+ID4gLSNlbmRpZg0KPiA+ICAg CXdyMzIoaHcsIGNxLT5zcS50YWlsLCBjcS0+c3EubmV4dF90b191c2UpOw0KPiA+DQo+ID4gLSNp ZiAwDQo+ID4gLQkvKiBpZiBjb21tYW5kIGRldGFpbHMgYXJlIG5vdCBkZWZpbmVkIG9yIGFzeW5j IGZsYWcgaXMgbm90IHNldCwNCj4gPiAtCSAqIHdlIG5lZWQgdG8gd2FpdCBmb3IgZGVzYyB3cml0 ZSBiYWNrDQo+ID4gLQkgKi8NCj4gPiAtCWlmICghZGV0YWlscy0+YXN5bmMgJiYgIWRldGFpbHMt PnBvc3Rwb25lKSB7DQo+ID4gLQkJLyogRklYTUUgLSBoYW5kbGUgdGhpcyBjYXNlPyAqLw0KPiA+ IC0JfQ0KPiA+IC0jZW5kaWYNCj4gPiAgIAlkbyB7DQo+ID4gICAJCWlmIChpY2Vfc3FfZG9uZSho dywgY3EpKQ0KPiA+ICAgCQkJYnJlYWs7DQo+ID4gQEAgLTEwODcsOSArMTAzMyw2IEBAIGljZV9z cV9zZW5kX2NtZChzdHJ1Y3QgaWNlX2h3ICpodywgc3RydWN0DQo+ID4gaWNlX2N0bF9xX2luZm8g KmNxLA0KPiA+DQo+ID4gICAJLyogdXBkYXRlIHRoZSBlcnJvciBpZiB0aW1lIG91dCBvY2N1cnJl ZCAqLw0KPiA+ICAgCWlmICghY21kX2NvbXBsZXRlZCkgew0KPiA+IC0jaWYgMA0KPiA+IC0JICAg ICghZGV0YWlscy0+YXN5bmMgJiYgIWRldGFpbHMtPnBvc3Rwb25lKSkgew0KPiA+IC0jZW5kaWYN Cj4gPiAgIAkJaWNlX2RlYnVnKGh3LCBJQ0VfREJHX0FRX01TRywNCj4gPiAgIAkJCSAgIkNvbnRy b2wgU2VuZCBRdWV1ZSBXcml0ZWJhY2sgdGltZW91dC5cbiIpOw0KPiA+ICAgCQlzdGF0dXMgPSBJ Q0VfRVJSX0FRX1RJTUVPVVQ7DQo+ID4gQEAgLTEyMDgsOSArMTE1MSw2IEBAIGljZV9jbGVhbl9y cV9lbGVtKHN0cnVjdCBpY2VfaHcgKmh3LCBzdHJ1Y3QgaWNlX2N0bF9xX2luZm8gKmNxLA0KPiA+ ICAgCWNxLT5ycS5uZXh0X3RvX2NsZWFuID0gbnRjOw0KPiA+ICAgCWNxLT5ycS5uZXh0X3RvX3Vz ZSA9IG50dTsNCj4gPg0KPiA+IC0jaWYgMA0KPiA+IC0JaWNlX252bXVwZF9jaGVja193YWl0X2V2 ZW50KGh3LCBMRTE2X1RPX0NQVShlLT5kZXNjLm9wY29kZSkpOw0KPiA+IC0jZW5kaWYNCj4gPiAg IGNsZWFuX3JxX2VsZW1fb3V0Og0KPiA+ICAgCS8qIFNldCBwZW5kaW5nIGlmIG5lZWRlZCwgdW5s b2NrIGFuZCByZXR1cm4gKi8NCj4gPiAgIAlpZiAocGVuZGluZykgew0KPiANCj4gDQo+IFN0YXJ0 aW5nIGZyb20gaGVyZSwgdGhlIHJlc3QgbG9va3MgdW5yZWxhdGVkIHRvIHRoZSBjb21taXQgc3Vi amVjdC4NCj4gDQo+ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L2ljZS9iYXNlL2ljZV9mZGly LmgNCj4gPiBiL2RyaXZlcnMvbmV0L2ljZS9iYXNlL2ljZV9mZGlyLmggaW5kZXggMmVjYjE0N2Yx Li5mOGYwNjY1OGMgMTAwNjQ0DQo+ID4gLS0tIGEvZHJpdmVycy9uZXQvaWNlL2Jhc2UvaWNlX2Zk aXIuaA0KPiA+ICsrKyBiL2RyaXZlcnMvbmV0L2ljZS9iYXNlL2ljZV9mZGlyLmgNCj4gPiBAQCAt MTczLDcgKzE3Myw2IEBAIHN0cnVjdCBpY2VfZmRpcl9mbHRyIHsNCj4gPiAgIAl1MzIgZmx0cl9p ZDsNCj4gPiAgIH07DQo+ID4NCj4gPiAtDQo+ID4gICAvKiBEdW1teSBwYWNrZXQgZmlsdGVyIGRl ZmluaXRpb24gc3RydWN0dXJlLiAqLw0KPiA+ICAgc3RydWN0IGljZV9mZGlyX2Jhc2VfcGt0IHsN Cj4gPiAgIAllbnVtIGljZV9mbHRyX3B0eXBlIGZsb3c7DQo+ID4gZGlmZiAtLWdpdCBhL2RyaXZl cnMvbmV0L2ljZS9iYXNlL2ljZV9mbGV4X3BpcGUuYw0KPiA+IGIvZHJpdmVycy9uZXQvaWNlL2Jh c2UvaWNlX2ZsZXhfcGlwZS5jDQo+ID4gaW5kZXggMmEzMTBiNmUxLi40NjIzNGMwMTQgMTAwNjQ0 DQo+ID4gLS0tIGEvZHJpdmVycy9uZXQvaWNlL2Jhc2UvaWNlX2ZsZXhfcGlwZS5jDQo+ID4gKysr IGIvZHJpdmVycy9uZXQvaWNlL2Jhc2UvaWNlX2ZsZXhfcGlwZS5jDQo+ID4gQEAgLTM5OCw3ICsz OTgsNyBAQCBpY2VfZmluZF9ib29zdF9lbnRyeShzdHJ1Y3QgaWNlX3NlZyAqaWNlX3NlZywgdTE2 IGFkZHIsDQo+ID4gICAgKiBIYW5kbGVzIGVudW1lcmF0aW9uIG9mIGluZGl2aWR1YWwgbGFiZWwg ZW50cmllcy4NCj4gPiAgICAqLw0KPiA+ICAgc3RhdGljIHZvaWQgKg0KPiA+IC1pY2VfbGFiZWxf ZW51bV9oYW5kbGVyKHUzMiBfX2Fsd2F5c191bnVzZWQgc2VjdF90eXBlLCB2b2lkICpzZWN0aW9u LA0KPiA+IHUzMiBpbmRleCwNCj4gPiAraWNlX2xhYmVsX2VudW1faGFuZGxlcih1MzIgX19BTFdB WVNfVU5VU0VEIHNlY3RfdHlwZSwgdm9pZCAqc2VjdGlvbiwNCj4gPiArdTMyIGluZGV4LA0KPiA+ ICAgCQkgICAgICAgdTMyICpvZmZzZXQpDQo+ID4gICB7DQo+ID4gICAJc3RydWN0IGljZV9sYWJl bF9zZWN0aW9uICpsYWJlbHM7DQo+ID4gQEAgLTY0MCw3ICs2NDAsNyBAQCBzdGF0aWMgYm9vbCBp Y2VfYml0c19tYXhfc2V0KGNvbnN0IHU4ICptYXNrLCB1MTYgc2l6ZSwgdTE2IG1heCkNCj4gPiAg ICAqIEBzaXplOiB0aGUgc2l6ZSBvZiB0aGUgY29tcGxldGUga2V5IGluIGJ5dGVzIChtdXN0IGJl IGV2ZW4pDQo+ID4gICAgKiBAdmFsOiBhcnJheSBvZiA4LWJpdCB2YWx1ZXMgdGhhdCBtYWtlcyB1 cCB0aGUgdmFsdWUgcG9ydGlvbiBvZiB0aGUga2V5DQo+ID4gICAgKiBAdXBkOiBhcnJheSBvZiA4 LWJpdCBtYXNrcyB0aGF0IGRldGVybWluZSB3aGF0IGtleSBwb3J0aW9uIHRvDQo+ID4gdXBkYXRl DQo+ID4gLSAqIEBkYzogYXJyYXkgb2YgOC1iaXQgbWFza3MgdGhhdCBtYWtlIHVwIHRoZSBkb250 JyBjYXJlIG1hc2sNCj4gPiArICogQGRjOiBhcnJheSBvZiA4LWJpdCBtYXNrcyB0aGF0IG1ha2Ug dXAgdGhlIGRvbid0IGNhcmUgbWFzaw0KPiA+ICAgICogQG5tOiBhcnJheSBvZiA4LWJpdCBtYXNr cyB0aGF0IG1ha2UgdXAgdGhlIG5ldmVyIG1hdGNoIG1hc2sNCj4gPiAgICAqIEBvZmY6IHRoZSBv ZmZzZXQgb2YgdGhlIGZpcnN0IGJ5dGUgaW4gdGhlIGtleSB0byB1cGRhdGUNCj4gPiAgICAqIEBs ZW46IHRoZSBudW1iZXIgb2YgYnl0ZXMgaW4gdGhlIGtleSB1cGRhdGUgQEAgLTQ1NDQsNiArNDU0 NCw3IEBADQo+ID4gaWNlX21vdmVfdnNpKHN0cnVjdCBpY2VfaHcgKmh3LCBlbnVtIGljZV9ibG9j ayBibGssIHUxNiB2c2ksIHUxNiB2c2lnLA0KPiA+ICAgCXN0YXR1cyA9IGljZV92c2lnX2ZpbmRf dnNpKGh3LCBibGssIHZzaSwgJm9yaWdfdnNpZyk7DQo+ID4gICAJaWYgKCFzdGF0dXMpDQo+ID4g ICAJCXN0YXR1cyA9IGljZV92c2lnX2FkZF9tdl92c2koaHcsIGJsaywgdnNpLCB2c2lnKTsNCj4g PiArDQo+ID4gICAJaWYgKHN0YXR1cykgew0KPiA+ICAgCQlpY2VfZnJlZShodywgcCk7DQo+ID4g ICAJCXJldHVybiBzdGF0dXM7DQo+ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L2ljZS9iYXNl L2ljZV9zY2hlZC5jDQo+ID4gYi9kcml2ZXJzL25ldC9pY2UvYmFzZS9pY2Vfc2NoZWQuYw0KPiA+ IGluZGV4IGE3MmU3Mjk4Mi4uZmEzMTU4YTdiIDEwMDY0NA0KPiA+IC0tLSBhL2RyaXZlcnMvbmV0 L2ljZS9iYXNlL2ljZV9zY2hlZC5jDQo+ID4gKysrIGIvZHJpdmVycy9uZXQvaWNlL2Jhc2UvaWNl X3NjaGVkLmMNCj4gPiBAQCAtMTIzMyw3ICsxMjMzLDcgQEAgZW51bSBpY2Vfc3RhdHVzIGljZV9z Y2hlZF9pbml0X3BvcnQoc3RydWN0IGljZV9wb3J0X2luZm8gKnBpKQ0KPiA+ICAgCQlnb3RvIGVy cl9pbml0X3BvcnQ7DQo+ID4gICAJfQ0KPiA+DQo+ID4gLQkvKiBJZiB0aGUgbGFzdCBub2RlIGlz IGEgbGVhZiBub2RlIHRoZW4gdGhlIGluZGV4IG9mIHRoZSBRIGdyb3VwDQo+ID4gKwkvKiBJZiB0 aGUgbGFzdCBub2RlIGlzIGEgbGVhZiBub2RlIHRoZW4gdGhlIGluZGV4IG9mIHRoZSBxdWV1ZSBn cm91cA0KPiA+ICAgCSAqIGxheWVyIGlzIHR3byBsZXNzIHRoYW4gdGhlIG51bWJlciBvZiBlbGVt ZW50cy4NCj4gPiAgIAkgKi8NCj4gPiAgIAlpZiAobnVtX2VsZW1zID4gMiAmJiBidWZbMF0uZ2Vu ZXJpY1tudW1fZWxlbXMgLSAxXS5kYXRhLmVsZW1fdHlwZQ0KPiA+ID09IEBAIC0zNTI5LDkgKzM1 MjksMTEgQEAgaWNlX2NmZ19hZ2dfdnNpX3ByaW9yaXR5X3Blcl90YyhzdHJ1Y3QgaWNlX3BvcnRf aW5mbyAqcGksIHUzMiBhZ2dfaWQsDQo+ID4gICAJCUxJU1RfRk9SX0VBQ0hfRU5UUlkoYWdnX3Zz aV9pbmZvLCAmYWdnX2luZm8tPmFnZ192c2lfbGlzdCwNCj4gPiAgIAkJCQkgICAgaWNlX3NjaGVk X2FnZ192c2lfaW5mbywgbGlzdF9lbnRyeSkNCj4gPiAgIAkJCWlmIChhZ2dfdnNpX2luZm8tPnZz aV9oYW5kbGUgPT0gdnNpX2hhbmRsZSkgew0KPiA+ICsJCQkJLyogY3BwY2hlY2stc3VwcHJlc3Mg dW5yZWFkVmFyaWFibGUgKi8NCj4gPiAgIAkJCQl2c2lfaGFuZGxlX3ZhbGlkID0gdHJ1ZTsNCj4g PiAgIAkJCQlicmVhazsNCj4gPiAgIAkJCX0NCj4gPiArDQo+ID4gICAJCWlmICghdnNpX2hhbmRs ZV92YWxpZCkNCj4gPiAgIAkJCWdvdG8gZXhpdF9hZ2dfcHJpb3JpdHlfcGVyX3RjOw0KPiA+DQo+ ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L2ljZS9iYXNlL2ljZV90eXBlLmgNCj4gPiBiL2Ry aXZlcnMvbmV0L2ljZS9iYXNlL2ljZV90eXBlLmggaW5kZXggZjRlMTUxYzU1Li5mNzZiZTJiNTgg MTAwNjQ0DQo+ID4gLS0tIGEvZHJpdmVycy9uZXQvaWNlL2Jhc2UvaWNlX3R5cGUuaA0KPiA+ICsr KyBiL2RyaXZlcnMvbmV0L2ljZS9iYXNlL2ljZV90eXBlLmgNCj4gPiBAQCAtMTE0LDYgKzExNCw5 IEBAIHN0YXRpYyBpbmxpbmUgdTMyIGljZV9yb3VuZF90b19udW0odTMyIE4sIHUzMiBSKQ0KPiA+ ICAgI2RlZmluZSBJQ0VfREJHX1VTRVIJCUJJVF9VTEwoMzEpDQo+ID4gICAjZGVmaW5lIElDRV9E QkdfQUxMCQkweEZGRkZGRkZGRkZGRkZGRkZVTEwNCj4gPg0KPiA+ICsjaWZuZGVmIF9fQUxXQVlT X1VOVVNFRA0KPiA+ICsjZGVmaW5lIF9fQUxXQVlTX1VOVVNFRA0KPiA+ICsjZW5kaWYNCj4gDQo+ IFRoYXQgZG9lcyBub3QgbG9vayByZWxhdGVkDQo+IA0KDQpIaSBNYXhpbWUsDQoNCkZvciB0aGlz IGNvbW1pdCwgSSBkaWQgbW9kaWZpY2F0aW9ucyB0aGF0IHdpbGwgbm90IGltcGFjdCBhbnkgZnVu Y3Rpb25hbGl0aWVzIHRvIGFsaWduZWQgdG8gdGhlIE5EDQpyZWxlYXNlZCBzaGFyZWQgY29kZS4g U2luY2UgdGhlIG1vZGlmaWVkIGxpbmVzIG1heSBzY2F0dGVyZWQgaW4gbWFueSBkaWZmZXJlbnQg Y29tbWl0cyBpbiB0aGUNCm9yaWdpbmFsIHNoYXJlZCBjb2RlIHJlcG8sIHNvIEkganVzdCBwdXQg dGhlbSBpbnRvIG9uZS4NCg0KVGhhbmtzLA0KTGV5aQ0K