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 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 EC49DC7112F for ; Mon, 21 Jan 2019 11:32:36 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id A4F0420663 for ; Mon, 21 Jan 2019 11:32:36 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (1024-bit key) header.d=Mellanox.com header.i=@Mellanox.com header.b="eJflFlB3" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728187AbfAULcf (ORCPT ); Mon, 21 Jan 2019 06:32:35 -0500 Received: from mail-eopbgr130049.outbound.protection.outlook.com ([40.107.13.49]:7345 "EHLO EUR01-HE1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1727159AbfAULcf (ORCPT ); Mon, 21 Jan 2019 06:32:35 -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=uhx+jm6EdnkgWwg7O0Al9JUGR4jCJJRB8RX77ILRm8s=; b=eJflFlB3ajZCI1VrKM2BuO5j55pweDT3B9QDTj1Sd7hLUQzzHO8Fv6eHLEB0JDxw4i5TgJOzJUDTExJruNBRtZ2cKYSxBwEEyV+xwinq/4Uih1xsriLkqckucLnJs8mdDwIzib3HGJRiJGGO4LJrQn0xcvy65zw1IZdRhUfs+2U= Received: from AM0PR0502MB4068.eurprd05.prod.outlook.com (52.133.41.24) by AM0PR0502MB3713.eurprd05.prod.outlook.com (52.133.46.158) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1537.24; Mon, 21 Jan 2019 11:32:07 +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.1537.031; Mon, 21 Jan 2019 11:32:07 +0000 From: Eran Ben Elisha To: Jiri Pirko CC: "netdev@vger.kernel.org" , Jiri Pirko , "David S. Miller" , Ariel Almog , Aya Levin , Moshe Shemesh Subject: Re: [PATCH net-next v2 09/11] net/mlx5e: Add TX reporter support Thread-Topic: [PATCH net-next v2 09/11] net/mlx5e: Add TX reporter support Thread-Index: AQHUrrAEvqAKGYz6ekqp8sT2OSFUCaW4AvUAgAGZiAA= Date: Mon, 21 Jan 2019 11:32:07 +0000 Message-ID: <05e949b6-030c-e51f-bdf1-7f159a5cbb55@mellanox.com> References: <1547762360-7075-1-git-send-email-eranbe@mellanox.com> <1547762360-7075-10-git-send-email-eranbe@mellanox.com> <20190120110618.GB2730@nanopsycho> In-Reply-To: <20190120110618.GB2730@nanopsycho> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-clientproxiedby: AM5PR04CA0024.eurprd04.prod.outlook.com (2603:10a6:206:1::37) 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;AM0PR0502MB3713;6:LTNraVF5yAwIZg25tfvCFEA4qF23Vb4/XhtyXqGkyaIydfvfp25Vxa58Ck3f+Er5Clpn5g4F8n1EpQHLcwyhbf9S1B+AWIF8FqZdk7b8gBliVWnZmz1ZUvj3da7mmgSvudgh776WCcTu+Mhg02F9N6Vlhq0gMkkYI5HKKblzmRm+tSRfloQgxvykTpTlCWn9lB3LCHIMBejLHY9rGU+P6TZC3DVXTwjgSD8dzQzTdjaDP3XqKeJX7Ia7FiIkgsYy+KbNunF6cM4FTUrJuAPhZrExEx4tk9yzM8n8iQpVwSQIUIxxObAPqrYRZTKVCOncWfT3Ne21Ri2Q6B56BAjBGbtqiSacJaJVcBs61ooLVCCQN8sNmIk5UZaaOaSpbBwlkoaAiTMI/JmISRjm3rwfPImWrRQ1hV3NkUTXp0hs8Mg2XI/mEVv1hnx6Nv/r2pRAYUThh/0argH1bUOkdLGMvA==;5:wlB3UbCxHiMxPRsJubWuPfXRZiX8nbXkoNuG6A1yC9/bPLcMCmfdHKimLHHLxRz5TjupCYLwIYb8nw4EC1yzQ2XZrZ8dTH6+Ecxuvn+glU2/yuD4TAHwEgWhxhkTlSU2FK+ktVwn97HO/AWZD4ltMf04VRQUhmPB2XyL/U9AsUrYdSpMNQ2U6V72f7XKI2teP5sNYuJnHxhmRqbWHiQdag==;7:O69upl8O81seGX6f+U7YNBuRhg0kG4fmHSoY55d76TFnW3l+EvNOG555BHtjvAsv0kIM2tVKIJby9aQluRiJmq6WnrC4Wrdse1TynMl2AAWmV4O1XJwuAf/pgoxU0S8bN7nv48aIclfkWBDwXvJGpg== x-ms-office365-filtering-correlation-id: 2974d9a3-6797-4ac3-def0-08d67f9412d8 x-ms-office365-filtering-ht: Tenant x-microsoft-antispam: BCL:0;PCL:0;RULEID:(2390118)(7020095)(4652040)(8989299)(5600109)(711020)(4618075)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(2017052603328)(7153060)(7193020);SRVR:AM0PR0502MB3713; x-ms-traffictypediagnostic: AM0PR0502MB3713: x-microsoft-antispam-prvs: x-forefront-prvs: 0924C6A0D5 x-forefront-antispam-report: SFV:NSPM;SFS:(10009020)(136003)(366004)(39860400002)(376002)(346002)(396003)(199004)(189003)(51344004)(52116002)(25786009)(2616005)(446003)(476003)(6512007)(14444005)(107886003)(186003)(229853002)(11346002)(30864003)(256004)(6506007)(102836004)(76176011)(106356001)(36756003)(4326008)(3846002)(53546011)(386003)(486006)(6116002)(31686004)(6436002)(54906003)(86362001)(14454004)(31696002)(68736007)(99286004)(2906002)(71190400001)(6246003)(7736002)(305945005)(105586002)(8936002)(81156014)(6916009)(81166006)(26005)(8676002)(97736004)(316002)(66066001)(6486002)(53936002)(71200400001)(478600001);DIR:OUT;SFP:1101;SCL:1;SRVR:AM0PR0502MB3713;H:AM0PR0502MB4068.eurprd05.prod.outlook.com;FPR:;SPF:None;LANG:en;PTR:InfoNoRecords;A:1;MX:3; received-spf: None (protection.outlook.com: mellanox.com does not designate permitted sender hosts) x-ms-exchange-senderadcheck: 1 x-microsoft-antispam-message-info: HLcC/RB9MOiMA0eEvfKHVdb9mpSBBJjagRo6YvO2h/ONT47yKKdRH4W+P7fblEVVBwkin/qCVJFgIn702ew2v98QFWE6gDHL/WlNSfcm4BGXkqQz5TspegKDnOYXl6xBJ5fMjZbCC7RBWJ7vVFsvpkfa4xL7knuDLpbXfXvsykA5B8X9VmDFMSfBnhOO6/jIfTJM2G5E4Ok0B4hM8TYncXqoHE4qsRnVpC+hO/jg5+/eLfpuaDMmDRJ2rdCf+l/0bxGE7PodiWp3rXr0Jmu6t4nJko6gzkYnXAOraprgzpKGFFniPTDIH4d1PWgSY9R7Q3AetFeDbFq66jzLFDGnbD4RyFj0S43okT4CT7+Le/AjLrpJHg7xS0obWSYBPFSSO3KTOHcQ65ezRInQ/JwMG7yR4cbsRPoENNiv9xfJSZo= spamdiagnosticoutput: 1:99 spamdiagnosticmetadata: NSPM Content-Type: text/plain; charset="utf-8" Content-ID: <371E3949F77E7043A6D36422F8105EC3@eurprd05.prod.outlook.com> Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: Mellanox.com X-MS-Exchange-CrossTenant-Network-Message-Id: 2974d9a3-6797-4ac3-def0-08d67f9412d8 X-MS-Exchange-CrossTenant-originalarrivaltime: 21 Jan 2019 11:32:06.1009 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: a652971c-7d2e-4d9b-a6a4-d149256f461b X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR0502MB3713 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org DQoNCk9uIDEvMjAvMjAxOSAxOjA2IFBNLCBKaXJpIFBpcmtvIHdyb3RlOg0KPiBUaHUsIEphbiAx NywgMjAxOSBhdCAxMDo1OToxOFBNIENFVCwgZXJhbmJlQG1lbGxhbm94LmNvbSB3cm90ZToNCj4+ IEFkZCBtbHg1ZSB0eCByZXBvcnRlciB0byBkZXZsaW5rIGhlYWx0aCByZXBvcnRlcnMuIFRoaXMg cmVwb3J0ZXIgd2lsbCBiZQ0KPj4gcmVzcG9uc2libGUgZm9yIGRpYWdub3NpbmcsIHJlcG9ydGlu ZyBhbmQgcmVjb3ZlcmluZyBvZiBUWCBlcnJvcnMuDQo+PiBUaGlzIHBhdGNoIGRlY2xhcmVzIHRo ZSBUWCByZXBvcnRlciBvcGVyYXRpb25zIGFuZCBhbGxvY2F0ZSBpdCB1c2luZyB0aGUNCj4+IGRl dmxpbmsgaGVhbHRoIEFQSS4gQ3VycmVudGx5LCB0aGlzIHJlcG9ydGVyIHN1cHBvcnRzIHJlcG9y dGluZyBhbmQNCj4+IHJlY292ZXJpbmcgZnJvbSBzZW5kIGVycm9yIENRRSBvbmx5LiBJbiBhZGRp dGlvbiwgaXQgYWRkcyBkaWFnbm9zZQ0KPj4gaW5mb3JtYXRpb24gZm9yIHRoZSBvcGVuIFNRcy4N Cj4+DQo+PiBGb3IgYSBsb2NhbCBTUSByZWNvdmVyIChkdWUgdG8gZHJpdmVyIGVycm9yIHJlcG9y dCksIGluIGNhc2Ugb2YgU1EgcmVjb3Zlcg0KPj4gZmFpbHVyZSwgdGhlIHJlY292ZXIgb3BlcmF0 aW9uIHdpbGwgYmUgY29uc2lkZXJlZCBhcyBhIGZhaWx1cmUuDQo+PiBGb3IgYSBmdWxsIFRYIHJl Y292ZXIsIGFuIGF0dGVtcHQgdG8gY2xvc2UgYW5kIG9wZW4gdGhlIGNoYW5uZWxzIHdpbGwgYmUN Cj4+IGRvbmUuIElmIHRoaXMgb25lIHBhc3NlZCBzdWNjZXNzZnVsbHksIGl0IHdpbGwgYmUgY29u c2lkZXJlZCBhcyBhDQo+PiBzdWNjZXNzZnVsIHJlY292ZXIuDQo+Pg0KPj4gVGhlIFNRIHJlY292 ZXIgZnJvbSBlcnJvciBDUUUgZmxvdyBpcyBub3QgYSBuZXcgZmVhdHVyZSBpbiB0aGUgZHJpdmVy LA0KPj4gdGhpcyBwYXRjaCByZS1vcmdhbml6ZSB0aGUgZnVuY3Rpb25zIGFuZCBhZGFwdCB0aGVt IGZvciB0aGUgZGV2bGluaw0KPj4gaGVhbHRoIEFQSS4gRm9yIHRoaXMgcHVycG9zZSwgbW92ZSBj b2RlIGZyb20gZW5fbWFpbi5jIHRvIGEgbmV3IGZpbGUNCj4+IG5hbWVkIHJlcG9ydGVyX3R4LmMu DQo+Pg0KPj4gU2lnbmVkLW9mZi1ieTogRXJhbiBCZW4gRWxpc2hhIDxlcmFuYmVAbWVsbGFub3gu Y29tPg0KPj4gUmV2aWV3ZWQtYnk6IFNhZWVkIE1haGFtZWVkIDxzYWVlZG1AbWVsbGFub3guY29t Pg0KPj4gLS0tDQo+PiAuLi4vbmV0L2V0aGVybmV0L21lbGxhbm94L21seDUvY29yZS9NYWtlZmls ZSAgfCAgIDIgKy0NCj4+IGRyaXZlcnMvbmV0L2V0aGVybmV0L21lbGxhbm94L21seDUvY29yZS9l bi5oICB8ICAxOCArLQ0KPj4gLi4uL2V0aGVybmV0L21lbGxhbm94L21seDUvY29yZS9lbi9yZXBv cnRlci5oIHwgIDE0ICsNCj4+IC4uLi9tZWxsYW5veC9tbHg1L2NvcmUvZW4vcmVwb3J0ZXJfdHgu YyAgICAgICB8IDMyMSArKysrKysrKysrKysrKysrKysNCj4+IC4uLi9uZXQvZXRoZXJuZXQvbWVs bGFub3gvbWx4NS9jb3JlL2VuX21haW4uYyB8IDEzNSArLS0tLS0tLQ0KPj4gLi4uL25ldC9ldGhl cm5ldC9tZWxsYW5veC9tbHg1L2NvcmUvZW5fdHguYyAgIHwgICAyICstDQo+PiA2IGZpbGVzIGNo YW5nZWQsIDM2NyBpbnNlcnRpb25zKCspLCAxMjUgZGVsZXRpb25zKC0pDQo+PiBjcmVhdGUgbW9k ZSAxMDA2NDQgZHJpdmVycy9uZXQvZXRoZXJuZXQvbWVsbGFub3gvbWx4NS9jb3JlL2VuL3JlcG9y dGVyLmgNCj4+IGNyZWF0ZSBtb2RlIDEwMDY0NCBkcml2ZXJzL25ldC9ldGhlcm5ldC9tZWxsYW5v eC9tbHg1L2NvcmUvZW4vcmVwb3J0ZXJfdHguYw0KPj4NCj4+IGRpZmYgLS1naXQgYS9kcml2ZXJz L25ldC9ldGhlcm5ldC9tZWxsYW5veC9tbHg1L2NvcmUvTWFrZWZpbGUgYi9kcml2ZXJzL25ldC9l dGhlcm5ldC9tZWxsYW5veC9tbHg1L2NvcmUvTWFrZWZpbGUNCj4+IGluZGV4IDlkZTlhYmFjZjdm Ni4uNmJiMmE4NjBiMTViIDEwMDY0NA0KPj4gLS0tIGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvbWVs bGFub3gvbWx4NS9jb3JlL01ha2VmaWxlDQo+PiArKysgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9t ZWxsYW5veC9tbHg1L2NvcmUvTWFrZWZpbGUNCj4+IEBAIC0yMiw3ICsyMiw3IEBAIG1seDVfY29y ZS15IDo9CW1haW4ubyBjbWQubyBkZWJ1Z2ZzLm8gZncubyBlcS5vIHVhci5vIHBhZ2VhbGxvYy5v IFwNCj4+ICMNCj4+IG1seDVfY29yZS0kKENPTkZJR19NTFg1X0NPUkVfRU4pICs9IGVuX21haW4u byBlbl9jb21tb24ubyBlbl9mcy5vIGVuX2V0aHRvb2wubyBcDQo+PiAJCWVuX3R4Lm8gZW5fcngu byBlbl9kaW0ubyBlbl90eHJ4Lm8gZW4veGRwLm8gZW5fc3RhdHMubyBcDQo+PiAtCQllbl9zZWxm dGVzdC5vIGVuL3BvcnQubyBlbi9tb25pdG9yX3N0YXRzLm8NCj4+ICsJCWVuX3NlbGZ0ZXN0Lm8g ZW4vcG9ydC5vIGVuL21vbml0b3Jfc3RhdHMubyBlbi9yZXBvcnRlcl90eC5vDQo+Pg0KPj4gIw0K Pj4gIyBOZXRkZXYgZXh0cmENCj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9t ZWxsYW5veC9tbHg1L2NvcmUvZW4uaCBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L21lbGxhbm94L21s eDUvY29yZS9lbi5oDQo+PiBpbmRleCA4ZmE4ZmRkMzBiODUuLjI3ZTI3NmM5YmY4NCAxMDA2NDQN Cj4+IC0tLSBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L21lbGxhbm94L21seDUvY29yZS9lbi5oDQo+ PiArKysgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9tZWxsYW5veC9tbHg1L2NvcmUvZW4uaA0KPj4g QEAgLTM4OCwxMCArMzg4LDcgQEAgc3RydWN0IG1seDVlX3R4cXNxIHsNCj4+IAlzdHJ1Y3QgbWx4 NWVfY2hhbm5lbCAgICAgICpjaGFubmVsOw0KPj4gCWludCAgICAgICAgICAgICAgICAgICAgICAg IHR4cV9peDsNCj4+IAl1MzIgICAgICAgICAgICAgICAgICAgICAgICByYXRlX2xpbWl0Ow0KPj4g LQlzdHJ1Y3QgbWx4NWVfdHhxc3FfcmVjb3ZlciB7DQo+PiAtCQlzdHJ1Y3Qgd29ya19zdHJ1Y3Qg ICAgICAgICByZWNvdmVyX3dvcms7DQo+PiAtCQl1NjQgICAgICAgICAgICAgICAgICAgICAgICBs YXN0X3JlY292ZXI7DQo+PiAtCX0gcmVjb3ZlcjsNCj4+ICsJc3RydWN0IHdvcmtfc3RydWN0ICAg ICAgICAgcmVjb3Zlcl93b3JrOw0KPj4gfSBfX19fY2FjaGVsaW5lX2FsaWduZWRfaW5fc21wOw0K Pj4NCj4+IHN0cnVjdCBtbHg1ZV9kbWFfaW5mbyB7DQo+PiBAQCAtNjgyLDYgKzY3OSwxMyBAQCBz dHJ1Y3QgbWx4NWVfcnNzX3BhcmFtcyB7DQo+PiAJdTgJaGZ1bmM7DQo+PiB9Ow0KPj4NCj4+ICtz dHJ1Y3QgbWx4NWVfbW9kaWZ5X3NxX3BhcmFtIHsNCj4+ICsJaW50IGN1cnJfc3RhdGU7DQo+PiAr CWludCBuZXh0X3N0YXRlOw0KPj4gKwlpbnQgcmxfdXBkYXRlOw0KPj4gKwlpbnQgcmxfaW5kZXg7 DQo+PiArfTsNCj4+ICsNCj4+IHN0cnVjdCBtbHg1ZV9wcml2IHsNCj4+IAkvKiBwcml2IGRhdGEg cGF0aCBmaWVsZHMgLSBzdGFydCAqLw0KPj4gCXN0cnVjdCBtbHg1ZV90eHFzcSAqdHhxMnNxW01M WDVFX01BWF9OVU1fQ0hBTk5FTFMgKiBNTFg1RV9NQVhfTlVNX1RDXTsNCj4+IEBAIC03MzcsNiAr NzQxLDcgQEAgc3RydWN0IG1seDVlX3ByaXYgew0KPj4gI2lmZGVmIENPTkZJR19NTFg1X0VOX1RM Uw0KPj4gCXN0cnVjdCBtbHg1ZV90bHMgICAgICAgICAgKnRsczsNCj4+ICNlbmRpZg0KPj4gKwlz dHJ1Y3QgZGV2bGlua19oZWFsdGhfcmVwb3J0ZXIgKnR4X3JlcG9ydGVyOw0KPj4gfTsNCj4+DQo+ PiBzdHJ1Y3QgbWx4NWVfcHJvZmlsZSB7DQo+PiBAQCAtODY2LDYgKzg3MSwxMSBAQCB2b2lkIG1s eDVlX3NldF9ycV90eXBlKHN0cnVjdCBtbHg1X2NvcmVfZGV2ICptZGV2LCBzdHJ1Y3QgbWx4NWVf cGFyYW1zICpwYXJhbXMpOw0KPj4gdm9pZCBtbHg1ZV9pbml0X3JxX3R5cGVfcGFyYW1zKHN0cnVj dCBtbHg1X2NvcmVfZGV2ICptZGV2LA0KPj4gCQkJICAgICAgIHN0cnVjdCBtbHg1ZV9wYXJhbXMg KnBhcmFtcyk7DQo+Pg0KPj4gK2ludCBtbHg1ZV9tb2RpZnlfc3Eoc3RydWN0IG1seDVfY29yZV9k ZXYgKm1kZXYsIHUzMiBzcW4sDQo+PiArCQkgICAgc3RydWN0IG1seDVlX21vZGlmeV9zcV9wYXJh bSAqcCk7DQo+PiArdm9pZCBtbHg1ZV9hY3RpdmF0ZV90eHFzcShzdHJ1Y3QgbWx4NWVfdHhxc3Eg KnNxKTsNCj4+ICt2b2lkIG1seDVlX3R4X2Rpc2FibGVfcXVldWUoc3RydWN0IG5ldGRldl9xdWV1 ZSAqdHhxKTsNCj4+ICsNCj4+IHN0YXRpYyBpbmxpbmUgYm9vbCBtbHg1ZV90dW5uZWxfaW5uZXJf ZnRfc3VwcG9ydGVkKHN0cnVjdCBtbHg1X2NvcmVfZGV2ICptZGV2KQ0KPj4gew0KPj4gCXJldHVy biAoTUxYNV9DQVBfRVRIKG1kZXYsIHR1bm5lbF9zdGF0ZWxlc3NfZ3JlKSAmJg0KPj4gZGlmZiAt LWdpdCBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L21lbGxhbm94L21seDUvY29yZS9lbi9yZXBvcnRl ci5oIGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvbWVsbGFub3gvbWx4NS9jb3JlL2VuL3JlcG9ydGVy LmgNCj4+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0DQo+PiBpbmRleCAwMDAwMDAwMDAwMDAuLjc0MDgz ZTEyMGFiMw0KPj4gLS0tIC9kZXYvbnVsbA0KPj4gKysrIGIvZHJpdmVycy9uZXQvZXRoZXJuZXQv bWVsbGFub3gvbWx4NS9jb3JlL2VuL3JlcG9ydGVyLmgNCj4+IEBAIC0wLDAgKzEsMTQgQEANCj4+ ICsvKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMCBPUiBMaW51eC1PcGVuSUIgKi8N Cj4+ICsvKiBDb3B5cmlnaHQgKGMpIDIwMTggTWVsbGFub3ggVGVjaG5vbG9naWVzLiAqLw0KPj4g Kw0KPj4gKyNpZm5kZWYgX19NTFg1RV9FTl9SRVBPUlRFUl9IDQo+PiArI2RlZmluZSBfX01MWDVF X0VOX1JFUE9SVEVSX0gNCj4+ICsNCj4+ICsjaW5jbHVkZSA8bGludXgvbWx4NS9kcml2ZXIuaD4N Cj4+ICsjaW5jbHVkZSAiZW4uaCINCj4+ICsNCj4+ICtpbnQgbWx4NWVfdHhfcmVwb3J0ZXJfY3Jl YXRlKHN0cnVjdCBtbHg1ZV9wcml2ICpwcml2KTsNCj4+ICt2b2lkIG1seDVlX3R4X3JlcG9ydGVy X2Rlc3Ryb3koc3RydWN0IG1seDVlX3ByaXYgKnByaXYpOw0KPj4gK3ZvaWQgbWx4NWVfdHhfcmVw b3J0ZXJfZXJyX2NxZShzdHJ1Y3QgbWx4NWVfdHhxc3EgKnNxKTsNCj4+ICsNCj4+ICsjZW5kaWYN Cj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9tZWxsYW5veC9tbHg1L2NvcmUv ZW4vcmVwb3J0ZXJfdHguYyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L21lbGxhbm94L21seDUvY29y ZS9lbi9yZXBvcnRlcl90eC5jDQo+PiBuZXcgZmlsZSBtb2RlIDEwMDY0NA0KPj4gaW5kZXggMDAw MDAwMDAwMDAwLi45ODAwZGY0OTA5YzINCj4+IC0tLSAvZGV2L251bGwNCj4+ICsrKyBiL2RyaXZl cnMvbmV0L2V0aGVybmV0L21lbGxhbm94L21seDUvY29yZS9lbi9yZXBvcnRlcl90eC5jDQo+PiBA QCAtMCwwICsxLDMyMSBAQA0KPj4gKy8qIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4w IE9SIExpbnV4LU9wZW5JQiAqLw0KPj4gKy8qIENvcHlyaWdodCAoYykgMjAxOCBNZWxsYW5veCBU ZWNobm9sb2dpZXMuICovDQo+PiArDQo+PiArI2luY2x1ZGUgPG5ldC9kZXZsaW5rLmg+DQo+PiAr I2luY2x1ZGUgInJlcG9ydGVyLmgiDQo+PiArI2luY2x1ZGUgImxpYi9lcS5oIg0KPj4gKw0KPj4g KyNkZWZpbmUgTUxYNUVfVFhfUkVQT1JURVJfUEVSX1NRX01BWF9MRU4gMjU2DQo+IA0KPiBTb21l IG1hZGUtdXAgbnVtYmVyLiBJIGRvbid0IGxpa2UgaG93IHRoaXMgd2hvbGUgdGhpbmcgaXMgZG8u IEkgd2lsbA0KPiBjb21tZW50IG9uIGl0IGluIHRoZSBkZXZsaW5rIHBhcnQuDQo+IA0KPiANCj4g Wy4uLl0NCj4gDQo+IA0KPj4gK3N0YXRpYyBpbnQNCj4+ICttbHg1ZV90eF9yZXBvcnRlcl9idWls ZF9kaWFnbm9zZV9vdXRwdXQoc3RydWN0IGRldmxpbmtfaGVhbHRoX2J1ZmZlciAqYnVmZmVyLA0K Pj4gKwkJCQkJdTMyIHNxbiwgdTggc3RhdGUsIHU4IHN0b3BwZWQpDQo+PiArew0KPj4gKwlpbnQg ZXJyLCBpOw0KPj4gKwlpbnQgbmVzdCA9IDA7DQo+PiArCWNoYXIgbmFtZVsyMF07DQo+PiArDQo+ PiArCWVyciA9IGRldmxpbmtfaGVhbHRoX2J1ZmZlcl9uZXN0X3N0YXJ0KGJ1ZmZlciwNCj4+ICsJ CQkJCSAgICAgICBERVZMSU5LX0FUVFJfSEVBTFRIX0JVRkZFUl9PQkpFQ1QpOw0KPj4gKwlpZiAo ZXJyKQ0KPj4gKwkJZ290byBidWZmZXJfZXJyb3I7DQo+PiArCW5lc3QrKzsNCj4+ICsNCj4+ICsJ ZXJyID0gZGV2bGlua19oZWFsdGhfYnVmZmVyX25lc3Rfc3RhcnQoYnVmZmVyLA0KPj4gKwkJCQkJ ICAgICAgIERFVkxJTktfQVRUUl9IRUFMVEhfQlVGRkVSX09CSkVDVF9QQUlSKTsNCj4+ICsJaWYg KGVycikNCj4+ICsJCWdvdG8gYnVmZmVyX2Vycm9yOw0KPj4gKwluZXN0Kys7DQo+PiArDQo+PiAr CXNwcmludGYobmFtZSwgIlNRIDB4JXgiLCBzcW4pOw0KPiANCj4gTm8uIFRoZSB3aG9sZSBpZGVh IG9mIGhhdmluZyB0aGUgbWVzc2FnZSBidWlsZCB1cCB3aXRoIG5lc3RlZCBhdHRyaWJ1dGVzDQo+ IChqc29uLWxpa2UpIHdhcyB0byBhdm9pZCB0aGluZ3MgbGlrZSB0aGlzLiBObyBzcHJpbnRmcyBw bGVhc2UuIElmIHlvdQ0KPiB3YW50IHRvIGRvIHNwcmludGYsIG1vc3Qgb2YgdGhlIHRpbWUgeW91 IGFyZSBkb2luZyBzb21ldGhpbmcgd3JvbmcuDQoNCkkgd2FudGVkIHRoYXQgZWFjaCBTUSBvYmpl Y3Qgd2lsbCBoYXZlIGEgdW5pcXVlIG5hbWUuIEJ1dCBJIGNhbiBtZXJnZSANCnRoZSBzcW4gaW50 byBpdHMgYXR0cmlidXRlcyBpbnN0ZWFkLg0KDQo+IA0KPiANCj4+ICsJZXJyID0gZGV2bGlua19o ZWFsdGhfYnVmZmVyX3B1dF9vYmplY3RfbmFtZShidWZmZXIsIG5hbWUpOw0KPj4gKwlpZiAoZXJy KQ0KPj4gKwkJZ290byBidWZmZXJfZXJyb3I7DQo+PiArDQo+PiArCWVyciA9IGRldmxpbmtfaGVh bHRoX2J1ZmZlcl9uZXN0X3N0YXJ0KGJ1ZmZlciwNCj4+ICsJCQkJCSAgICAgICBERVZMSU5LX0FU VFJfSEVBTFRIX0JVRkZFUl9PQkpFQ1RfVkFMVUUpOw0KPj4gKwlpZiAoZXJyKQ0KPj4gKwkJZ290 byBidWZmZXJfZXJyb3I7DQo+PiArCW5lc3QrKzsNCj4+ICsNCj4+ICsJZXJyID0gZGV2bGlua19o ZWFsdGhfYnVmZmVyX25lc3Rfc3RhcnQoYnVmZmVyLA0KPj4gKwkJCQkJICAgICAgIERFVkxJTktf QVRUUl9IRUFMVEhfQlVGRkVSX09CSkVDVCk7DQo+PiArCWlmIChlcnIpDQo+PiArCQlnb3RvIGJ1 ZmZlcl9lcnJvcjsNCj4+ICsJbmVzdCsrOw0KPj4gKw0KPj4gKwllcnIgPSBkZXZsaW5rX2hlYWx0 aF9idWZmZXJfbmVzdF9zdGFydChidWZmZXIsDQo+PiArCQkJCQkgICAgICAgREVWTElOS19BVFRS X0hFQUxUSF9CVUZGRVJfT0JKRUNUX1BBSVIpOw0KPj4gKwlpZiAoZXJyKQ0KPj4gKwkJZ290byBi dWZmZXJfZXJyb3I7DQo+PiArCW5lc3QrKzsNCj4+ICsNCj4+ICsJZXJyID0gZGV2bGlua19oZWFs dGhfYnVmZmVyX3B1dF9vYmplY3RfbmFtZShidWZmZXIsICJIVyBzdGF0ZSIpOw0KPj4gKwlpZiAo ZXJyKQ0KPj4gKwkJZ290byBidWZmZXJfZXJyb3I7DQo+PiArDQo+PiArCWVyciA9IGRldmxpbmtf aGVhbHRoX2J1ZmZlcl9uZXN0X3N0YXJ0KGJ1ZmZlciwNCj4+ICsJCQkJCSAgICAgICBERVZMSU5L X0FUVFJfSEVBTFRIX0JVRkZFUl9PQkpFQ1RfVkFMVUUpOw0KPiANCj4gSG93IGNvdWxkIHlvdSBw dXQgYW4gb2JqZWN0IG5hbWUgYW5kIGRvbid0IHN0YXJ0IG5lc3Rpbmc/IEl0IGxvb2tzDQo+IGlt cGxpY2l0IHRvIG1lLg0KDQpJIHdpbGwgYWRkIHNvbWUgaGVscGVyIGZ1bmN0aW9ucyB0aGF0IHlv dSBjb3VsZCByZXZpZXcuIEp1c3Qga2VlcCBpbiANCm1pbmQgdGhlIGltcGxpY2l0IG5lc3Qgc3Rh cnQgbXVzdCBjb21lIHdpdGggaW1wbGljaXQgbmVzdCBlbmQsIHNvIGl0IA0Kd29uJ3QgZml0IGlu dG8gZXZlcnkgdXNlLi4uDQo+IA0KPiANCj4gDQo+PiArCWlmIChlcnIpDQo+PiArCQlnb3RvIGJ1 ZmZlcl9lcnJvcjsNCj4+ICsJbmVzdCsrOw0KPj4gKw0KPj4gKwllcnIgPSBkZXZsaW5rX2hlYWx0 aF9idWZmZXJfcHV0X3ZhbHVlX3U4KGJ1ZmZlciwgc3RhdGUpOw0KPj4gKwlpZiAoZXJyKQ0KPj4g KwkJZ290byBidWZmZXJfZXJyb3I7DQo+PiArDQo+PiArCWRldmxpbmtfaGVhbHRoX2J1ZmZlcl9u ZXN0X2VuZChidWZmZXIpOyAvKiBERVZMSU5LX0FUVFJfSEVBTFRIX0JVRkZFUl9PQkpFQ1RfVkFM VUUgKi8NCj4+ICsJbmVzdC0tOw0KPj4gKw0KPj4gKwlkZXZsaW5rX2hlYWx0aF9idWZmZXJfbmVz dF9lbmQoYnVmZmVyKTsgLyogREVWTElOS19BVFRSX0hFQUxUSF9CVUZGRVJfT0JKRUNUX1BBSVIg Ki8NCj4+ICsJbmVzdC0tOw0KPj4gKw0KPj4gKwllcnIgPSBkZXZsaW5rX2hlYWx0aF9idWZmZXJf bmVzdF9zdGFydChidWZmZXIsDQo+PiArCQkJCQkgICAgICAgREVWTElOS19BVFRSX0hFQUxUSF9C VUZGRVJfT0JKRUNUX1BBSVIpOw0KPj4gKwlpZiAoZXJyKQ0KPj4gKwkJZ290byBidWZmZXJfZXJy b3I7DQo+PiArCW5lc3QrKzsNCj4+ICsNCj4+ICsJZXJyID0gZGV2bGlua19oZWFsdGhfYnVmZmVy X3B1dF9vYmplY3RfbmFtZShidWZmZXIsICJzdG9wcGVkIik7DQo+PiArCWlmIChlcnIpDQo+PiAr CQlnb3RvIGJ1ZmZlcl9lcnJvcjsNCj4+ICsNCj4+ICsJZXJyID0gZGV2bGlua19oZWFsdGhfYnVm ZmVyX25lc3Rfc3RhcnQoYnVmZmVyLA0KPj4gKwkJCQkJICAgICAgIERFVkxJTktfQVRUUl9IRUFM VEhfQlVGRkVSX09CSkVDVF9WQUxVRSk7DQo+PiArCWlmIChlcnIpDQo+PiArCQlnb3RvIGJ1ZmZl cl9lcnJvcjsNCj4+ICsJbmVzdCsrOw0KPiANCj4gV2hhdCdzIHVwIHdpdGggdGhpcyBuZXN0Kysg bmVzdC0tPw0KPiBXaGVuIHlvdSBvcGVuIGEgbmVzdCwgeW91IHNob3VsZCBoYXZlIGFuIGVycm9y IHBhdGggaW50ZW4gdG8gY2xvc2UgdGhlDQo+IG5lc3QgYW5kIGp1bXAgdGhlcmUgaW4gY2FzZSBv ZiBhbiBlcnJvci4gVGhpcyBpcyBoYXJkIHRvIHJlYWQgYW5kDQo+IHVuZGVyc3RhbmQuDQppdCB3 YXMgaW4gb3JkZXIgdG8gaGF2ZSB0aGUgbG9vcCBmb3IgbmVzdF9lbmQuIEkgcmVtb3ZlZCBpdC4N Cj4gCQ0KPiANCj4gDQo+PiArDQo+PiArCWVyciA9IGRldmxpbmtfaGVhbHRoX2J1ZmZlcl9wdXRf dmFsdWVfdTgoYnVmZmVyLCBzdG9wcGVkKTsNCj4+ICsJaWYgKGVycikNCj4+ICsJCWdvdG8gYnVm ZmVyX2Vycm9yOw0KPj4gKw0KPj4gKwlmb3IgKGkgPSAwOyBpIDwgbmVzdDsgaSsrKQ0KPj4gKwkJ ZGV2bGlua19oZWFsdGhfYnVmZmVyX25lc3RfZW5kKGJ1ZmZlcik7DQo+PiArDQo+PiArCXJldHVy biAwOw0KPj4gKw0KPj4gK2J1ZmZlcl9lcnJvcjoNCj4+ICsJZm9yIChpID0gMDsgaSA8IG5lc3Q7 IGkrKykNCj4+ICsJCWRldmxpbmtfaGVhbHRoX2J1ZmZlcl9uZXN0X2NhbmNlbChidWZmZXIpOw0K Pj4gKwlyZXR1cm4gZXJyOw0KPj4gK30NCj4+ICsNCj4+ICtzdGF0aWMgaW50IG1seDVlX3R4X3Jl cG9ydGVyX2RpYWdub3NlKHN0cnVjdCBkZXZsaW5rX2hlYWx0aF9yZXBvcnRlciAqcmVwb3J0ZXIs DQo+PiArCQkJCSAgICAgIHN0cnVjdCBkZXZsaW5rX2hlYWx0aF9idWZmZXIgKipidWZmZXJzX2Fy cmF5LA0KPj4gKwkJCQkgICAgICB1bnNpZ25lZCBpbnQgYnVmZmVyX3NpemUsDQo+PiArCQkJCSAg ICAgIHVuc2lnbmVkIGludCBudW1fYnVmZmVycykNCj4+ICt7DQo+PiArCXN0cnVjdCBtbHg1ZV9w cml2ICpwcml2ID0gZGV2bGlua19oZWFsdGhfcmVwb3J0ZXJfcHJpdihyZXBvcnRlcik7DQo+PiAr CXVuc2lnbmVkIGludCBidWZmID0gMDsNCj4+ICsJaW50IGkgPSAwLCBlcnIgPSAwOw0KPj4gKw0K Pj4gKwlpZiAoYnVmZmVyX3NpemUgPCBNTFg1RV9UWF9SRVBPUlRFUl9QRVJfU1FfTUFYX0xFTikN Cj4+ICsJCXJldHVybiAtRU5PTUVNOw0KPj4gKw0KPj4gKwltdXRleF9sb2NrKCZwcml2LT5zdGF0 ZV9sb2NrKTsNCj4+ICsNCj4+ICsJaWYgKCF0ZXN0X2JpdChNTFg1RV9TVEFURV9PUEVORUQsICZw cml2LT5zdGF0ZSkpIHsNCj4+ICsJCW11dGV4X3VubG9jaygmcHJpdi0+c3RhdGVfbG9jayk7DQo+ PiArCQlyZXR1cm4gMDsNCj4+ICsJfQ0KPj4gKw0KPj4gKwl3aGlsZSAoaSA8IHByaXYtPmNoYW5u ZWxzLm51bSAqIHByaXYtPmNoYW5uZWxzLnBhcmFtcy5udW1fdGMpIHsNCj4+ICsJCXN0cnVjdCBt bHg1ZV90eHFzcSAqc3EgPSBwcml2LT50eHEyc3FbaV07DQo+PiArCQl1OCBzdGF0ZTsNCj4+ICsN Cj4+ICsJCWVyciA9IG1seDVfY29yZV9xdWVyeV9zcV9zdGF0ZShwcml2LT5tZGV2LCBzcS0+c3Fu LCAmc3RhdGUpOw0KPj4gKwkJaWYgKGVycikNCj4+ICsJCQlicmVhazsNCj4+ICsNCj4+ICsJCWVy ciA9IG1seDVlX3R4X3JlcG9ydGVyX2J1aWxkX2RpYWdub3NlX291dHB1dChidWZmZXJzX2FycmF5 W2J1ZmZdLA0KPj4gKwkJCQkJCQkgICAgICBzcS0+c3FuLCBzdGF0ZSwNCj4+ICsJCQkJCQkJICAg ICAgbmV0aWZfeG1pdF9zdG9wcGVkKHNxLT50eHEpKTsNCj4+ICsJCWlmIChlcnIpIHsNCj4+ICsJ CQlpZiAoKytidWZmID09IG51bV9idWZmZXJzKQ0KPj4gKwkJCQlicmVhazsNCj4+ICsJCX0gZWxz ZSB7DQo+PiArCQkJaSsrOw0KPj4gKwkJfQ0KPj4gKwl9DQo+PiArDQo+PiArCW11dGV4X3VubG9j aygmcHJpdi0+c3RhdGVfbG9jayk7DQo+PiArCXJldHVybiBlcnI7DQo+PiArfQ0KPj4gKw0KPj4g K3N0YXRpYyBjb25zdCBzdHJ1Y3QgZGV2bGlua19oZWFsdGhfcmVwb3J0ZXJfb3BzIG1seDVfdHhf cmVwb3J0ZXJfb3BzID0gew0KPj4gKwkJLm5hbWUgPSAiVFgiLA0KPj4gKwkJLnJlY292ZXIgPSBt bHg1ZV90eF9yZXBvcnRlcl9yZWNvdmVyLA0KPj4gKwkJLmRpYWdub3NlX3NpemUgPSBNTFg1RV9N QVhfTlVNX0NIQU5ORUxTICogTUxYNUVfTUFYX05VTV9UQyAqDQo+PiArCQkJCSBNTFg1RV9UWF9S RVBPUlRFUl9QRVJfU1FfTUFYX0xFTiwNCj4+ICsJCS5kaWFnbm9zZSA9IG1seDVlX3R4X3JlcG9y dGVyX2RpYWdub3NlLA0KPj4gKwkJLmR1bXBfc2l6ZSA9IDAsDQo+PiArCQkuZHVtcCA9IE5VTEws DQo+IA0KPiBEb24ndCBpbml0aWFsaXplIDAgYW5kIE5VTEwgaW4gc3RhdGljIGNvbnN0Lg0KQWNr Lg0KPiANCj4gWy4uLl0NCj4gDQo=