From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR04-HE1-obe.outbound.protection.outlook.com (mail-eopbgr70050.outbound.protection.outlook.com [40.107.7.50]) by dpdk.org (Postfix) with ESMTP id 3F931DED; Tue, 21 Aug 2018 12:56:03 +0200 (CEST) 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=XHhNrWTiECmLPz2Bm50Y5Aa4svX8W00Y5zO+wSs4BvQ=; b=MsPj0eRjkRZZ2w1rqarFLitFN5uDwR9e44LfSpheAI1yH746EyTgpOVTpVugdXnAMgokuQbjvROBQz2QLHtXgkf9tiQ4ORtu4xe5dXT7EIKegsTxJGijQV4p2cTeGiyF+wKWFegMKJovbs2oDDYmiXeDaQ30ow91T80HDsqHPDg= Received: from AM0PR0502MB4019.eurprd05.prod.outlook.com (52.133.41.11) by AM0PR0502MB4003.eurprd05.prod.outlook.com (52.133.40.159) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1059.24; Tue, 21 Aug 2018 10:56:01 +0000 Received: from AM0PR0502MB4019.eurprd05.prod.outlook.com ([fe80::88fa:4498:85a5:9e5a]) by AM0PR0502MB4019.eurprd05.prod.outlook.com ([fe80::88fa:4498:85a5:9e5a%3]) with mapi id 15.20.1080.010; Tue, 21 Aug 2018 10:56:01 +0000 From: Matan Azrad To: Chas Williams <3chas3@gmail.com>, "bluca@debian.org" CC: "dev@dpdk.org" , Declan Doherty , Chas Williams , "stable@dpdk.org" , "ekinzie@brocade.com" Thread-Topic: [dpdk-dev] [PATCH v4] net/bonding: per-slave intermediate rx ring Thread-Index: AQHUOI/E3NTQqLjc6Ue5KNSkfeweUqTKBvcQ Date: Tue, 21 Aug 2018 10:56:01 +0000 Message-ID: References: <20180816125202.15980-1-bluca@debian.org> <20180816133208.26566-1-bluca@debian.org> In-Reply-To: Accept-Language: en-US, he-IL Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: spf=none (sender IP is ) smtp.mailfrom=matan@mellanox.com; x-originating-ip: [193.47.165.251] x-ms-publictraffictype: Email x-microsoft-exchange-diagnostics: 1; AM0PR0502MB4003; 6:P63iSNzBYxHnuF0f/Va8JyobVLhT7znRdkZOlt+FVOIl/+EW5Bcg71Y0v4kq4U1T3sBPTXbVzR7DfWQGV7mv+GWR5R1RBI3vHEpDMlxE891mQhHs0p9qJV1lE2Cj0ZS18Mndf6vtPtdoyhCiyzMTf/XtGhT3Nl+GIMZsrmAU3a7g741qhYdA7PQzq8b1MbKzjJ6+/PylX1u30O+YF1gArmwUqcQBPEYdzsBux27fzUymgclJMpFIcAkbFIRrWFwREGeLrckcPbZMoLt63jqKjxn8S8qoRPGdA+Zo9VTwk95u9uaxTRvIT2Zvd6sA4h0IrlehCYYJznQTNvD/QaF68kqp53rBJv3OAwHnT4sqNB8i2DuzO5MH16+Z2eB/O9GUSucnnXrmhJP0e8h+FMphdwHZYT8/eTW1YQW5XobJcpH5xI0kTDuFOnbS7C16U0awqKUAsZm0FUzkHkON2Ava6A==; 5:V31FS3IeMzB0S62wI1OYVjS5hxxlp/rkUcsRJOAkivunPtVe+8J+FT6CYj1S0Y9T9foQW8T1jaYusS8CvY2rvi4wbNRqcQLM2NaZlkahDSVWlmIstOjiTwIWJOjfvh0ijsw5dKbxJYrllqoAg6g266aL2is+YFEHVnOPPT5etFg=; 7:XLsFIa/cGc3fKGLjx3Qd+2MXjiAbx3cOJI/uxNYoyF5b9v8vB73v6sWyhf1XBXvKOVv+8OvrAmUuTZ4vqGVhVQz2EMlun9S73Y/EIrFQiwwX/dHZ9HTu86smL5hDSpQ5PQh+CHKe0ho0fctbZqNZu5shc0BPMEU/PqujSa8ftDEklZ7kuHKhQCqupzeFEaT+b7lQLfFtE1fL12HeFbS8FmHIK3WuK8Zh656AcKF+1mNDq/5FBMcb9qB7QRIh1GJ9 x-ms-exchange-antispam-srfa-diagnostics: SOS; x-ms-office365-filtering-correlation-id: 451fd345-71bd-4680-bc0d-08d60754af29 x-ms-office365-filtering-ht: Tenant x-microsoft-antispam: BCL:0; PCL:0; RULEID:(7020095)(4652040)(8989137)(4534165)(4627221)(201703031133081)(201702281549075)(8990107)(5600074)(711020)(4618075)(2017052603328)(7153060)(7193020); SRVR:AM0PR0502MB4003; x-ms-traffictypediagnostic: AM0PR0502MB4003: x-microsoft-antispam-prvs: x-exchange-antispam-report-test: UriScan:(97927398514766); x-ms-exchange-senderadcheck: 1 x-exchange-antispam-report-cfa-test: BCL:0; PCL:0; RULEID:(8211001083)(6040522)(2401047)(8121501046)(5005006)(3002001)(10201501046)(3231311)(944501410)(52105095)(93006095)(93001095)(6055026)(149027)(150027)(6041310)(20161123558120)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123562045)(20161123560045)(20161123564045)(201708071742011)(7699016); SRVR:AM0PR0502MB4003; BCL:0; PCL:0; RULEID:; SRVR:AM0PR0502MB4003; x-forefront-prvs: 0771670921 x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(979002)(346002)(376002)(39860400002)(396003)(136003)(366004)(189003)(199004)(51234002)(66066001)(81156014)(7696005)(110136005)(76176011)(8936002)(14454004)(68736007)(99286004)(446003)(316002)(476003)(478600001)(2501003)(6436002)(33656002)(575784001)(5250100002)(86362001)(11346002)(81166006)(9686003)(54906003)(2900100001)(53936002)(55016002)(3846002)(229853002)(6116002)(5660300001)(7736002)(105586002)(186003)(53546011)(26005)(39060400002)(305945005)(106356001)(6506007)(4326008)(102836004)(486006)(25786009)(256004)(6246003)(2906002)(14444005)(74316002)(97736004)(969003)(989001)(999001)(1009001)(1019001); DIR:OUT; SFP:1101; SCL:1; SRVR:AM0PR0502MB4003; H:AM0PR0502MB4019.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-microsoft-antispam-message-info: PrMJKGtr90g8tZpVVZlvqDuWZmXCeINDkvooZS+Q9/2lg2sJOiXIQinj1ejPJlgYeYZFLJzLgq7D2ZeNoNztFKOThV3HnzLeUNSxKF5AVE1jlTw441CwLR5w3wiMgmtRyENPRizNHg9f7QJLrVg2iWwUdeMqhIEjBEaehK2z5ABT/5ZoH8B/5d3vzyy7zc/JULNBiWd1ENZvNn/0cIAYH57JNaaOaVSuTbuFo71c/0w8xmA0vRIeQyBwFfcF3O/9LZOq3dLtC2pDuu6vrChgyLTKfA/8MOu8B2mlapwgh43BBQFknI6ptFvpnH2FSO+upV4plSkUNnI+xtLPQys5SenXcO644aR/aYMP4NNUg68= spamdiagnosticoutput: 1:99 spamdiagnosticmetadata: NSPM Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: Mellanox.com X-MS-Exchange-CrossTenant-Network-Message-Id: 451fd345-71bd-4680-bc0d-08d60754af29 X-MS-Exchange-CrossTenant-originalarrivaltime: 21 Aug 2018 10:56:01.5805 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: a652971c-7d2e-4d9b-a6a4-d149256f461b X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR0502MB4003 Subject: Re: [dpdk-dev] [PATCH v4] net/bonding: per-slave intermediate rx ring 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: , X-List-Received-Date: Tue, 21 Aug 2018 10:56:03 -0000 SGkNCg0KRnJvbTogQ2hhcyBXaWxsaWFtcw0KPiBUaGlzIHdpbGwgbmVlZCB0byBiZSBpbXBsZW1l bnRlZCBmb3Igc29tZSBvZiB0aGUgb3RoZXIgUlggYnVyc3QgbWV0aG9kcyBhdA0KPiBzb21lIHBv aW50IGZvciBvdGhlciBtb2RlcyB0byBzZWUgdGhpcyBwZXJmb3JtYW5jZSBpbXByb3ZlbWVudCAo d2l0aCB0aGUNCj4gZXhjZXB0aW9uIG9mIGFjdGl2ZS1iYWNrdXApLg0KDQpZZXMsIEkgdGhpbmsg aXQgc2hvdWxkIGJlIGRvbmUgYXQgbGVhc3QgdG8gYm9uZF9ldGhkZXZfcnhfYnVyc3RfODAyM2Fk X2Zhc3RfcXVldWUgKHNob3VsZCBiZSBlYXN5KSBmb3Igbm93Lg0KDQo+IE9uIFRodSwgQXVnIDE2 LCAyMDE4IGF0IDk6MzIgQU0gTHVjYSBCb2NjYXNzaSA8Ymx1Y2FAZGViaWFuLm9yZz4gd3JvdGU6 DQo+IA0KPiA+IER1cmluZyBib25kIDgwMi4zYWQgcmVjZWl2ZSwgYSBidXJzdCBvZiBwYWNrZXRz IGlzIGZldGNoZWQgZnJvbSBlYWNoDQo+ID4gc2xhdmUgaW50byBhIGxvY2FsIGFycmF5IGFuZCBh cHBlbmRlZCB0byBwZXItc2xhdmUgcmluZyBidWZmZXIuDQo+ID4gUGFja2V0cyBhcmUgdGFrZW4g ZnJvbSB0aGUgaGVhZCBvZiB0aGUgcmluZyBidWZmZXIgYW5kIHJldHVybmVkIHRvIHRoZQ0KPiA+ IGNhbGxlci4gIFRoZSBudW1iZXIgb2YgbWJ1ZnMgcHJvdmlkZWQgdG8gZWFjaCBzbGF2ZSBpcyBz dWZmaWNpZW50IHRvDQo+ID4gbWVldCB0aGUgcmVxdWlyZW1lbnRzIG9mIHRoZSBpeGdiZSB2ZWN0 b3IgcmVjZWl2ZS4NCg0KTHVjYSwNCg0KQ2FuIHlvdSBleHBsYWluIHRoZXNlIHJlcXVpcmVtZW50 cyBvZiBpeGdiZT8NCkRpZCB5b3UgY2hlY2sgZm9yIG90aGVyIHZlbmRvciBQTURzPyBJdCBtYXkg aHVydCBwZXJmb3JtYW5jZSB0aGVyZS4uDQoNCj4gPg0KPiA+IFRoaXMgc21hbGwgY2hhbmdlIGlt cHJvdmVzIHBlcmZvcm1hbmNlcyBvZiB0aGUgYm9uZGluZyBkcml2ZXINCj4gPiBjb25zaWRlcmFi bHkuIFZ5YXR0YSBoYXMgYmVlbiB1c2luZyBpdCBmb3IgeWVhcnMgaW4gcHJvZHVjdGlvbi4NCj4g Pg0KPiA+IENjOiBzdGFibGVAZHBkay5vcmcNCj4gPg0KPiA+IFNpZ25lZC1vZmYtYnk6IEVyaWMg S2luemllIDxla2luemllQGJyb2NhZGUuY29tPg0KPiA+IFNpZ25lZC1vZmYtYnk6IEx1Y2EgQm9j Y2Fzc2kgPGJsdWNhQGRlYmlhbi5vcmc+DQo+ID4NCj4gDQo+IEFja2VkLWJ5OiBDaGFzIFdpbGxp YW1zIDxjaGFzM0BhdHQuY29tPg0KPiANCj4gDQo+IA0KPiA+IC0tLQ0KPiA+IHYyIGFuZCB2Mzog Zml4IGNoZWNrcGF0Y2ggd2FybmluZ3MNCj4gPiB2NDogYWRkIEVyaWMncyBvcmlnaW5hbCBzaWdu ZWQtb2ZmLWJ5IGZyb20gdGhlIFZ5YXR0YSBpbnRlcm5hbCByZXBvDQo+ID4NCj4gPiAgZHJpdmVy cy9uZXQvYm9uZGluZy9ydGVfZXRoX2JvbmRfYXBpLmMgICAgIHwgMTMgKysrDQo+ID4gIGRyaXZl cnMvbmV0L2JvbmRpbmcvcnRlX2V0aF9ib25kX3BtZC5jICAgICB8IDk4ICsrKysrKysrKysrKysr KysrLS0NCj4gLS0tDQo+ID4gIGRyaXZlcnMvbmV0L2JvbmRpbmcvcnRlX2V0aF9ib25kX3ByaXZh dGUuaCB8ICA0ICsNCj4gPiAgMyBmaWxlcyBjaGFuZ2VkLCA5NSBpbnNlcnRpb25zKCspLCAyMCBk ZWxldGlvbnMoLSkNCj4gPg0KPiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC9ib25kaW5nL3J0 ZV9ldGhfYm9uZF9hcGkuYw0KPiA+IGIvZHJpdmVycy9uZXQvYm9uZGluZy9ydGVfZXRoX2JvbmRf YXBpLmMNCj4gPiBpbmRleCA4YmMwNGNmZDExLi4zZDIyMjAzZTkxIDEwMDY0NA0KPiA+IC0tLSBh L2RyaXZlcnMvbmV0L2JvbmRpbmcvcnRlX2V0aF9ib25kX2FwaS5jDQo+ID4gKysrIGIvZHJpdmVy cy9uZXQvYm9uZGluZy9ydGVfZXRoX2JvbmRfYXBpLmMNCj4gPiBAQCAtNTI0LDYgKzUyNCwxMCBA QCBfX2V0aF9ib25kX3NsYXZlX3JlbW92ZV9sb2NrX2ZyZWUodWludDE2X3QNCj4gPiBib25kZWRf cG9ydF9pZCwNCj4gPg0KPiA+IHNpemVvZigqKHJ0ZV9ldGhfZGV2aWNlc1tib25kZWRfcG9ydF9p ZF0uZGF0YS0+bWFjX2FkZHJzKSkpOw0KPiA+ICAgICAgICAgfQ0KPiA+ICAgICAgICAgaWYgKGlu dGVybmFscy0+c2xhdmVfY291bnQgPT0gMCkgew0KPiA+ICsgICAgICAgICAgICAgICAvKiBSZW1v dmUgYW55IHJlbWFpbmluZyBwYWNrZXRzIGluIHRoZSByZWNlaXZlIHJpbmcgKi8NCj4gPiArICAg ICAgICAgICAgICAgc3RydWN0IHJ0ZV9tYnVmICpidWZzW1BNRF9CT05EX1JFQ1ZfUEtUU19QRVJf U0xBVkVdOw0KPiA+ICsgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQgaiwgY291bnQ7DQo+ID4g Kw0KPiA+ICAgICAgICAgICAgICAgICBpbnRlcm5hbHMtPnJ4X29mZmxvYWRfY2FwYSA9IDA7DQo+ ID4gICAgICAgICAgICAgICAgIGludGVybmFscy0+dHhfb2ZmbG9hZF9jYXBhID0gMDsNCj4gPiAg ICAgICAgICAgICAgICAgaW50ZXJuYWxzLT5yeF9xdWV1ZV9vZmZsb2FkX2NhcGEgPSAwOyBAQCAt NTMyLDYNCj4gPiArNTM2LDE1IEBAIF9fZXRoX2JvbmRfc2xhdmVfcmVtb3ZlX2xvY2tfZnJlZSh1 aW50MTZfdA0KPiA+IGJvbmRlZF9wb3J0X2lkLA0KPiA+ICAgICAgICAgICAgICAgICBpbnRlcm5h bHMtPnJldGFfc2l6ZSA9IDA7DQo+ID4gICAgICAgICAgICAgICAgIGludGVybmFscy0+Y2FuZGlk YXRlX21heF9yeF9wa3RsZW4gPSAwOw0KPiA+ICAgICAgICAgICAgICAgICBpbnRlcm5hbHMtPm1h eF9yeF9wa3RsZW4gPSAwOw0KPiA+ICsNCj4gPiArICAgICAgICAgICAgICAgZG8gew0KPiA+ICsg ICAgICAgICAgICAgICAgICAgICAgIGNvdW50ID0gcnRlX3JpbmdfZGVxdWV1ZV9idXJzdChpbnRl cm5hbHMtPnJ4X3JpbmcsDQo+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICh2b2lkICoqKWJ1ZnMsDQo+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIFBNRF9CT05EX1JFQ1ZfUEtUU19QRVJfU0xBVkUsDQo+ID4gKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIE5VTEwpOw0KPiA+ICsgICAgICAgICAgICAgICAgICAg ICAgIGZvciAgKGogPSAwOyBqIDwgY291bnQ7IGorKykNCj4gPiArICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHJ0ZV9wa3RtYnVmX2ZyZWUoYnVmc1tqXSk7DQo+ID4gKyAgICAgICAgICAg ICAgIH0gd2hpbGUgKGNvdW50ID4gMCk7DQo+ID4gICAgICAgICB9DQo+ID4gICAgICAgICByZXR1 cm4gMDsNCj4gPiAgfQ0KPiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC9ib25kaW5nL3J0ZV9l dGhfYm9uZF9wbWQuYw0KPiA+IGIvZHJpdmVycy9uZXQvYm9uZGluZy9ydGVfZXRoX2JvbmRfcG1k LmMNCj4gPiBpbmRleCA1OGY3Mzc3YzYwLi5hZTc1NmM0ZTNhIDEwMDY0NA0KPiA+IC0tLSBhL2Ry aXZlcnMvbmV0L2JvbmRpbmcvcnRlX2V0aF9ib25kX3BtZC5jDQo+ID4gKysrIGIvZHJpdmVycy9u ZXQvYm9uZGluZy9ydGVfZXRoX2JvbmRfcG1kLmMNCj4gPiBAQCAtMTgsNiArMTgsOCBAQA0KPiA+ ICAjaW5jbHVkZSA8cnRlX2FsYXJtLmg+DQo+ID4gICNpbmNsdWRlIDxydGVfY3ljbGVzLmg+DQo+ ID4gICNpbmNsdWRlIDxydGVfc3RyaW5nX2Zucy5oPg0KPiA+ICsjaW5jbHVkZSA8cnRlX2Vycm5v Lmg+DQo+ID4gKyNpbmNsdWRlIDxydGVfbGNvcmUuaD4NCj4gPg0KPiA+ICAjaW5jbHVkZSAicnRl X2V0aF9ib25kLmgiDQo+ID4gICNpbmNsdWRlICJydGVfZXRoX2JvbmRfcHJpdmF0ZS5oIg0KPiA+ IEBAIC00MDIsMTAgKzQwNCwxNSBAQCBib25kX2V0aGRldl9yeF9idXJzdF84MDIzYWQodm9pZCAq cXVldWUsDQo+IHN0cnVjdA0KPiA+IHJ0ZV9tYnVmICoqYnVmcywNCj4gPiAgICAgICAgIHN0cnVj dCBib25kX2Rldl9wcml2YXRlICppbnRlcm5hbHMgPSBiZF9yeF9xLT5kZXZfcHJpdmF0ZTsNCj4g PiAgICAgICAgIHN0cnVjdCBldGhlcl9hZGRyIGJvbmRfbWFjOw0KPiA+DQo+ID4gKyAgICAgICB1 bnNpZ25lZCBpbnQgcnhfcmluZ19hdmFpbCA9DQo+ID4gcnRlX3JpbmdfZnJlZV9jb3VudChpbnRl cm5hbHMtPnJ4X3JpbmcpOw0KPiA+ICsgICAgICAgc3RydWN0IHJ0ZV9tYnVmDQo+ICptYnVmX2Jv dW5jZVtQTURfQk9ORF9SRUNWX1BLVFNfUEVSX1NMQVZFXTsNCj4gPiArDQo+ID4gICAgICAgICBz dHJ1Y3QgZXRoZXJfaGRyICpoZHI7DQo+ID4NCj4gPiAgICAgICAgIGNvbnN0IHVpbnQxNl90IGV0 aGVyX3R5cGVfc2xvd19iZSA9DQo+ID4gcnRlX2JlX3RvX2NwdV8xNihFVEhFUl9UWVBFX1NMT1cp Ow0KPiA+ICAgICAgICAgdWludDE2X3QgbnVtX3J4X3RvdGFsID0gMDsgICAgICAvKiBUb3RhbCBu dW1iZXIgb2YgcmVjZWl2ZWQNCj4gPiBwYWNrZXRzICovDQo+ID4gKyAgICAgICB1aW50MTZfdCBu dW1fcnhfc2xhdmU7DQo+ID4gKyAgICAgICB1aW50MTZfdCBudW1fZW5xX3NsYXZlOw0KPiA+ICAg ICAgICAgdWludDE2X3Qgc2xhdmVzW1JURV9NQVhfRVRIUE9SVFNdOw0KPiA+ICAgICAgICAgdWlu dDE2X3Qgc2xhdmVfY291bnQsIGlkeDsNCj4gPg0KPiA+IEBAIC00MTQsNiArNDIxLDkgQEAgYm9u ZF9ldGhkZXZfcnhfYnVyc3RfODAyM2FkKHZvaWQgKnF1ZXVlLA0KPiBzdHJ1Y3QNCj4gPiBydGVf bWJ1ZiAqKmJ1ZnMsDQo+ID4gICAgICAgICB1aW50OF90IGksIGosIGs7DQo+ID4gICAgICAgICB1 aW50OF90IHN1YnR5cGU7DQo+ID4NCj4gPiArICAgICAgIGlmIChyeF9yaW5nX2F2YWlsIDwgUE1E X0JPTkRfUkVDVl9QS1RTX1BFUl9TTEFWRSkNCj4gPiArICAgICAgICAgICAgICAgZ290byBkZXF1 ZXVlOw0KPiA+ICsNCj4gPiAgICAgICAgIHJ0ZV9ldGhfbWFjYWRkcl9nZXQoaW50ZXJuYWxzLT5w b3J0X2lkLCAmYm9uZF9tYWMpOw0KPiA+ICAgICAgICAgLyogQ29weSBzbGF2ZSBsaXN0IHRvIHBy b3RlY3QgYWdhaW5zdCBzbGF2ZSB1cC9kb3duIGNoYW5nZXMNCj4gPiBkdXJpbmcgdHgNCj4gPiAg ICAgICAgICAqIGJ1cnN0aW5nICovDQo+ID4gQEAgLTQyNiw2MiArNDM2LDk2IEBAIGJvbmRfZXRo ZGV2X3J4X2J1cnN0XzgwMjNhZCh2b2lkICpxdWV1ZSwNCj4gc3RydWN0DQo+ID4gcnRlX21idWYg KipidWZzLA0KPiA+ICAgICAgICAgICAgICAgICBpbnRlcm5hbHMtPmFjdGl2ZV9zbGF2ZSA9IDA7 DQo+ID4gICAgICAgICAgICAgICAgIGlkeCA9IDA7DQo+ID4gICAgICAgICB9DQo+ID4gLSAgICAg ICBmb3IgKGkgPSAwOyBpIDwgc2xhdmVfY291bnQgJiYgbnVtX3J4X3RvdGFsIDwgbmJfcGt0czsg aSsrKSB7DQo+ID4gLSAgICAgICAgICAgICAgIGogPSBudW1fcnhfdG90YWw7DQo+ID4gKyAgICAg ICBmb3IgKGkgPSAwOyBpIDwgc2xhdmVfY291bnQgJiYgbnVtX3J4X3RvdGFsIDwgcnhfcmluZ19h dmFpbDsgaSsrKSB7DQo+ID4gKyAgICAgICAgICAgICAgIGogPSAwOw0KPiA+ICAgICAgICAgICAg ICAgICBjb2xsZWN0aW5nID0gQUNUT1JfU1RBVEUoJm1vZGVfODAyM2FkX3BvcnRzW3NsYXZlc1tp ZHhdXSwNCj4gPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENPTExF Q1RJTkcpOw0KPiA+DQo+ID4gICAgICAgICAgICAgICAgIC8qIFJlYWQgcGFja2V0cyBmcm9tIHRo aXMgc2xhdmUgKi8NCj4gPiAtICAgICAgICAgICAgICAgbnVtX3J4X3RvdGFsICs9IHJ0ZV9ldGhf cnhfYnVyc3Qoc2xhdmVzW2lkeF0sDQo+ID4gYmRfcnhfcS0+cXVldWVfaWQsDQo+ID4gLSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAmYnVmc1tudW1fcnhfdG90YWxdLCBuYl9wa3RzIC0N Cj4gPiBudW1fcnhfdG90YWwpOw0KPiA+ICsgICAgICAgICAgICAgICBpZiAodW5saWtlbHkocnhf cmluZ19hdmFpbCAtIG51bV9yeF90b3RhbCA8DQo+ID4gKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBQTURfQk9ORF9SRUNWX1BLVFNfUEVSX1NMQVZFKSkNCj4gPiArICAgICAgICAgICAg ICAgICAgICAgICBjb250aW51ZTsNCj4gPiArICAgICAgICAgICAgICAgbnVtX3J4X3NsYXZlID0g cnRlX2V0aF9yeF9idXJzdChzbGF2ZXNbaWR4XSwNCj4gPiBiZF9yeF9xLT5xdWV1ZV9pZCwNCj4g PiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1idWZfYm91bmNlLA0KPiA+ICsgUE1E X0JPTkRfUkVDVl9QS1RTX1BFUl9TTEFWRSk7DQo+ID4NCj4gPiAtICAgICAgICAgICAgICAgZm9y IChrID0gajsgayA8IDIgJiYgayA8IG51bV9yeF90b3RhbDsgaysrKQ0KPiA+IC0gICAgICAgICAg ICAgICAgICAgICAgIHJ0ZV9wcmVmZXRjaDAocnRlX3BrdG1idWZfbXRvZChidWZzW2tdLCB2b2lk ICopKTsNCj4gPiArICAgICAgICAgICAgICAgZm9yIChrID0gajsgayA8IDIgJiYgayA8IG51bV9y eF9zbGF2ZTsgaysrKQ0KPiA+ICsgICAgICAgICAgICAgICAgICAgICAgIHJ0ZV9wcmVmZXRjaDAo cnRlX3BrdG1idWZfbXRvZChtYnVmX2JvdW5jZVtrXSwNCj4gPiB2b2lkICopKTsNCj4gPg0KPiA+ ICAgICAgICAgICAgICAgICAvKiBIYW5kbGUgc2xvdyBwcm90b2NvbCBwYWNrZXRzLiAqLw0KPiA+ IC0gICAgICAgICAgICAgICB3aGlsZSAoaiA8IG51bV9yeF90b3RhbCkgew0KPiA+ICsgICAgICAg ICAgICAgICB3aGlsZSAoaiA8IG51bV9yeF9zbGF2ZSkgew0KPiA+DQo+ID4gICAgICAgICAgICAg ICAgICAgICAgICAgLyogSWYgcGFja2V0IGlzIG5vdCBwdXJlIEwyIGFuZCBpcyBrbm93biwgc2tp cA0KPiA+IGl0ICovDQo+ID4gLSAgICAgICAgICAgICAgICAgICAgICAgaWYgKChidWZzW2pdLT5w YWNrZXRfdHlwZSAmIH5SVEVfUFRZUEVfTDJfRVRIRVIpDQo+ID4gIT0gMCkgew0KPiA+ICsgICAg ICAgICAgICAgICAgICAgICAgIGlmICgobWJ1Zl9ib3VuY2Vbal0tPnBhY2tldF90eXBlICYNCj4g PiB+UlRFX1BUWVBFX0wyX0VUSEVSKSAhPSAwKSB7DQo+ID4gICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBqKys7DQo+ID4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250 aW51ZTsNCj4gPiAgICAgICAgICAgICAgICAgICAgICAgICB9DQo+ID4NCj4gPiAtICAgICAgICAg ICAgICAgICAgICAgICBpZiAoaiArIDMgPCBudW1fcnhfdG90YWwpDQo+ID4gLSAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBydGVfcHJlZmV0Y2gwKHJ0ZV9wa3RtYnVmX210b2QoYnVmc1tq ICsNCj4gPiAzXSwgdm9pZCAqKSk7DQo+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgaWYgKGog KyAzIDwgbnVtX3J4X3NsYXZlKQ0KPiA+ICsNCj4gPiAgcnRlX3ByZWZldGNoMChydGVfcGt0bWJ1 Zl9tdG9kKG1idWZfYm91bmNlW2ogKyAzXSwNCj4gPiArICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkDQo+ID4gKyAqKSk7DQo+ ID4NCj4gPiAtICAgICAgICAgICAgICAgICAgICAgICBoZHIgPSBydGVfcGt0bWJ1Zl9tdG9kKGJ1 ZnNbal0sIHN0cnVjdCBldGhlcl9oZHINCj4gPiAqKTsNCj4gPiArICAgICAgICAgICAgICAgICAg ICAgICBoZHIgPSBydGVfcGt0bWJ1Zl9tdG9kKG1idWZfYm91bmNlW2pdLA0KPiA+ICsgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IGV0aGVyX2hkciAq KTsNCj4gPiAgICAgICAgICAgICAgICAgICAgICAgICBzdWJ0eXBlID0gKChzdHJ1Y3Qgc2xvd19w cm90b2NvbF9mcmFtZQ0KPiA+ICopaGRyKS0+c2xvd19wcm90b2NvbC5zdWJ0eXBlOw0KPiA+DQo+ ID4gICAgICAgICAgICAgICAgICAgICAgICAgLyogUmVtb3ZlIHBhY2tldCBmcm9tIGFycmF5IGlm IGl0IGlzIHNsb3cNCj4gPiBwYWNrZXQgb3Igc2xhdmUgaXMgbm90DQo+ID4gICAgICAgICAgICAg ICAgICAgICAgICAgICogaW4gY29sbGVjdGluZyBzdGF0ZSBvciBib25kaW5nIGludGVyZmFjZSBp cw0KPiA+IG5vdCBpbiBwcm9taXNjdW91cw0KPiA+ICAgICAgICAgICAgICAgICAgICAgICAgICAq IG1vZGUgYW5kIHBhY2tldCBhZGRyZXNzIGRvZXMgbm90IG1hdGNoLiAqLw0KPiA+IC0gICAgICAg ICAgICAgICAgICAgICAgIGlmICh1bmxpa2VseShpc19sYWNwX3BhY2tldHMoaGRyLT5ldGhlcl90 eXBlLA0KPiA+IHN1YnR5cGUsIGJ1ZnNbal0pIHx8DQo+ID4gKyAgICAgICAgICAgICAgICAgICAg ICAgaWYgKHVubGlrZWx5KGlzX2xhY3BfcGFja2V0cyhoZHItPmV0aGVyX3R5cGUsDQo+ID4gKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdWJ0eXBl LA0KPiA+IG1idWZfYm91bmNlW2pdKSB8fA0KPiA+ICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIWNvbGxlY3RpbmcgfHwgKCFwcm9taXNjICYmDQo+ID4NCj4gPiAhaXNfbXVsdGljYXN0 X2V0aGVyX2FkZHIoJmhkci0+ZF9hZGRyKSAmJg0KPiA+ICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAhaXNfc2FtZV9ldGhlcl9hZGRyKCZib25kX21hYywNCj4gPiAmaGRy LT5kX2FkZHIpKSkpIHsNCj4gPg0KPiA+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg aWYgKGhkci0+ZXRoZXJfdHlwZSA9PQ0KPiA+IGV0aGVyX3R5cGVfc2xvd19iZSkgew0KPiA+ICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib25kX21vZGVfODAyM2FkX2hh bmRsZV9zbG93X3BrdCgNCj4gPiAtICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIGludGVybmFscywgc2xhdmVzW2lkeF0sDQo+ID4gYnVmc1tqXSk7DQo+ID4gKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnRlcm5hbHMsIHNsYXZlc1tp ZHhdLA0KPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWJ1 Zl9ib3VuY2Vbal0pOw0KPiA+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNl DQo+ID4gLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJ0ZV9wa3RtYnVm X2ZyZWUoYnVmc1tqXSk7DQo+ID4gKw0KPiA+ICsgcnRlX3BrdG1idWZfZnJlZShtYnVmX2JvdW5j ZVtqXSk7DQo+ID4NCj4gPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIFBhY2tl dCBpcyBtYW5hZ2VkIGJ5IG1vZGUgNCBvcg0KPiA+IGRyb3BwZWQsIHNoaWZ0IHRoZSBhcnJheSAq Lw0KPiA+IC0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbnVtX3J4X3RvdGFsLS07DQo+ ID4gLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoaiA8IG51bV9yeF90b3RhbCkg ew0KPiA+IC0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtZW1tb3ZlKCZi dWZzW2pdLCAmYnVmc1tqICsgMV0sDQo+ID4gc2l6ZW9mKGJ1ZnNbMF0pICoNCj4gPiAtICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAobnVtX3J4X3RvdGFsIC0g aikpOw0KPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbnVtX3J4X3NsYXZlLS07 DQo+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoaiA8IG51bV9yeF9zbGF2 ZSkgew0KPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtZW1tb3Zl KCZtYnVmX2JvdW5jZVtqXSwNCj4gPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAmbWJ1Zl9ib3VuY2VbaiArIDFdLA0KPiA+ICsgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemVvZihtYnVmX2JvdW5jZVswXSkgKg0K PiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChudW1f cnhfc2xhdmUgLSBqKSk7DQo+ID4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQo+ ID4gLSAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlDQo+ID4gKyAgICAgICAgICAgICAgICAg ICAgICAgfSBlbHNlIHsNCj4gPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGorKzsN Cj4gPiArICAgICAgICAgICAgICAgICAgICAgICB9DQo+ID4gICAgICAgICAgICAgICAgIH0NCj4g PiArDQo+ID4gKyAgICAgICAgICAgICAgIGlmIChudW1fcnhfc2xhdmUgPiAwKSB7DQo+ID4gKyAg ICAgICAgICAgICAgICAgICAgICAgaWYgKG1idWZfYm91bmNlWzBdID09IE5VTEwpDQo+ID4gKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSVEVfTE9HKEVSUiwgUE1ELCAiJXM6IEVucXVl dWUgYSBOVUxMPz9cbiIsDQo+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIF9fZnVuY19fKTsNCj4gPiArDQo+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgbnVtX2Vu cV9zbGF2ZSA9DQo+ID4gcnRlX3JpbmdfZW5xdWV1ZV9idXJzdChpbnRlcm5hbHMtPnJ4X3Jpbmcs DQo+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgKHZvaWQNCj4gPiAqKiltYnVmX2JvdW5jZSwNCj4gPiArDQo+ID4gbnVtX3J4 X3NsYXZlLA0KPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIE5VTEwpOw0KPiA+ICsNCj4gPiArICAgICAgICAgICAgICAgICAg ICAgICBpZiAobnVtX2VucV9zbGF2ZSA8IG51bV9yeF9zbGF2ZSkgew0KPiA+ICsgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgUlRFX0xPRyhFUlIsIFBNRCwNCj4gPiArICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIiVzOiBmYWlsZWQgdG8gZW5xdWV1ZSAldSBwYWNr ZXRzIiwNCj4gPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX19mdW5j X18sDQo+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChudW1fcnhf c2xhdmUgLSBudW1fZW5xX3NsYXZlKSk7DQo+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBmb3IgKGogPSBudW1fZW5xX3NsYXZlOyBqIDwNCj4gPiArIG51bV9yeF9zbGF2ZTsNCj4g PiBqKyspDQo+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJ0ZV9w a3RtYnVmX2ZyZWUobWJ1Zl9ib3VuY2Vbal0pOw0KPiA+ICsgICAgICAgICAgICAgICAgICAgICAg IH0NCj4gPiArICAgICAgICAgICAgICAgICAgICAgICBudW1fcnhfdG90YWwgKz0gbnVtX2VucV9z bGF2ZTsNCj4gPiArICAgICAgICAgICAgICAgfQ0KPiA+ICsNCj4gPiAgICAgICAgICAgICAgICAg aWYgKHVubGlrZWx5KCsraWR4ID09IHNsYXZlX2NvdW50KSkNCj4gPiAgICAgICAgICAgICAgICAg ICAgICAgICBpZHggPSAwOw0KPiA+ICAgICAgICAgfQ0KPiA+DQo+ID4gICAgICAgICBpbnRlcm5h bHMtPmFjdGl2ZV9zbGF2ZSA9IGlkeDsNCj4gPiAtICAgICAgIHJldHVybiBudW1fcnhfdG90YWw7 DQo+ID4gK2RlcXVldWU6DQo+ID4gKyAgICAgICByZXR1cm4gcnRlX3JpbmdfZGVxdWV1ZV9idXJz dChpbnRlcm5hbHMtPnJ4X3JpbmcsICh2b2lkICoqKWJ1ZnMsDQo+ID4gKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBuYl9wa3RzLCBOVUxMKTsNCj4gPiAgfQ0KPiA+DQo+ID4g ICNpZiBkZWZpbmVkKFJURV9MSUJSVEVfQk9ORF9ERUJVR19BTEIpIHx8DQo+ID4gZGVmaW5lZChS VEVfTElCUlRFX0JPTkRfREVCVUdfQUxCX0wxKQ0KPiA+IEBAIC0zMDY1LDYgKzMxMDksNyBAQCBi b25kX2FsbG9jKHN0cnVjdCBydGVfdmRldl9kZXZpY2UgKmRldiwgdWludDhfdA0KPiBtb2RlKQ0K PiA+ICAgICAgICAgc3RydWN0IGJvbmRfZGV2X3ByaXZhdGUgKmludGVybmFscyA9IE5VTEw7DQo+ ID4gICAgICAgICBzdHJ1Y3QgcnRlX2V0aF9kZXYgKmV0aF9kZXYgPSBOVUxMOw0KPiA+ICAgICAg ICAgdWludDMyX3Qgdmxhbl9maWx0ZXJfYm1wX3NpemU7DQo+ID4gKyAgICAgICBjaGFyIG1lbV9u YW1lW1JURV9FVEhfTkFNRV9NQVhfTEVOXTsNCj4gPg0KPiA+ICAgICAgICAgLyogbm93IGRvIGFs bCBkYXRhIGFsbG9jYXRpb24gLSBmb3IgZXRoX2RldiBzdHJ1Y3R1cmUsIGR1bW15DQo+ID4gcGNp IGRyaXZlcg0KPiA+ICAgICAgICAgICogYW5kIGludGVybmFsIChwcml2YXRlKSBkYXRhIEBAIC0z MTI5LDYgKzMxNzQsMTkgQEANCj4gPiBib25kX2FsbG9jKHN0cnVjdCBydGVfdmRldl9kZXZpY2Ug KmRldiwgdWludDhfdA0KPiA+IG1vZGUpDQo+ID4gICAgICAgICBUQUlMUV9JTklUKCZpbnRlcm5h bHMtPmZsb3dfbGlzdCk7DQo+ID4gICAgICAgICBpbnRlcm5hbHMtPmZsb3dfaXNvbGF0ZWRfdmFs aWQgPSAwOw0KPiA+DQo+ID4gKyAgICAgICBzbnByaW50ZihtZW1fbmFtZSwgUlRFX0RJTShtZW1f bmFtZSksICJib25kXyV1X3J4IiwNCj4gPiBpbnRlcm5hbHMtPnBvcnRfaWQpOw0KPiA+ICsgICAg ICAgaW50ZXJuYWxzLT5yeF9yaW5nID0gcnRlX3JpbmdfbG9va3VwKG1lbV9uYW1lKTsNCj4gPiAr ICAgICAgIGlmIChpbnRlcm5hbHMtPnJ4X3JpbmcgPT0gTlVMTCkgew0KPiA+ICsgICAgICAgICAg ICAgICBpbnRlcm5hbHMtPnJ4X3JpbmcgPSBydGVfcmluZ19jcmVhdGUobWVtX25hbWUsDQo+ID4g Kw0KPiA+IHJ0ZV9hbGlnbjMycG93MihQTURfQk9ORF9SRUNWX1JJTkdfUEtUUyAqDQo+ID4gKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBydGVfbGNv cmVfY291bnQoKSksDQo+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNv Y2tldF9pZCwgMCk7DQo+ID4gKyAgICAgICAgICAgICAgIGlmIChpbnRlcm5hbHMtPnJ4X3Jpbmcg PT0gTlVMTCkNCj4gPiArICAgICAgICAgICAgICAgICAgICAgICBydGVfcGFuaWMoIiVzOiBGYWls ZWQgdG8gY3JlYXRlIHJ4IHJpbmcgJyVzJzoNCj4gPiAlc1xuIiwgbmFtZSwNCj4gPiArICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgbWVtX25hbWUsIHJ0ZV9zdHJlcnJvcihydGVfZXJy bm8pKTsNCj4gPiArICAgICAgIH0NCj4gPiArDQo+ID4gKw0KPiA+ICAgICAgICAgLyogU2V0IG1v ZGUgNCBkZWZhdWx0IGNvbmZpZ3VyYXRpb24gKi8NCj4gPiAgICAgICAgIGJvbmRfbW9kZV84MDIz YWRfc2V0dXAoZXRoX2RldiwgTlVMTCk7DQo+ID4gICAgICAgICBpZiAoYm9uZF9ldGhkZXZfbW9k ZV9zZXQoZXRoX2RldiwgbW9kZSkpIHsgZGlmZiAtLWdpdA0KPiA+IGEvZHJpdmVycy9uZXQvYm9u ZGluZy9ydGVfZXRoX2JvbmRfcHJpdmF0ZS5oDQo+ID4gYi9kcml2ZXJzL25ldC9ib25kaW5nL3J0 ZV9ldGhfYm9uZF9wcml2YXRlLmgNCj4gPiBpbmRleCA0M2UwZTQ0OGRmLi44MDI2MWM2YjE0IDEw MDY0NA0KPiA+IC0tLSBhL2RyaXZlcnMvbmV0L2JvbmRpbmcvcnRlX2V0aF9ib25kX3ByaXZhdGUu aA0KPiA+ICsrKyBiL2RyaXZlcnMvbmV0L2JvbmRpbmcvcnRlX2V0aF9ib25kX3ByaXZhdGUuaA0K PiA+IEBAIC0yNiw2ICsyNiw4IEBADQo+ID4gICNkZWZpbmUgUE1EX0JPTkRfTFNDX1BPTExfUEVS SU9EX0tWQVJHDQo+ICgibHNjX3BvbGxfcGVyaW9kX21zIikNCj4gPiAgI2RlZmluZSBQTURfQk9O RF9MSU5LX1VQX1BST1BfREVMQVlfS1ZBUkcgICAgICAoInVwX2RlbGF5IikNCj4gPiAgI2RlZmlu ZSBQTURfQk9ORF9MSU5LX0RPV05fUFJPUF9ERUxBWV9LVkFSRw0KPiAoImRvd25fZGVsYXkiKQ0K PiA+ICsjZGVmaW5lIFBNRF9CT05EX1JFQ1ZfUklOR19QS1RTICAgICAgICAgICAgICAgIDUxMg0K PiA+ICsjZGVmaW5lIFBNRF9CT05EX1JFQ1ZfUEtUU19QRVJfU0xBVkUgICAgICAgICAgIDMyDQo+ ID4NCj4gPiAgI2RlZmluZSBQTURfQk9ORF9YTUlUX1BPTElDWV9MQVlFUjJfS1ZBUkcgICAgICAo ImwyIikNCj4gPiAgI2RlZmluZSBQTURfQk9ORF9YTUlUX1BPTElDWV9MQVlFUjIzX0tWQVJHICAg ICAoImwyMyIpDQo+ID4gQEAgLTE3NSw2ICsxNzcsOCBAQCBzdHJ1Y3QgYm9uZF9kZXZfcHJpdmF0 ZSB7DQo+ID4NCj4gPiAgICAgICAgIHZvaWQgKnZsYW5fZmlsdGVyX2JtcG1lbTsgICAgICAgICAg ICAgICAvKiBlbmFibGVkIHZsYW4gZmlsdGVyDQo+ID4gYml0bWFwICovDQo+ID4gICAgICAgICBz dHJ1Y3QgcnRlX2JpdG1hcCAqdmxhbl9maWx0ZXJfYm1wOw0KPiA+ICsNCj4gPiArICAgICAgIHN0 cnVjdCBydGVfcmluZyAqcnhfcmluZzsNCj4gPiAgfTsNCj4gPg0KPiA+ICBleHRlcm4gY29uc3Qg c3RydWN0IGV0aF9kZXZfb3BzIGRlZmF1bHRfZGV2X29wczsNCj4gPiAtLQ0KPiA+IDIuMTguMA0K PiA+DQo+ID4NCg==