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 335D0C282C3 for ; Thu, 24 Jan 2019 07:45:13 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id DD133218A3 for ; Thu, 24 Jan 2019 07:45:12 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (1024-bit key) header.d=Mellanox.com header.i=@Mellanox.com header.b="RYmNUZbr" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726046AbfAXHpL (ORCPT ); Thu, 24 Jan 2019 02:45:11 -0500 Received: from mail-eopbgr140047.outbound.protection.outlook.com ([40.107.14.47]:29956 "EHLO EUR01-VE1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1726014AbfAXHpL (ORCPT ); Thu, 24 Jan 2019 02:45:11 -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=7uwvlXHD02TphUC2U/0XCvten0XWDnR8ofLOBRsWjhE=; b=RYmNUZbrkxD/7DIWX4fzeh2mnowUPvLyw8hc2IKafqKuXWCChhwTkwdjrs7Gdfym4X4spMpPbFzhIBMe+stbCIQeY5A3UyjngKCbINLCea6DgbktcWMf9eY0HCspvSXLbW8CnGa1Y2isyS3v+lmQlEln+qzrXX0YrX9Qjugu8zA= Received: from AM0PR0502MB4068.eurprd05.prod.outlook.com (52.133.41.24) by AM0PR0502MB3937.eurprd05.prod.outlook.com (52.133.40.141) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1537.29; Thu, 24 Jan 2019 07:45:05 +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 07:45:05 +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 3/7] devlink: move devlink health reporter to use devlink msg API Thread-Topic: [PATCH net-next 3/7] devlink: move devlink health reporter to use devlink msg API Thread-Index: AQHUsms5USrIId+fpEOZsEA0Ab6eRKW87uMAgAEdsoA= Date: Thu, 24 Jan 2019 07:45:05 +0000 Message-ID: References: <1548172644-30862-1-git-send-email-eranbe@mellanox.com> <1548172644-30862-4-git-send-email-eranbe@mellanox.com> <20190123144228.GI2191@nanopsycho> In-Reply-To: <20190123144228.GI2191@nanopsycho> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-clientproxiedby: AM5PR04CA0014.eurprd04.prod.outlook.com (2603:10a6:206:1::27) 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;AM0PR0502MB3937;6:8hBL9z4L5z1P760neWeIcrx/ddNOd8F94zjmQ8vBWzURck4bNxswy60mmuIavqLvIcPHLqXmPBd1oFkhPtov++VGd8sVbctNCGhjHIk0xlI/A9SqdsaMYxnYMlJrNcxJ1s2AS3d7jWT9wGtd/mrgqI4kJ/hm8P9J+CBusnRQQvKwh434J63jUjTwaSGbXM+6FglkNUQcF0UDXyEWGU+khteJ8FeiVJ4CKWLZ9SZGzPZcRe1fZuX+n0++7REGS+KVFpmhEuAb0lasfHsGcM026As1Ch9+p+W4mZusB3RRR0KpPni5EnV0Vnn0e7XAb8SjbksQxbO7aNxkd7xvO+LznMRj6Zd4X5CqIhqjnM39o8FbTXBKfGfeOeoUo2XaZLVjW8oS0CoAIsjzblnkbihHJ4wP1FFHwnOmOY5njhIg/jXb3itevgie4b5pzrrjuBlX3c59qvPpZDKSSxaQ27gp2Q==;5:0HzGkk33BcKMXzcawmuIwZaTiDqg4jCBs6kjXnnkYGukdRNvh0QU9lATmoKxakwLSVdPPDEYBTy7rAG8J1GjyRUNOyHQqFzaZzQCaVZwctoHz+UENkdUboam9jz8Aw/y0D7HDLsfe7A6XkC6PpfAabHAuEx/7dTxXTMevEZT1yTrhG4WDjwMJ26wNmBApoPpUC12UCQtzlGtZ3BXGpj1ww==;7:0pw+vIVXFC9AvfzwD0Uusmx2mnQaTLoQH+vvHNaaoHmjWpWMwGRbRVyF0CPoPH7w7bIVsyNgJ7/SB9FDXF/h+nzfz2WFRSkxoqGG4zBM37x1eNi3krYrgF5GSNR8P8eexgYiJuGLrKfsPgnh2/pNiQ== x-ms-office365-filtering-correlation-id: 5911cc43-0069-4a1a-8547-08d681cfdae0 x-ms-office365-filtering-ht: Tenant x-microsoft-antispam: BCL:0;PCL:0;RULEID:(2390118)(7020095)(4652040)(8989299)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(5600110)(711020)(4605077)(4618075)(2017052603328)(7153060)(7193020);SRVR:AM0PR0502MB3937; x-ms-traffictypediagnostic: AM0PR0502MB3937: x-microsoft-antispam-prvs: x-forefront-prvs: 0927AA37C7 x-forefront-antispam-report: SFV:NSPM;SFS:(10009020)(376002)(396003)(366004)(136003)(39860400002)(346002)(189003)(199004)(81156014)(6512007)(81166006)(8676002)(6436002)(476003)(6246003)(8936002)(11346002)(446003)(4326008)(2616005)(107886003)(25786009)(486006)(53936002)(31686004)(68736007)(14454004)(36756003)(105586002)(66066001)(106356001)(99286004)(52116002)(102836004)(53546011)(6506007)(386003)(186003)(478600001)(26005)(6916009)(76176011)(31696002)(97736004)(86362001)(256004)(14444005)(229853002)(3846002)(6116002)(7736002)(71190400001)(71200400001)(2906002)(316002)(6486002)(54906003)(305945005);DIR:OUT;SFP:1101;SCL:1;SRVR:AM0PR0502MB3937;H:AM0PR0502MB4068.eurprd05.prod.outlook.com;FPR:;SPF:None;LANG:en;PTR:InfoNoRecords;MX:1;A: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: KliRahbIwpZKLdPoZajwZwCAq1C6/UOztItni05CFLITIqNRtGv6YqGcaFG05KCqW/GB9jAs3XdIECJcwlV9pmfPIUQVGRncwFkRu/7vVJr4AZfHyLwhyI/BM+jl1dr75g+is67ughUqrVgorHgyZKgC9G4tSsndXB9Fgz6LZTvMIqSQKG6WFR0ZJttU9ERbRDW9V/w5L+smlvIt6WyA5Z4qFC9E5a4gHSDGy2j5mWrhmedBNUpOuRm6frcTzl0iQFPVMFlodxj9+DYtPwJAwsFUwhjmXKfCWyK/P4aqtLVopGFfB5H02YXzR2c44P4ifuM4+pSAZPMLBmq/vn/cfT5JHpwh9NO3uAKnLeab1RVh9D5ZOUd4NQXh1vl/o6Fo+JtOjyCA3+OG/Kjla1PWXiXxox+6UyWLssYBJ+QuPVM= spamdiagnosticoutput: 1:99 spamdiagnosticmetadata: NSPM Content-Type: text/plain; charset="utf-8" Content-ID: <6237F36C75A1F843AA67AA92BFA74502@eurprd05.prod.outlook.com> Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: Mellanox.com X-MS-Exchange-CrossTenant-Network-Message-Id: 5911cc43-0069-4a1a-8547-08d681cfdae0 X-MS-Exchange-CrossTenant-originalarrivaltime: 24 Jan 2019 07:45:04.4040 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: a652971c-7d2e-4d9b-a6a4-d149256f461b X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR0502MB3937 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org DQoNCk9uIDEvMjMvMjAxOSA0OjQyIFBNLCBKaXJpIFBpcmtvIHdyb3RlOg0KPiBUdWUsIEphbiAy MiwgMjAxOSBhdCAwNDo1NzoyMFBNIENFVCwgZXJhbmJlQG1lbGxhbm94LmNvbSB3cm90ZToNCj4+ IE1vdmUgZGV2bGluayByZXBvcnRlciBkaWFnbm9zZSBhbmQgZHVtcCBvcGVyYXRpb25zIHRvIHVz ZSB0aGUgbmV3IG1zZyBBUEkuDQo+PiBSZWRlZmluZSB0aGUgc2lnbmF0dXJlIG9mIGRpYWdub3Nl IGFuZCBkdW1wIG9wZXJhdGlvbnMgYW5kIG1vdmUgdGhlIG1seDVlDQo+PiByZXBvcnRlciB0byB1 c2UgaXQgd2l0aCB0aGUgbmV3IGZvcm1hdC4NCj4+DQo+PiBTaWduZWQtb2ZmLWJ5OiBFcmFuIEJl biBFbGlzaGEgPGVyYW5iZUBtZWxsYW5veC5jb20+DQo+PiBSZXZpZXdlZC1ieTogTW9zaGUgU2hl bWVzaCA8bW9zaGVAbWVsbGFub3guY29tPg0KPj4gLS0tDQo+PiAuLi4vbWVsbGFub3gvbWx4NS9j b3JlL2VuL3JlcG9ydGVyX3R4LmMgICAgICAgfCAgMSArDQo+PiBpbmNsdWRlL25ldC9kZXZsaW5r LmggICAgICAgICAgICAgICAgICAgICAgICAgfCAgOSArLQ0KPj4gbmV0L2NvcmUvZGV2bGluay5j ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgOTUgKysrKystLS0tLS0tLS0tLS0tLQ0KPj4g MyBmaWxlcyBjaGFuZ2VkLCAyOCBpbnNlcnRpb25zKCspLCA3NyBkZWxldGlvbnMoLSkNCj4+DQo+ PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvbWVsbGFub3gvbWx4NS9jb3JlL2Vu L3JlcG9ydGVyX3R4LmMgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9tZWxsYW5veC9tbHg1L2NvcmUv ZW4vcmVwb3J0ZXJfdHguYw0KPj4gaW5kZXggZmM5Mjg1MGMyMTRhLi43MjM4Y2RhNjcwYmEgMTAw NjQ0DQo+PiAtLS0gYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9tZWxsYW5veC9tbHg1L2NvcmUvZW4v cmVwb3J0ZXJfdHguYw0KPj4gKysrIGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvbWVsbGFub3gvbWx4 NS9jb3JlL2VuL3JlcG9ydGVyX3R4LmMNCj4+IEBAIC0yNjQsNiArMjY0LDcgQEAgc3RhdGljIGlu dCBtbHg1ZV90eF9yZXBvcnRlcl9kaWFnbm9zZShzdHJ1Y3QgZGV2bGlua19oZWFsdGhfcmVwb3J0 ZXIgKnJlcG9ydGVyLA0KPj4gc3RhdGljIGNvbnN0IHN0cnVjdCBkZXZsaW5rX2hlYWx0aF9yZXBv cnRlcl9vcHMgbWx4NV90eF9yZXBvcnRlcl9vcHMgPSB7DQo+PiAJCS5uYW1lID0gIlRYIiwNCj4+ IAkJLnJlY292ZXIgPSBtbHg1ZV90eF9yZXBvcnRlcl9yZWNvdmVyLA0KPj4gKwkJLmRpYWdub3Nl ID0gbWx4NWVfdHhfcmVwb3J0ZXJfZGlhZ25vc2UsDQo+IA0KPiBVbnJlbGF0ZWQgdG8gdGhpcyBw YXRjaC4NCg0KYWNrLg0KDQo+IA0KPiANCj4+IH07DQo+Pg0KPj4gI2RlZmluZSBNTFg1X1JFUE9S VEVSX1RYX0dSQUNFRlVMX1BFUklPRCA1MDANCj4+IGRpZmYgLS1naXQgYS9pbmNsdWRlL25ldC9k ZXZsaW5rLmggYi9pbmNsdWRlL25ldC9kZXZsaW5rLmgNCj4+IGluZGV4IGZlMzIzZTliMTRlMS4u ZDY2ZGU4YjgwY2MyIDEwMDY0NA0KPj4gLS0tIGEvaW5jbHVkZS9uZXQvZGV2bGluay5oDQo+PiAr KysgYi9pbmNsdWRlL25ldC9kZXZsaW5rLmgNCj4+IEBAIC00NDIsMTcgKzQ0MiwxMiBAQCBzdHJ1 Y3QgZGV2bGlua19oZWFsdGhfcmVwb3J0ZXI7DQo+Pg0KPj4gc3RydWN0IGRldmxpbmtfaGVhbHRo X3JlcG9ydGVyX29wcyB7DQo+PiAJY2hhciAqbmFtZTsNCj4+IC0JdW5zaWduZWQgaW50IGR1bXBf c2l6ZTsNCj4+IC0JdW5zaWduZWQgaW50IGRpYWdub3NlX3NpemU7DQo+PiAJaW50ICgqcmVjb3Zl cikoc3RydWN0IGRldmxpbmtfaGVhbHRoX3JlcG9ydGVyICpyZXBvcnRlciwNCj4+IAkJICAgICAg IHZvaWQgKnByaXZfY3R4KTsNCj4+IAlpbnQgKCpkdW1wKShzdHJ1Y3QgZGV2bGlua19oZWFsdGhf cmVwb3J0ZXIgKnJlcG9ydGVyLA0KPj4gLQkJICAgIHN0cnVjdCBkZXZsaW5rX2hlYWx0aF9idWZm ZXIgKipidWZmZXJzX2FycmF5LA0KPj4gLQkJICAgIHVuc2lnbmVkIGludCBidWZmZXJfc2l6ZSwg dW5zaWduZWQgaW50IG51bV9idWZmZXJzLA0KPj4gLQkJICAgIHZvaWQgKnByaXZfY3R4KTsNCj4+ ICsJCSAgICBzdHJ1Y3QgZGV2bGlua19tc2dfY3R4ICptc2dfY3R4LCB2b2lkICpwcml2X2N0eCk7 DQo+PiAJaW50ICgqZGlhZ25vc2UpKHN0cnVjdCBkZXZsaW5rX2hlYWx0aF9yZXBvcnRlciAqcmVw b3J0ZXIsDQo+PiAtCQkJc3RydWN0IGRldmxpbmtfaGVhbHRoX2J1ZmZlciAqKmJ1ZmZlcnNfYXJy YXksDQo+PiAtCQkJdW5zaWduZWQgaW50IGJ1ZmZlcl9zaXplLCB1bnNpZ25lZCBpbnQgbnVtX2J1 ZmZlcnMpOw0KPj4gKwkJCXN0cnVjdCBkZXZsaW5rX21zZ19jdHggKm1zZ19jdHgpOw0KPj4gfTsN Cj4+DQo+PiBzdHJ1Y3QgZGV2bGlua19vcHMgew0KPj4gZGlmZiAtLWdpdCBhL25ldC9jb3JlL2Rl dmxpbmsuYyBiL25ldC9jb3JlL2RldmxpbmsuYw0KPj4gaW5kZXggNTdjYTA5Njg0OWIzLi4zNDdi NjM4ZTZmMzIgMTAwNjQ0DQo+PiAtLS0gYS9uZXQvY29yZS9kZXZsaW5rLmMNCj4+ICsrKyBiL25l dC9jb3JlL2RldmxpbmsuYw0KPj4gQEAgLTQ1NTUsMTAgKzQ1NTUsOCBAQCBzdGF0aWMgaW50IGRl dmxpbmtfbXNnX3NuZChzdHJ1Y3QgZ2VubF9pbmZvICppbmZvLA0KPj4NCj4+IHN0cnVjdCBkZXZs aW5rX2hlYWx0aF9yZXBvcnRlciB7DQo+PiAJc3RydWN0IGxpc3RfaGVhZCBsaXN0Ow0KPj4gLQlz dHJ1Y3QgZGV2bGlua19oZWFsdGhfYnVmZmVyICoqZHVtcF9idWZmZXJzX2FycmF5Ow0KPj4gKwlz dHJ1Y3QgZGV2bGlua19tc2dfY3R4ICpkdW1wX21zZ19jdHg7DQo+PiAJc3RydWN0IG11dGV4IGR1 bXBfbG9jazsgLyogbG9jayBwYXJhbGxlbCByZWFkL3dyaXRlIGZyb20gZHVtcCBidWZmZXJzICov DQo+PiAtCXN0cnVjdCBkZXZsaW5rX2hlYWx0aF9idWZmZXIgKipkaWFnbm9zZV9idWZmZXJzX2Fy cmF5Ow0KPj4gLQlzdHJ1Y3QgbXV0ZXggZGlhZ25vc2VfbG9jazsgLyogbG9jayBwYXJhbGxlbCBy ZWFkL3dyaXRlIGZyb20gZGlhZ25vc2UgYnVmZmVycyAqLw0KPiANCj4gSG93Y29tZSB5b3UgZG9u J3QgbmVlZCB0aGUgbXV0ZXggYW55bW9yZT8NCg0KTm93LCBhcyBkYXRhIGlzIGFsbG9jYXRlZCBv biB0aGUgZmx5IHdoaWxlIGRpYWdub3NlX2RvaXQoKSwgbm8gbmVlZCB0byANCnN0b3JlIHRoZSBk aWFnbm9zZSAgb3ZlciB0aGUgcmVwb3J0ZXIgYW55bW9yZS4gU28gbm8gbmVlZCBmb3IgYW55IG11 dGV4IA0KbG9ja2luZyBpbiBvcmRlciB0byBwcmVwYXJlIGFuZCBzZW5kIGl0Lg0KDQo+IA0KPiAN Cj4+IAl2b2lkICpwcml2Ow0KPj4gCWNvbnN0IHN0cnVjdCBkZXZsaW5rX2hlYWx0aF9yZXBvcnRl cl9vcHMgKm9wczsNCj4+IAlzdHJ1Y3QgZGV2bGluayAqZGV2bGluazsNCj4+IEBAIC00NjE5LDkg KzQ2MTcsNyBAQCBkZXZsaW5rX2hlYWx0aF9yZXBvcnRlcl9jcmVhdGUoc3RydWN0IGRldmxpbmsg KmRldmxpbmssDQo+PiAJCWdvdG8gdW5sb2NrOw0KPj4gCX0NCj4+DQo+PiAtCWlmIChXQVJOX09O KG9wcy0+ZHVtcCAmJiAhb3BzLT5kdW1wX3NpemUpIHx8DQo+PiAtCSAgICBXQVJOX09OKG9wcy0+ ZGlhZ25vc2UgJiYgIW9wcy0+ZGlhZ25vc2Vfc2l6ZSkgfHwNCj4+IC0JICAgIFdBUk5fT04oYXV0 b19yZWNvdmVyICYmICFvcHMtPnJlY292ZXIpIHx8DQo+PiArCWlmIChXQVJOX09OKGF1dG9fcmVj b3ZlciAmJiAhb3BzLT5yZWNvdmVyKSB8fA0KPj4gCSAgICBXQVJOX09OKGdyYWNlZnVsX3Blcmlv ZCAmJiAhb3BzLT5yZWNvdmVyKSkgew0KPj4gCQlyZXBvcnRlciA9IEVSUl9QVFIoLUVJTlZBTCk7 DQo+PiAJCWdvdG8gdW5sb2NrOw0KPj4gQEAgLTQ2MzMsMzEgKzQ2MjksOCBAQCBkZXZsaW5rX2hl YWx0aF9yZXBvcnRlcl9jcmVhdGUoc3RydWN0IGRldmxpbmsgKmRldmxpbmssDQo+PiAJCWdvdG8g dW5sb2NrOw0KPj4gCX0NCj4+DQo+PiAtCWlmIChvcHMtPmR1bXApIHsNCj4+IC0JCXJlcG9ydGVy LT5kdW1wX2J1ZmZlcnNfYXJyYXkgPQ0KPj4gLQkJCWRldmxpbmtfaGVhbHRoX2J1ZmZlcnNfY3Jl YXRlKG9wcy0+ZHVtcF9zaXplKTsNCj4+IC0JCWlmICghcmVwb3J0ZXItPmR1bXBfYnVmZmVyc19h cnJheSkgew0KPj4gLQkJCWtmcmVlKHJlcG9ydGVyKTsNCj4+IC0JCQlyZXBvcnRlciA9IEVSUl9Q VFIoLUVOT01FTSk7DQo+PiAtCQkJZ290byB1bmxvY2s7DQo+PiAtCQl9DQo+PiAtCX0NCj4+IC0N Cj4+IC0JaWYgKG9wcy0+ZGlhZ25vc2UpIHsNCj4+IC0JCXJlcG9ydGVyLT5kaWFnbm9zZV9idWZm ZXJzX2FycmF5ID0NCj4+IC0JCQlkZXZsaW5rX2hlYWx0aF9idWZmZXJzX2NyZWF0ZShvcHMtPmRp YWdub3NlX3NpemUpOw0KPj4gLQkJaWYgKCFyZXBvcnRlci0+ZGlhZ25vc2VfYnVmZmVyc19hcnJh eSkgew0KPj4gLQkJCWRldmxpbmtfaGVhbHRoX2J1ZmZlcnNfZGVzdHJveShyZXBvcnRlci0+ZHVt cF9idWZmZXJzX2FycmF5LA0KPj4gLQkJCQkJCSAgICAgICBERVZMSU5LX0hFQUxUSF9TSVpFX1RP X0JVRkZFUlMob3BzLT5kdW1wX3NpemUpKTsNCj4+IC0JCQlrZnJlZShyZXBvcnRlcik7DQo+PiAt CQkJcmVwb3J0ZXIgPSBFUlJfUFRSKC1FTk9NRU0pOw0KPj4gLQkJCWdvdG8gdW5sb2NrOw0KPj4g LQkJfQ0KPj4gLQl9DQo+PiAtDQo+PiAJbGlzdF9hZGRfdGFpbCgmcmVwb3J0ZXItPmxpc3QsICZk ZXZsaW5rLT5yZXBvcnRlcl9saXN0KTsNCj4+IAltdXRleF9pbml0KCZyZXBvcnRlci0+ZHVtcF9s b2NrKTsNCj4+IC0JbXV0ZXhfaW5pdCgmcmVwb3J0ZXItPmRpYWdub3NlX2xvY2spOw0KPj4NCj4+ IAlyZXBvcnRlci0+cHJpdiA9IHByaXY7DQo+PiAJcmVwb3J0ZXItPm9wcyA9IG9wczsNCj4+IEBA IC00NjgwLDEwICs0NjUzLDggQEAgZGV2bGlua19oZWFsdGhfcmVwb3J0ZXJfZGVzdHJveShzdHJ1 Y3QgZGV2bGlua19oZWFsdGhfcmVwb3J0ZXIgKnJlcG9ydGVyKQ0KPj4gew0KPj4gCW11dGV4X2xv Y2soJnJlcG9ydGVyLT5kZXZsaW5rLT5sb2NrKTsNCj4+IAlsaXN0X2RlbCgmcmVwb3J0ZXItPmxp c3QpOw0KPj4gLQlkZXZsaW5rX2hlYWx0aF9idWZmZXJzX2Rlc3Ryb3kocmVwb3J0ZXItPmR1bXBf YnVmZmVyc19hcnJheSwNCj4+IC0JCQkJICAgICAgIERFVkxJTktfSEVBTFRIX1NJWkVfVE9fQlVG RkVSUyhyZXBvcnRlci0+b3BzLT5kdW1wX3NpemUpKTsNCj4+IC0JZGV2bGlua19oZWFsdGhfYnVm ZmVyc19kZXN0cm95KHJlcG9ydGVyLT5kaWFnbm9zZV9idWZmZXJzX2FycmF5LA0KPj4gLQkJCQkg ICAgICAgREVWTElOS19IRUFMVEhfU0laRV9UT19CVUZGRVJTKHJlcG9ydGVyLT5vcHMtPmRpYWdu b3NlX3NpemUpKTsNCj4+ICsJaWYgKHJlcG9ydGVyLT5kdW1wX21zZ19jdHgpDQo+PiArCQlkZXZs aW5rX21zZ19jdHhfZnJlZShyZXBvcnRlci0+ZHVtcF9tc2dfY3R4KTsNCj4+IAlrZnJlZShyZXBv cnRlcik7DQo+PiAJbXV0ZXhfdW5sb2NrKCZyZXBvcnRlci0+ZGV2bGluay0+bG9jayk7DQo+PiB9 DQo+PiBAQCAtNDcyMCwxMiArNDY5MSwxNSBAQCBzdGF0aWMgaW50IGRldmxpbmtfaGVhbHRoX2Rv X2R1bXAoc3RydWN0IGRldmxpbmtfaGVhbHRoX3JlcG9ydGVyICpyZXBvcnRlciwNCj4+IAlpZiAo cmVwb3J0ZXItPmR1bXBfYXZhaWwpDQo+PiAJCXJldHVybiAwOw0KPj4NCj4+IC0JZGV2bGlua19o ZWFsdGhfYnVmZmVyc19yZXNldChyZXBvcnRlci0+ZHVtcF9idWZmZXJzX2FycmF5LA0KPj4gLQkJ CQkgICAgIERFVkxJTktfSEVBTFRIX1NJWkVfVE9fQlVGRkVSUyhyZXBvcnRlci0+b3BzLT5kdW1w X3NpemUpKTsNCj4+IC0JZXJyID0gcmVwb3J0ZXItPm9wcy0+ZHVtcChyZXBvcnRlciwgcmVwb3J0 ZXItPmR1bXBfYnVmZmVyc19hcnJheSwNCj4+IC0JCQkJICAgICBERVZMSU5LX0hFQUxUSF9CVUZG RVJfU0laRSwNCj4+IC0JCQkJICAgICBERVZMSU5LX0hFQUxUSF9TSVpFX1RPX0JVRkZFUlMocmVw b3J0ZXItPm9wcy0+ZHVtcF9zaXplKSwNCj4+IC0JCQkJICAgICBwcml2X2N0eCk7DQo+PiArCXJl cG9ydGVyLT5kdW1wX21zZ19jdHggPSBkZXZsaW5rX21zZ19jdHhfYWxsb2MoKTsNCj4+ICsJaWYg KElTX0VSUl9PUl9OVUxMKHJlcG9ydGVyLT5kdW1wX21zZ19jdHgpKSB7DQo+PiArCQllcnIgPSBQ VFJfRVJSKHJlcG9ydGVyLT5kdW1wX21zZ19jdHgpOw0KPj4gKwkJcmVwb3J0ZXItPmR1bXBfbXNn X2N0eCA9IE5VTEw7DQo+PiArCQlyZXR1cm4gZXJyOw0KPj4gKwl9DQo+PiArDQo+PiArCWVyciA9 IHJlcG9ydGVyLT5vcHMtPmR1bXAocmVwb3J0ZXIsIHJlcG9ydGVyLT5kdW1wX21zZ19jdHgsDQo+ PiArCQkJCSAgcHJpdl9jdHgpOw0KPj4gCWlmICghZXJyKSB7DQo+PiAJCXJlcG9ydGVyLT5kdW1w X2F2YWlsID0gdHJ1ZTsNCj4+IAkJcmVwb3J0ZXItPmR1bXBfdHMgPSBqaWZmaWVzOw0KPj4gQEAg LTQ5NjAsNyArNDkzNCw3IEBAIHN0YXRpYyBpbnQgZGV2bGlua19ubF9jbWRfaGVhbHRoX3JlcG9y dGVyX2RpYWdub3NlX2RvaXQoc3RydWN0IHNrX2J1ZmYgKnNrYiwNCj4+IHsNCj4+IAlzdHJ1Y3Qg ZGV2bGluayAqZGV2bGluayA9IGluZm8tPnVzZXJfcHRyWzBdOw0KPj4gCXN0cnVjdCBkZXZsaW5r X2hlYWx0aF9yZXBvcnRlciAqcmVwb3J0ZXI7DQo+PiAtCXU2NCBudW1fb2ZfYnVmZmVyczsNCj4+ ICsJc3RydWN0IGRldmxpbmtfbXNnX2N0eCAqbXNnX2N0eDsNCj4+IAlpbnQgZXJyOw0KPj4NCj4+ IAlyZXBvcnRlciA9IGRldmxpbmtfaGVhbHRoX3JlcG9ydGVyX2dldF9mcm9tX2luZm8oZGV2bGlu aywgaW5mbyk7DQo+PiBAQCAtNDk3MCwzMiArNDk0NCwxOSBAQCBzdGF0aWMgaW50IGRldmxpbmtf bmxfY21kX2hlYWx0aF9yZXBvcnRlcl9kaWFnbm9zZV9kb2l0KHN0cnVjdCBza19idWZmICpza2Is DQo+PiAJaWYgKCFyZXBvcnRlci0+b3BzLT5kaWFnbm9zZSkNCj4+IAkJcmV0dXJuIC1FT1BOT1RT VVBQOw0KPj4NCj4+IC0JbnVtX29mX2J1ZmZlcnMgPQ0KPj4gLQkJREVWTElOS19IRUFMVEhfU0la RV9UT19CVUZGRVJTKHJlcG9ydGVyLT5vcHMtPmRpYWdub3NlX3NpemUpOw0KPj4gKwltc2dfY3R4 ID0gZGV2bGlua19tc2dfY3R4X2FsbG9jKCk7DQo+PiArCWlmIChJU19FUlJfT1JfTlVMTChtc2df Y3R4KSkNCj4+ICsJCXJldHVybiBQVFJfRVJSKG1zZ19jdHgpOw0KPj4NCj4+IC0JbXV0ZXhfbG9j aygmcmVwb3J0ZXItPmRpYWdub3NlX2xvY2spOw0KPj4gLQlkZXZsaW5rX2hlYWx0aF9idWZmZXJz X3Jlc2V0KHJlcG9ydGVyLT5kaWFnbm9zZV9idWZmZXJzX2FycmF5LA0KPj4gLQkJCQkgICAgIG51 bV9vZl9idWZmZXJzKTsNCj4+IC0NCj4+IC0JZXJyID0gcmVwb3J0ZXItPm9wcy0+ZGlhZ25vc2Uo cmVwb3J0ZXIsDQo+PiAtCQkJCSAgICAgIHJlcG9ydGVyLT5kaWFnbm9zZV9idWZmZXJzX2FycmF5 LA0KPj4gLQkJCQkgICAgICBERVZMSU5LX0hFQUxUSF9CVUZGRVJfU0laRSwNCj4+IC0JCQkJICAg ICAgbnVtX29mX2J1ZmZlcnMpOw0KPj4gKwllcnIgPSByZXBvcnRlci0+b3BzLT5kaWFnbm9zZShy ZXBvcnRlciwgbXNnX2N0eCk7DQo+IA0KPiBTbyB0aGlzIGlzIG5vdCBuZWVkZWQgdG8gYmUgaW4g cmVwb3J0ZXIgbm93PyBXaHkgaXQgd2FzIG5lZWRlZCBiZWZvcmU/DQoNCnNlZSByZXBseSBhYm92 ZS4NCg0KPiANCj4gDQo+IA0KPj4gCWlmIChlcnIpDQo+PiAJCWdvdG8gb3V0Ow0KPj4NCj4+IC0J ZXJyID0gZGV2bGlua19oZWFsdGhfYnVmZmVyX3NuZChpbmZvLA0KPj4gLQkJCQkJREVWTElOS19D TURfSEVBTFRIX1JFUE9SVEVSX0RJQUdOT1NFLA0KPj4gLQkJCQkJMCwgcmVwb3J0ZXItPmRpYWdu b3NlX2J1ZmZlcnNfYXJyYXksDQo+PiAtCQkJCQludW1fb2ZfYnVmZmVycyk7DQo+PiAtCWlmIChl cnIpDQo+PiAtCQlnb3RvIG91dDsNCj4+IC0NCj4+IC0JbXV0ZXhfdW5sb2NrKCZyZXBvcnRlci0+ ZGlhZ25vc2VfbG9jayk7DQo+PiAtCXJldHVybiAwOw0KPj4gKwllcnIgPSBkZXZsaW5rX21zZ19z bmQoaW5mbywgREVWTElOS19DTURfSEVBTFRIX1JFUE9SVEVSX0RJQUdOT1NFLA0KPj4gKwkJCSAg ICAgIDAsIG1zZ19jdHgpOw0KPj4NCj4+IG91dDoNCj4+IC0JbXV0ZXhfdW5sb2NrKCZyZXBvcnRl ci0+ZGlhZ25vc2VfbG9jayk7DQo+PiArCWRldmxpbmtfbXNnX2N0eF9mcmVlKG1zZ19jdHgpOw0K Pj4gCXJldHVybiBlcnI7DQo+PiB9DQo+Pg0KPj4gQEAgLTUwMDQsOCArNDk2NSw4IEBAIGRldmxp bmtfaGVhbHRoX2R1bXBfY2xlYXIoc3RydWN0IGRldmxpbmtfaGVhbHRoX3JlcG9ydGVyICpyZXBv cnRlcikNCj4+IHsNCj4+IAlyZXBvcnRlci0+ZHVtcF9hdmFpbCA9IGZhbHNlOw0KPj4gCXJlcG9y dGVyLT5kdW1wX3RzID0gMDsNCj4+IC0JZGV2bGlua19oZWFsdGhfYnVmZmVyc19yZXNldChyZXBv cnRlci0+ZHVtcF9idWZmZXJzX2FycmF5LA0KPj4gLQkJCQkgICAgIERFVkxJTktfSEVBTFRIX1NJ WkVfVE9fQlVGRkVSUyhyZXBvcnRlci0+b3BzLT5kdW1wX3NpemUpKTsNCj4+ICsJZGV2bGlua19t c2dfY3R4X2ZyZWUocmVwb3J0ZXItPmR1bXBfbXNnX2N0eCk7DQo+PiArCXJlcG9ydGVyLT5kdW1w X21zZ19jdHggPSBOVUxMOw0KPj4gfQ0KPj4NCj4+IHN0YXRpYyBpbnQgZGV2bGlua19ubF9jbWRf aGVhbHRoX3JlcG9ydGVyX2R1bXBfZ2V0X2RvaXQoc3RydWN0IHNrX2J1ZmYgKnNrYiwNCj4+IEBA IC01MDEzLDcgKzQ5NzQsNiBAQCBzdGF0aWMgaW50IGRldmxpbmtfbmxfY21kX2hlYWx0aF9yZXBv cnRlcl9kdW1wX2dldF9kb2l0KHN0cnVjdCBza19idWZmICpza2IsDQo+PiB7DQo+PiAJc3RydWN0 IGRldmxpbmsgKmRldmxpbmsgPSBpbmZvLT51c2VyX3B0clswXTsNCj4+IAlzdHJ1Y3QgZGV2bGlu a19oZWFsdGhfcmVwb3J0ZXIgKnJlcG9ydGVyOw0KPj4gLQl1NjQgbnVtX29mX2J1ZmZlcnM7DQo+ PiAJaW50IGVycjsNCj4+DQo+PiAJcmVwb3J0ZXIgPSBkZXZsaW5rX2hlYWx0aF9yZXBvcnRlcl9n ZXRfZnJvbV9pbmZvKGRldmxpbmssIGluZm8pOw0KPj4gQEAgLTUwMjMsMTggKzQ5ODMsMTMgQEAg c3RhdGljIGludCBkZXZsaW5rX25sX2NtZF9oZWFsdGhfcmVwb3J0ZXJfZHVtcF9nZXRfZG9pdChz dHJ1Y3Qgc2tfYnVmZiAqc2tiLA0KPj4gCWlmICghcmVwb3J0ZXItPm9wcy0+ZHVtcCkNCj4+IAkJ cmV0dXJuIC1FT1BOT1RTVVBQOw0KPj4NCj4+IC0JbnVtX29mX2J1ZmZlcnMgPQ0KPj4gLQkJREVW TElOS19IRUFMVEhfU0laRV9UT19CVUZGRVJTKHJlcG9ydGVyLT5vcHMtPmR1bXBfc2l6ZSk7DQo+ PiAtDQo+PiAJbXV0ZXhfbG9jaygmcmVwb3J0ZXItPmR1bXBfbG9jayk7DQo+PiAJZXJyID0gZGV2 bGlua19oZWFsdGhfZG9fZHVtcChyZXBvcnRlciwgTlVMTCk7DQo+PiAJaWYgKGVycikNCj4+IAkJ Z290byBvdXQ7DQo+Pg0KPj4gLQllcnIgPSBkZXZsaW5rX2hlYWx0aF9idWZmZXJfc25kKGluZm8s DQo+PiAtCQkJCQlERVZMSU5LX0NNRF9IRUFMVEhfUkVQT1JURVJfRFVNUF9HRVQsDQo+PiAtCQkJ CQkwLCByZXBvcnRlci0+ZHVtcF9idWZmZXJzX2FycmF5LA0KPj4gLQkJCQkJbnVtX29mX2J1ZmZl cnMpOw0KPj4gKwllcnIgPSBkZXZsaW5rX21zZ19zbmQoaW5mbywgREVWTElOS19DTURfSEVBTFRI X1JFUE9SVEVSX0RVTVBfR0VULA0KPj4gKwkJCSAgICAgIDAsIHJlcG9ydGVyLT5kdW1wX21zZ19j dHgpOw0KPj4NCj4+IG91dDoNCj4+IAltdXRleF91bmxvY2soJnJlcG9ydGVyLT5kdW1wX2xvY2sp Ow0KPj4gLS0gDQo+PiAyLjE3LjENCj4+DQo=