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.1 required=3.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI, SIGNED_OFF_BY,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 8C683C282C3 for ; Thu, 24 Jan 2019 09:57:48 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 4E2442184C for ; Thu, 24 Jan 2019 09:57:48 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (1024-bit key) header.d=Mellanox.com header.i=@Mellanox.com header.b="qPWUdDc3" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727320AbfAXJ5r (ORCPT ); Thu, 24 Jan 2019 04:57:47 -0500 Received: from mail-eopbgr50086.outbound.protection.outlook.com ([40.107.5.86]:27136 "EHLO EUR03-VE1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1726391AbfAXJ5q (ORCPT ); Thu, 24 Jan 2019 04:57:46 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Mellanox.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=JJmSQtjMjJqmtzyF4ySVZnKtMj7pQ1DjG1mGJsok2/o=; b=qPWUdDc3aUQvkIWQkRXa71CmWy2OPZoBiIrInBH/BcEDlG4pE5TyoDKJROdu3o/MV/2mBtkSQdJv94WCOD2xP2MEQBUE4VZ3JTkFx4uIO5FD6Z4tEOubbCwuUHB0/B2wc6iKMZbOdZKmvwaO/x3nPlhL+sdvMw+xmg2rIOrdCik= Received: from AM0PR0502MB4068.eurprd05.prod.outlook.com (52.133.41.24) by AM0PR0502MB3684.eurprd05.prod.outlook.com (52.133.46.153) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1558.17; Thu, 24 Jan 2019 09:57:39 +0000 Received: from AM0PR0502MB4068.eurprd05.prod.outlook.com ([fe80::c5a8:ab5d:6acb:408d]) by AM0PR0502MB4068.eurprd05.prod.outlook.com ([fe80::c5a8:ab5d:6acb:408d%4]) with mapi id 15.20.1558.016; Thu, 24 Jan 2019 09:57:39 +0000 From: Eran Ben Elisha To: Jiri Pirko CC: "netdev@vger.kernel.org" , Jiri Pirko , "David S. Miller" , Saeed Mahameed , Moshe Shemesh Subject: Re: [PATCH net-next 2/7] net/mlx5e: Move driver to use devlink msg API Thread-Topic: [PATCH net-next 2/7] net/mlx5e: Move driver to use devlink msg API Thread-Index: AQHUsmtHBph1fBHpikyFGu6nWt3qtKW87g4AgAE+aQD///dVAIAADdQA Date: Thu, 24 Jan 2019 09:57:38 +0000 Message-ID: References: <1548172644-30862-1-git-send-email-eranbe@mellanox.com> <1548172644-30862-3-git-send-email-eranbe@mellanox.com> <20190123143930.GH2191@nanopsycho> <20190124090806.GA2357@nanopsycho> In-Reply-To: <20190124090806.GA2357@nanopsycho> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-clientproxiedby: AM6PR0202CA0029.eurprd02.prod.outlook.com (2603:10a6:209:15::42) To AM0PR0502MB4068.eurprd05.prod.outlook.com (2603:10a6:208:12::24) authentication-results: spf=none (sender IP is ) smtp.mailfrom=eranbe@mellanox.com; x-ms-exchange-messagesentrepresentingtype: 1 x-originating-ip: [193.47.165.251] x-ms-publictraffictype: Email x-microsoft-exchange-diagnostics: 1;AM0PR0502MB3684;6:NlJUkCaQjjOvs7b4t2z/CWGFzQKxxjQj27L/rRAdVr58oPT8q4qlNsG3kASLNFsEOvnxTVxbCJ/8kC1k2ofm350Khqn552I7AidTOfq3Cl37Q3JG/XJGK48RV4UkwNaxaSnvjLtP0ZB+jR4G3l1JRb0hpwHaInKi+2TSRMtAiEE3wNAAzBzatLQk0n8zU2ZLtNjOuUP7GHgCOxMTA418ZOZgivjp6Pxdrwshf6b7Fe3+wKd8623EfvcS2dN/+QKiFKp/lP0vxTlegUCH8yvEGIwgt3+n7zSBI/0bEYOuvlXn4zAqdX7gFvTtsVz2vtOQe8F5c5kMSYKk0ZPNy+54wq5B3iP6xk9FwlM3PJzUkmBaW5v3QPhdBQs4K4x5R4msWvIBzlxTzfKgj4DLBX7KHl7x5vyy1WnBU+BwHzr8IEVZxzGqIzFZbrOB2iYVocmz7gQEPeaJJF8K3aAuHXBAKA==;5:rfSCmKu+YVlYXVD0jGcVAQNKT6RojDpYOxOVq3uSoV2E+pDqF5yvo6PSBy84bcMazthK4FVQKRcA12sbKvhh6lhQ/ulaPrjzJlQOOFL5MFGtbh5ZYRoY4BPCLAy95f8pwWX+0j3+3CWaxzKpmMGua14U4Smn1C4EsRC2vIOWT57457G5tD2CyuQ8Km6e5CO90BMrLMGa24fNAx0i9BLQIw==;7:goHL07wRxNpt/ooRQn2Zb/lAjb6IcK5fBwRQfPdhq/5frPcNuL/ZMvN5fU234NGmkeOr0xUZsuiI1BCJQDOG6SwsXdcG2Bc1XHDAXXqNFxOOSh06PX1L7U22e5FiyJ2VSwz23WzkrMpV7WvuDGr7iQ== x-ms-office365-filtering-correlation-id: 3f3f4e2c-89f2-4255-1d73-08d681e25f9c x-ms-office365-filtering-ht: Tenant x-microsoft-antispam: BCL:0;PCL:0;RULEID:(2390118)(7020095)(4652040)(8989299)(5600110)(711020)(4605077)(4618075)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(2017052603328)(7153060)(7193020);SRVR:AM0PR0502MB3684; x-ms-traffictypediagnostic: AM0PR0502MB3684: x-microsoft-antispam-prvs: x-forefront-prvs: 0927AA37C7 x-forefront-antispam-report: SFV:NSPM;SFS:(10009020)(39860400002)(366004)(136003)(376002)(346002)(396003)(199004)(189003)(31686004)(6512007)(97736004)(99286004)(6436002)(54906003)(6246003)(25786009)(107886003)(4326008)(93886005)(81166006)(8676002)(81156014)(446003)(6486002)(476003)(8936002)(11346002)(7736002)(305945005)(2616005)(229853002)(31696002)(86362001)(14444005)(186003)(256004)(76176011)(53546011)(14454004)(6116002)(386003)(6506007)(3846002)(52116002)(71200400001)(6916009)(486006)(316002)(36756003)(2906002)(105586002)(478600001)(66066001)(106356001)(68736007)(26005)(102836004)(53936002)(71190400001);DIR:OUT;SFP:1101;SCL:1;SRVR:AM0PR0502MB3684;H:AM0PR0502MB4068.eurprd05.prod.outlook.com;FPR:;SPF:None;LANG:en;PTR:InfoNoRecords;A:1;MX:1; received-spf: None (protection.outlook.com: mellanox.com does not designate permitted sender hosts) x-ms-exchange-senderadcheck: 1 x-microsoft-antispam-message-info: xIcqJKahdLapyiA+QPE3fDcPZTWJUL4xVsug4kASdESWaKZ41ly8nRLV9L7vOxGWLnxPSnTrSb+XQsI5m+mmmKX/r7lj+qjBsT1lun/uNpcUAssl8JFkuvIo/Ks6vrZVNG8ALMnYYNFSalUswCYYgVU7n+nq81K+Fr4cMqAb+ZsGKCobOw+2Wuq3VmF8M+rH6gma/1tiMTlyb9CSUYhiA0xApGtYpQIZpBESEBg2CC+tmQb7An/u4nCe7vxfpnWGeR1eJvUok6kBmcHjDkenuPo/QbCWCREJHesvQq6DoyYndmrXZCD87zpfVj3Olytz/zK8Qc6AotTi/UER1+n/NGNXG9/WByYtCiLKRRfunlg4QCY2Ph74ZOL+EMPWA9BAzSyzMhYBxssasK/JxLufgNPqq5GgBOEcOPZQR/dHlOI= Content-Type: text/plain; charset="utf-8" Content-ID: <1C9222ED0061B841AFD0CFB5A47A6E43@eurprd05.prod.outlook.com> Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: Mellanox.com X-MS-Exchange-CrossTenant-Network-Message-Id: 3f3f4e2c-89f2-4255-1d73-08d681e25f9c X-MS-Exchange-CrossTenant-originalarrivaltime: 24 Jan 2019 09:57:38.0458 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: a652971c-7d2e-4d9b-a6a4-d149256f461b X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR0502MB3684 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org DQoNCk9uIDEvMjQvMjAxOSAxMTowOCBBTSwgSmlyaSBQaXJrbyB3cm90ZToNCj4gVGh1LCBKYW4g MjQsIDIwMTkgYXQgMDg6Mzk6MTJBTSBDRVQsIGVyYW5iZUBtZWxsYW5veC5jb20gd3JvdGU6DQo+ Pg0KPj4NCj4+IE9uIDEvMjMvMjAxOSA0OjM5IFBNLCBKaXJpIFBpcmtvIHdyb3RlOg0KPj4+IFR1 ZSwgSmFuIDIyLCAyMDE5IGF0IDA0OjU3OjE5UE0gQ0VULCBlcmFuYmVAbWVsbGFub3guY29tIHdy b3RlOg0KPj4+PiBBcyBwYXJ0IG9mIHRoZSBkZXZsaW5rIGhlYWx0aCByZXBvcnRlciBkaWFnbm9z ZSBvcHMgY2FsbGJhY2ssIHRoZSBtbHg1ZSBUWA0KPj4+PiByZXBvcnRlciB1c2VkIGRldmxpbmsg aGVhbHRoIGJ1ZmZlcnMgQVBJLiBXaGljaCB3aWxsIHNvb24gYmUgZGVwcmFjYXRlZC4NCj4+Pj4g TW9kaWZ5IHRoZSByZXBvcnRlciB0byB1c2UgdGhlIG5ldyBkZXZsaW5rIG1zZyBBUEkuDQo+Pj4+ DQo+Pj4+IFRoZSBhY3R1YWwgc2V0IG9mIHRoZSBuZXcgZGlhZ25vc2UgZnVuY3Rpb24gd2lsbCBi ZSBkb25lIGxhdGVyIGluIHRoZQ0KPj4+PiBkb3duc3RyZWFtIHBhdGNoLCBvbmx5IHdoZW4gZGV2 bGluayB3aWxsIGFjdHVhbGx5IGV4cG9zZSBhIG5ldyBkaWFnbm9zZQ0KPj4+PiBvcGVyYXRpb24g dGhhdCB1c2VzIHRoZSBuZXcgQVBJLg0KPj4+Pg0KPj4+PiBTaWduZWQtb2ZmLWJ5OiBFcmFuIEJl biBFbGlzaGEgPGVyYW5iZUBtZWxsYW5veC5jb20+DQo+Pj4+IFJldmlld2VkLWJ5OiBNb3NoZSBT aGVtZXNoIDxtb3NoZUBtZWxsYW5veC5jb20+DQo+Pj4+IC0tLQ0KPj4+PiAuLi4vbWVsbGFub3gv bWx4NS9jb3JlL2VuL3JlcG9ydGVyX3R4LmMgICAgICAgfCAxMjMgKysrKy0tLS0tLS0tLS0tLS0t DQo+Pj4+IDEgZmlsZSBjaGFuZ2VkLCAyNiBpbnNlcnRpb25zKCspLCA5NyBkZWxldGlvbnMoLSkN Cj4+Pj4NCj4+Pj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L21lbGxhbm94L21s eDUvY29yZS9lbi9yZXBvcnRlcl90eC5jIGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvbWVsbGFub3gv bWx4NS9jb3JlL2VuL3JlcG9ydGVyX3R4LmMNCj4+Pj4gaW5kZXggZDk2NzVhZmJiOTI0Li5mYzky ODUwYzIxNGEgMTAwNjQ0DQo+Pj4+IC0tLSBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L21lbGxhbm94 L21seDUvY29yZS9lbi9yZXBvcnRlcl90eC5jDQo+Pj4+ICsrKyBiL2RyaXZlcnMvbmV0L2V0aGVy bmV0L21lbGxhbm94L21seDUvY29yZS9lbi9yZXBvcnRlcl90eC5jDQo+Pj4+IEBAIC0xOTIsMTEw ICsxOTIsNDcgQEAgc3RhdGljIGludCBtbHg1ZV90eF9yZXBvcnRlcl9yZWNvdmVyKHN0cnVjdCBk ZXZsaW5rX2hlYWx0aF9yZXBvcnRlciAqcmVwb3J0ZXIsDQo+Pj4+IH0NCj4+Pj4NCj4+Pj4gc3Rh dGljIGludA0KPj4+PiAtbWx4NWVfdHhfcmVwb3J0ZXJfYnVpbGRfZGlhZ25vc2Vfb3V0cHV0KHN0 cnVjdCBkZXZsaW5rX2hlYWx0aF9idWZmZXIgKmJ1ZmZlciwNCj4+Pj4gK21seDVlX3R4X3JlcG9y dGVyX2J1aWxkX2RpYWdub3NlX291dHB1dChzdHJ1Y3QgZGV2bGlua19tc2dfY3R4ICptc2dfY3R4 LA0KPj4+PiAJCQkJCXUzMiBzcW4sIHU4IHN0YXRlLCB1OCBzdG9wcGVkKQ0KPj4+DQo+Pj4gV2hh dCBpcyAic3RhdGUiIGFuZCAic3RvcHBlZCI/IElzICJzdG9wcGVkIiBhIGJvb2w/IElzICJzdGF0 ZSIgYW4gZW51bS4NCj4+Pg0KPj4gc3RvcHBlZCBpcyB0aGUgcmVwbHkgZnJvbSBuZXRpZl94bWl0 X3N0b3BwZWQsIGFuZCBpdCBpcyBhIGJvb2wuDQo+IA0KPiBJZiBpdCBpcyBib29sLCB5b3Ugc2hv dWxkIGFkZCBpdCBpbnRvIG1lc3NhZ2UgYXMgTkxBX0ZMQUcsIG5vdCBOTEFfVTgNCj4gDQo+IA0K Pj4gc3RhdGUgaXMgdGhlIEhXIHN0YXRlIG9mIHRoZSBTUS4NCj4+IGl0IGlzIGRlZmluZWQgaW4g dGhlIGlmYyBmaWxlOg0KPj4gZW51bSB7DQo+PiAgICAgICAgICBNTFg1X1NRQ19TVEFURV9SU1Qg ID0gMHgwLA0KPj4gICAgICAgICAgTUxYNV9TUUNfU1RBVEVfUkRZICA9IDB4MSwNCj4+ICAgICAg ICAgIE1MWDVfU1FDX1NUQVRFX0VSUiAgPSAweDMsDQo+PiB9Ow0KPj4gSSBjb3VsZCBoYXZlIHRy YW5zbGF0ZWQgaXQgaW50byBzdHJpbmdzLCBidXQgSSB0aG91Z2ggaXQgd291bGQgYmUgZmluZQ0K Pj4gdG8gbGVhdmUgaXQgYXMgaXMuDQo+IA0KPiBJdCdzIGZpbmUgYXMgdTgNCj4gDQo+Pg0KPj4+ DQo+Pj4+IHsNCj4+Pj4gLQlpbnQgZXJyLCBpOw0KPj4+PiAtCWludCBuZXN0ID0gMDsNCj4+Pj4g LQljaGFyIG5hbWVbMjBdOw0KPj4+PiAtDQo+Pj4+IC0JZXJyID0gZGV2bGlua19oZWFsdGhfYnVm ZmVyX25lc3Rfc3RhcnQoYnVmZmVyLA0KPj4+PiAtCQkJCQkgICAgICAgREVWTElOS19BVFRSX0hF QUxUSF9CVUZGRVJfT0JKRUNUKTsNCj4+Pj4gLQlpZiAoZXJyKQ0KPj4+PiAtCQlnb3RvIGJ1ZmZl cl9lcnJvcjsNCj4+Pj4gLQluZXN0Kys7DQo+Pj4+IC0NCj4+Pj4gLQllcnIgPSBkZXZsaW5rX2hl YWx0aF9idWZmZXJfbmVzdF9zdGFydChidWZmZXIsDQo+Pj4+IC0JCQkJCSAgICAgICBERVZMSU5L X0FUVFJfSEVBTFRIX0JVRkZFUl9PQkpFQ1RfUEFJUik7DQo+Pj4+IC0JaWYgKGVycikNCj4+Pj4g LQkJZ290byBidWZmZXJfZXJyb3I7DQo+Pj4+IC0JbmVzdCsrOw0KPj4+PiAtDQo+Pj4+IC0Jc3By aW50ZihuYW1lLCAiU1EgMHgleCIsIHNxbik7DQo+Pj4+IC0JZXJyID0gZGV2bGlua19oZWFsdGhf YnVmZmVyX3B1dF9vYmplY3RfbmFtZShidWZmZXIsIG5hbWUpOw0KPj4+PiAtCWlmIChlcnIpDQo+ Pj4+IC0JCWdvdG8gYnVmZmVyX2Vycm9yOw0KPj4+PiAtDQo+Pj4+IC0JZXJyID0gZGV2bGlua19o ZWFsdGhfYnVmZmVyX25lc3Rfc3RhcnQoYnVmZmVyLA0KPj4+PiAtCQkJCQkgICAgICAgREVWTElO S19BVFRSX0hFQUxUSF9CVUZGRVJfT0JKRUNUX1ZBTFVFKTsNCj4+Pj4gLQlpZiAoZXJyKQ0KPj4+ PiAtCQlnb3RvIGJ1ZmZlcl9lcnJvcjsNCj4+Pj4gLQluZXN0Kys7DQo+Pj4+IC0NCj4+Pj4gLQll cnIgPSBkZXZsaW5rX2hlYWx0aF9idWZmZXJfbmVzdF9zdGFydChidWZmZXIsDQo+Pj4+IC0JCQkJ CSAgICAgICBERVZMSU5LX0FUVFJfSEVBTFRIX0JVRkZFUl9PQkpFQ1QpOw0KPj4+PiAtCWlmIChl cnIpDQo+Pj4+IC0JCWdvdG8gYnVmZmVyX2Vycm9yOw0KPj4+PiAtCW5lc3QrKzsNCj4+Pj4gLQ0K Pj4+PiAtCWVyciA9IGRldmxpbmtfaGVhbHRoX2J1ZmZlcl9uZXN0X3N0YXJ0KGJ1ZmZlciwNCj4+ Pj4gLQkJCQkJICAgICAgIERFVkxJTktfQVRUUl9IRUFMVEhfQlVGRkVSX09CSkVDVF9QQUlSKTsN Cj4+Pj4gLQlpZiAoZXJyKQ0KPj4+PiAtCQlnb3RvIGJ1ZmZlcl9lcnJvcjsNCj4+Pj4gLQluZXN0 Kys7DQo+Pj4+IC0NCj4+Pj4gLQllcnIgPSBkZXZsaW5rX2hlYWx0aF9idWZmZXJfcHV0X29iamVj dF9uYW1lKGJ1ZmZlciwgIkhXIHN0YXRlIik7DQo+Pj4+IC0JaWYgKGVycikNCj4+Pj4gLQkJZ290 byBidWZmZXJfZXJyb3I7DQo+Pj4+ICsJaW50IGVycjsNCj4+Pj4NCj4+Pj4gLQllcnIgPSBkZXZs aW5rX2hlYWx0aF9idWZmZXJfbmVzdF9zdGFydChidWZmZXIsDQo+Pj4+IC0JCQkJCSAgICAgICBE RVZMSU5LX0FUVFJfSEVBTFRIX0JVRkZFUl9PQkpFQ1RfVkFMVUUpOw0KPj4+PiArCWVyciA9IGRl dmxpbmtfbXNnX29iamVjdF9zdGFydChtc2dfY3R4LCAiU1EiKTsNCj4+Pj4gCWlmIChlcnIpDQo+ Pj4+IC0JCWdvdG8gYnVmZmVyX2Vycm9yOw0KPj4+PiAtCW5lc3QrKzsNCj4+Pj4gKwkJcmV0dXJu IGVycjsNCj4+Pj4NCj4+Pj4gLQllcnIgPSBkZXZsaW5rX2hlYWx0aF9idWZmZXJfcHV0X3ZhbHVl X3U4KGJ1ZmZlciwgc3RhdGUpOw0KPj4+PiArCWVyciA9IGRldmxpbmtfbXNnX29iamVjdF9zdGFy dChtc2dfY3R4LCBOVUxMKTsNCj4+Pj4gCWlmIChlcnIpDQo+Pj4+IC0JCWdvdG8gYnVmZmVyX2Vy cm9yOw0KPj4+PiAtDQo+Pj4+IC0JZGV2bGlua19oZWFsdGhfYnVmZmVyX25lc3RfZW5kKGJ1ZmZl cik7IC8qIERFVkxJTktfQVRUUl9IRUFMVEhfQlVGRkVSX09CSkVDVF9WQUxVRSAqLw0KPj4+PiAt CW5lc3QtLTsNCj4+Pj4gLQ0KPj4+PiAtCWRldmxpbmtfaGVhbHRoX2J1ZmZlcl9uZXN0X2VuZChi dWZmZXIpOyAvKiBERVZMSU5LX0FUVFJfSEVBTFRIX0JVRkZFUl9PQkpFQ1RfUEFJUiAqLw0KPj4+ PiAtCW5lc3QtLTsNCj4+Pj4gKwkJcmV0dXJuIGVycjsNCj4+Pj4NCj4+Pj4gLQllcnIgPSBkZXZs aW5rX2hlYWx0aF9idWZmZXJfbmVzdF9zdGFydChidWZmZXIsDQo+Pj4+IC0JCQkJCSAgICAgICBE RVZMSU5LX0FUVFJfSEVBTFRIX0JVRkZFUl9PQkpFQ1RfUEFJUik7DQo+Pj4+ICsJZXJyID0gZGV2 bGlua19tc2dfcHV0X25hbWVfdmFsdWVfcGFpcihtc2dfY3R4LCAic3FuIiwgJnNxbiwNCj4+Pj4g KwkJCQkJICAgICAgc2l6ZW9mKHNxbiksIE5MQV9VMzIpOw0KPj4+PiAJaWYgKGVycikNCj4+Pj4g LQkJZ290byBidWZmZXJfZXJyb3I7DQo+Pj4+IC0JbmVzdCsrOw0KPj4+PiArCQlyZXR1cm4gZXJy Ow0KPj4+Pg0KPj4+PiAtCWVyciA9IGRldmxpbmtfaGVhbHRoX2J1ZmZlcl9wdXRfb2JqZWN0X25h bWUoYnVmZmVyLCAic3RvcHBlZCIpOw0KPj4+PiArCWVyciA9IGRldmxpbmtfbXNnX3B1dF9uYW1l X3ZhbHVlX3BhaXIobXNnX2N0eCwgIkhXIHN0YXRlIiwgJnN0YXRlLA0KPj4+PiArCQkJCQkgICAg ICBzaXplb2Yoc3RhdGUpLCBOTEFfVTgpOw0KPj4+PiAJaWYgKGVycikNCj4+Pj4gLQkJZ290byBi dWZmZXJfZXJyb3I7DQo+Pj4+ICsJCXJldHVybiBlcnI7DQo+Pj4+DQo+Pj4+IC0JZXJyID0gZGV2 bGlua19oZWFsdGhfYnVmZmVyX25lc3Rfc3RhcnQoYnVmZmVyLA0KPj4+PiAtCQkJCQkgICAgICAg REVWTElOS19BVFRSX0hFQUxUSF9CVUZGRVJfT0JKRUNUX1ZBTFVFKTsNCj4+Pj4gKwllcnIgPSBk ZXZsaW5rX21zZ19wdXRfbmFtZV92YWx1ZV9wYWlyKG1zZ19jdHgsICJzdG9wcGVkIiwgJnN0b3Bw ZWQsDQo+Pj4+ICsJCQkJCSAgICAgIHNpemVvZihzdG9wcGVkKSwgTkxBX1U4KTsNCj4+Pj4gCWlm IChlcnIpDQo+Pj4+IC0JCWdvdG8gYnVmZmVyX2Vycm9yOw0KPj4+PiAtCW5lc3QrKzsNCj4+Pj4g KwkJcmV0dXJuIGVycjsNCj4+Pj4NCj4+Pj4gLQllcnIgPSBkZXZsaW5rX2hlYWx0aF9idWZmZXJf cHV0X3ZhbHVlX3U4KGJ1ZmZlciwgc3RvcHBlZCk7DQo+Pj4+ICsJZXJyID0gZGV2bGlua19tc2df b2JqZWN0X2VuZChtc2dfY3R4LCBOVUxMKTsNCj4+Pj4gCWlmIChlcnIpDQo+Pj4+IC0JCWdvdG8g YnVmZmVyX2Vycm9yOw0KPj4+PiAtDQo+Pj4+IC0JZm9yIChpID0gMDsgaSA8IG5lc3Q7IGkrKykN Cj4+Pj4gLQkJZGV2bGlua19oZWFsdGhfYnVmZmVyX25lc3RfZW5kKGJ1ZmZlcik7DQo+Pj4+IC0N Cj4+Pj4gLQlyZXR1cm4gMDsNCj4+Pj4gKwkJcmV0dXJuIGVycjsNCj4+Pj4NCj4+Pj4gLWJ1ZmZl cl9lcnJvcjoNCj4+Pj4gLQlmb3IgKGkgPSAwOyBpIDwgbmVzdDsgaSsrKQ0KPj4+PiAtCQlkZXZs aW5rX2hlYWx0aF9idWZmZXJfbmVzdF9jYW5jZWwoYnVmZmVyKTsNCj4+Pj4gKwllcnIgPSBkZXZs aW5rX21zZ19vYmplY3RfZW5kKG1zZ19jdHgsICJTUSIpOw0KPj4+PiAJcmV0dXJuIGVycjsNCj4+ Pj4gfQ0KPj4+Pg0KPj4+PiBzdGF0aWMgaW50IG1seDVlX3R4X3JlcG9ydGVyX2RpYWdub3NlKHN0 cnVjdCBkZXZsaW5rX2hlYWx0aF9yZXBvcnRlciAqcmVwb3J0ZXIsDQo+Pj4+IC0JCQkJICAgICAg c3RydWN0IGRldmxpbmtfaGVhbHRoX2J1ZmZlciAqKmJ1ZmZlcnNfYXJyYXksDQo+Pj4+IC0JCQkJ ICAgICAgdW5zaWduZWQgaW50IGJ1ZmZlcl9zaXplLA0KPj4+PiAtCQkJCSAgICAgIHVuc2lnbmVk IGludCBudW1fYnVmZmVycykNCj4+Pj4gKwkJCQkgICAgICBzdHJ1Y3QgZGV2bGlua19tc2dfY3R4 ICptc2dfY3R4KQ0KPj4+PiB7DQo+Pj4+IAlzdHJ1Y3QgbWx4NWVfcHJpdiAqcHJpdiA9IGRldmxp bmtfaGVhbHRoX3JlcG9ydGVyX3ByaXYocmVwb3J0ZXIpOw0KPj4+PiAtCXVuc2lnbmVkIGludCBi dWZmID0gMDsNCj4+Pj4gLQlpbnQgaSA9IDAsIGVyciA9IDA7DQo+Pj4+IC0NCj4+Pj4gLQlpZiAo YnVmZmVyX3NpemUgPCBNTFg1RV9UWF9SRVBPUlRFUl9QRVJfU1FfTUFYX0xFTikNCj4+Pj4gLQkJ cmV0dXJuIC1FTk9NRU07DQo+Pj4+ICsJaW50IGksIGVyciA9IDA7DQo+Pj4+DQo+Pj4+IAltdXRl eF9sb2NrKCZwcml2LT5zdGF0ZV9sb2NrKTsNCj4+Pj4NCj4+Pj4gQEAgLTMwNCw3ICsyNDEsOCBA QCBzdGF0aWMgaW50IG1seDVlX3R4X3JlcG9ydGVyX2RpYWdub3NlKHN0cnVjdCBkZXZsaW5rX2hl YWx0aF9yZXBvcnRlciAqcmVwb3J0ZXIsDQo+Pj4+IAkJcmV0dXJuIDA7DQo+Pj4+IAl9DQo+Pj4+ DQo+Pj4+IC0Jd2hpbGUgKGkgPCBwcml2LT5jaGFubmVscy5udW0gKiBwcml2LT5jaGFubmVscy5w YXJhbXMubnVtX3RjKSB7DQo+Pj4+ICsJZm9yIChpID0gMDsgaSA8IHByaXYtPmNoYW5uZWxzLm51 bSAqIHByaXYtPmNoYW5uZWxzLnBhcmFtcy5udW1fdGM7DQo+Pj4+ICsJICAgICBpKyspIHsNCj4+ Pj4gCQlzdHJ1Y3QgbWx4NWVfdHhxc3EgKnNxID0gcHJpdi0+dHhxMnNxW2ldOw0KPj4+PiAJCXU4 IHN0YXRlOw0KPj4+Pg0KPj4+PiBAQCAtMzEyLDE1ICsyNTAsMTEgQEAgc3RhdGljIGludCBtbHg1 ZV90eF9yZXBvcnRlcl9kaWFnbm9zZShzdHJ1Y3QgZGV2bGlua19oZWFsdGhfcmVwb3J0ZXIgKnJl cG9ydGVyLA0KPj4+PiAJCWlmIChlcnIpDQo+Pj4+IAkJCWJyZWFrOw0KPj4+Pg0KPj4+PiAtCQll cnIgPSBtbHg1ZV90eF9yZXBvcnRlcl9idWlsZF9kaWFnbm9zZV9vdXRwdXQoYnVmZmVyc19hcnJh eVtidWZmXSwNCj4+Pj4gLQkJCQkJCQkgICAgICBzcS0+c3FuLCBzdGF0ZSwNCj4+Pj4gKwkJZXJy ID0gbWx4NWVfdHhfcmVwb3J0ZXJfYnVpbGRfZGlhZ25vc2Vfb3V0cHV0KG1zZ19jdHgsIHNxLT5z cW4sDQo+Pj4+ICsJCQkJCQkJICAgICAgc3RhdGUsDQo+Pj4+IAkJCQkJCQkgICAgICBuZXRpZl94 bWl0X3N0b3BwZWQoc3EtPnR4cSkpOw0KPj4+DQo+Pj4gVGhpcyBzaG91bGQgYmUgYW4gYXJyYXku IE9uIFNRIGVudHJ5IDogb25lIG1lbWJlciBvZiBhcnJheS4NCj4+Pg0KPj4+IFNvIGlmIHlvdSB3 YW50IHRvIGNoYW5nZSBpdCwgeW91IG5lZWQgdG8gZG8gdGhpcyBpbiAyIHBhdGNoZXMuIE9uZSBB UEksDQo+Pj4gb25lIHRoZSBhY3R1YWwgbGF5b3V0LiA6Lw0KPj4+DQo+Pj4NCj4+Pg0KPj4+PiAt CQlpZiAoZXJyKSB7DQo+Pj4+IC0JCQlpZiAoKytidWZmID09IG51bV9idWZmZXJzKQ0KPj4+PiAt CQkJCWJyZWFrOw0KPj4+PiAtCQl9IGVsc2Ugew0KPj4+PiAtCQkJaSsrOw0KPj4+PiAtCQl9DQo+ Pj4+ICsJCWlmIChlcnIpDQo+Pj4+ICsJCQlicmVhazsNCj4+Pj4gCX0NCj4+Pj4NCj4+Pj4gCW11 dGV4X3VubG9jaygmcHJpdi0+c3RhdGVfbG9jayk7DQo+Pj4+IEBAIC0zMzAsMTEgKzI2NCw2IEBA IHN0YXRpYyBpbnQgbWx4NWVfdHhfcmVwb3J0ZXJfZGlhZ25vc2Uoc3RydWN0IGRldmxpbmtfaGVh bHRoX3JlcG9ydGVyICpyZXBvcnRlciwNCj4+Pj4gc3RhdGljIGNvbnN0IHN0cnVjdCBkZXZsaW5r X2hlYWx0aF9yZXBvcnRlcl9vcHMgbWx4NV90eF9yZXBvcnRlcl9vcHMgPSB7DQo+Pj4+IAkJLm5h bWUgPSAiVFgiLA0KPj4+PiAJCS5yZWNvdmVyID0gbWx4NWVfdHhfcmVwb3J0ZXJfcmVjb3ZlciwN Cj4+Pj4gLQkJLmRpYWdub3NlX3NpemUgPSBNTFg1RV9NQVhfTlVNX0NIQU5ORUxTICogTUxYNUVf TUFYX05VTV9UQyAqDQo+Pj4+IC0JCQkJIE1MWDVFX1RYX1JFUE9SVEVSX1BFUl9TUV9NQVhfTEVO LA0KPj4+PiAtCQkuZGlhZ25vc2UgPSBtbHg1ZV90eF9yZXBvcnRlcl9kaWFnbm9zZSwNCj4+Pg0K Pj4+IFNvIHlvdSBjaGFuZ2UgdGhlIGNhbGxiYWNrLCByZW1vdmUgaXQgc28gdGhlIGRpc3NlY3Rp b24gaXMgYnJva2VuLg0KPj4NCj4+IFRoaXMgaXMgbmVlZGVkIGluIG9yZGVyIHRvIGhhdmUgdGhp cyBwYXRjaCBjb21waWxlZC4NCj4gDQo+IFlvdSBoYXZlIHRvIGZpZ3VyZSBpdCBvdXQgd2l0aG91 dCBicmVha2FnZS4gVGhpcyBpcyBub3QgdGhlIHdheSB0bw0KPiBkbyB0aGlzLg0KDQpUaGlzIHdv dWxkIGNhdXNlIGFsbCBkZXZsaW5rIGFuZCBtbHg1ZSBwYXRjaGVzIHRvIGJlIGFsdG9nZXRoZXIg d2hlbiANCm1vdmluZyB0byB0aGUgbmV3IEFQSSwgd2hpY2ggSSBkb24ndCBsaWtlIGF0IGFsbC4N Cg0KKCMyKSBJIHRoaW5rIHdlIHNoYWxsIHRha2UgeW91ciBhcHByb2FjaCBhbmQgZG8gYSByZXZl cnQgYW5kIHB1dCBpdCBhbGwgDQphZ2FpbiBvbiB0b3AuDQoNCj4gDQo+Pg0KPj4+DQo+Pj4NCj4+ Pg0KPj4+PiAtCQkuZHVtcF9zaXplID0gMCwNCj4+Pj4gLQkJLmR1bXAgPSBOVUxMLA0KPj4+DQo+ Pj4NCj4+PiBUaGlzIGhhcyAwIHJlbGF0aW9uIHRvIHRoZSBwYXRjaC4gU2hvdWxkIGJlIHNlcGFy YXRlLg0KPj4NCj4+IGFjay4NCj4+DQo+Pj4NCj4+Pg0KPj4+PiB9Ow0KPj4+Pg0KPj4+PiAjZGVm aW5lIE1MWDVfUkVQT1JURVJfVFhfR1JBQ0VGVUxfUEVSSU9EIDUwMA0KPj4+PiAtLSANCj4+Pj4g Mi4xNy4xDQo+Pj4+DQo=