From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR03-VE1-obe.outbound.protection.outlook.com (mail-eopbgr50050.outbound.protection.outlook.com [40.107.5.50]) by dpdk.org (Postfix) with ESMTP id 857E8DED; Tue, 21 Aug 2018 17:43:38 +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=gTq9LlJEwloNJZZwxtRoqoRxDhNa7Zh8yCToF/STYvw=; b=To5bCq+C1/c8HUK5AVU1kgAm1IzBFRsPc6NdPdADGoYBdMyhBqqEVJ5KHH09NpvOM3IwVU3qMDiWPBzPHbKGnuThhSNUS+GUm7dlV4qKabKU2iojqZx90lHcglk449uBDDrRZVf3MO2cO1VOI40aUtNF67uO0RLBsOJrgalzIY4= Received: from AM0PR0502MB4019.eurprd05.prod.outlook.com (52.133.41.11) by AM0PR0502MB3746.eurprd05.prod.outlook.com (52.133.47.15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1059.21; Tue, 21 Aug 2018 15:43:36 +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 15:43:36 +0000 From: Matan Azrad To: Chas Williams <3chas3@gmail.com> CC: "bluca@debian.org" , "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: AQHUOV9qWoZpYjo+SEmRSjJwQ4D/9KTKVsoQ Date: Tue, 21 Aug 2018 15:43:36 +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; AM0PR0502MB3746; 6:6DCSVUdWwqc5GIzsuanc+z/qW5opnmjWPfFF74rG9QSCLnGgkCZBAR3ons1lvU5uaoZB5llxjqfQ8UlPOoWruWg5W6RmCMUAh2OxEb7YIjEMykFOugMVdRAT5dZcVspF9fMFjP+caCZFBSV+WamJ9qChvn9D00OpFHwBVWl6Ier7kGBAZsoekN9/mnC4y8xOIHfVyBuFuUzM6QlodYPoS7mP7IuJGbbzfSir94HnC5fP43YHDrcBQ/DZoQnCLBRvVdnf6F+B73swHmVbKbwyP4E84EPjgisSWP6AAGyvPZMnWT/OKEBB/FPGa+WNjDUt0FycgYsqlo3CZg+74JgDX+KOO76sTl7reiQzE/2IslkldKKp2s2ZMk74mMVVu0G8UdZjPh4UZTQazoFcs8faVp36YkM1KENZXBD8sqLv4LO3tRKXRWSCJyXLnmPDBzVZYXcNDOsEQMJe+bVdcwvJBA==; 5:2cmBRVMUeEysU6A+w8j/b1OcAf/DUSduLkIpdgFkT3Dpvc6OMKr6l3XXlu/XhfXiO3A8DjJUth3sodfPrvrP3Tv8oeJnZO6mhf/Wcw9+cnAPrbdz0wfWxuw8YrPQ6At9w01DFnc7jAtWPRQr4vY5y18p5ZZB5J4BOsGy0anG/VM=; 7:vhRAKoPD6/r5RmLCVWol1vBpfUfN4DkVpa47lW3kybczyIudpbYeWFk79GvHv1ZwuhfN5T8G4eI1plLXufo0BYJyR+QrxGcoXicjW3SJnSaxnXGjuZtbF0Lt/X4Akyig1SVu3dFMR2F/3dmTM/hAw0I69Yql0U/pAycyfjwdbTXgkQP998ZinULkheMh2wE+O089hDaIGv9OyUgIEmVAvTTJOzp2JGE6kiAY3jMhgctsO5To6iKkoSyw8oPxdFSE x-ms-exchange-antispam-srfa-diagnostics: SOS; x-ms-office365-filtering-correlation-id: 576ea553-a5a8-4bcd-96c3-08d6077cdbed 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:AM0PR0502MB3746; x-ms-traffictypediagnostic: AM0PR0502MB3746: 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:AM0PR0502MB3746; BCL:0; PCL:0; RULEID:; SRVR:AM0PR0502MB3746; x-forefront-prvs: 0771670921 x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(39860400002)(396003)(366004)(376002)(136003)(346002)(189003)(199004)(51234002)(5250100002)(575784001)(86362001)(99286004)(26005)(14444005)(7696005)(1411001)(53936002)(53946003)(6436002)(8676002)(55016002)(256004)(9686003)(81156014)(446003)(66066001)(186003)(316002)(81166006)(53546011)(102836004)(6506007)(478600001)(11346002)(93886005)(486006)(5660300001)(229853002)(105586002)(25786009)(14454004)(39060400002)(68736007)(4326008)(2906002)(2900100001)(74316002)(8936002)(97736004)(305945005)(3846002)(106356001)(7736002)(6916009)(6246003)(33656002)(54906003)(76176011)(476003)(6116002); DIR:OUT; SFP:1101; SCL:1; SRVR:AM0PR0502MB3746; 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: 7m1wEyF72snOwJU6LgsR+LbJW6csssWxQCK885BIpsnCUvFOW9NRveJKuVALWSkjw/9VusSqkVActdDA/wEiIn0sMBvmHVoBvT6sD9CU8UUHmkwd5XSXqDtArr+sIl+Tt5Q4zvsOfLAe58ao0fYAKXr69PsJ3olxTuP6EnKUK0enDYgqqZnBIjQ942UO3D9BpoeVWh+CIHJqqQcPbd+L+JN/SJ3sUNBi6BPQsehlP0Y2Tj1TcJWChW39llkS8a4xPtBIKa5WEevjJlmSFwnMuM/0A0WJyNhmRs2r4rVLEr0PIMxosZkGbvZX7alYJoKs9fhPFZeBs2/uEFLQwkVf/jTN6UnyXhLgK9iTrgybDuA= 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: 576ea553-a5a8-4bcd-96c3-08d6077cdbed X-MS-Exchange-CrossTenant-originalarrivaltime: 21 Aug 2018 15:43:36.5373 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: a652971c-7d2e-4d9b-a6a4-d149256f461b X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR0502MB3746 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 15:43:38 -0000 SGkgQ2hhcw0KDQpGcm9tOiBDaGFzIFdpbGxpYW1zDQo+IE9uIFR1ZSwgQXVnIDIxLCAyMDE4IGF0 IDY6NTYgQU0gTWF0YW4gQXpyYWQgPG1hdGFuQG1lbGxhbm94LmNvbT4NCj4gd3JvdGU6DQo+IEhp DQo+IA0KPiBGcm9tOiBDaGFzIFdpbGxpYW1zDQo+ID4gVGhpcyB3aWxsIG5lZWQgdG8gYmUgaW1w bGVtZW50ZWQgZm9yIHNvbWUgb2YgdGhlIG90aGVyIFJYIGJ1cnN0DQo+ID4gbWV0aG9kcyBhdCBz b21lIHBvaW50IGZvciBvdGhlciBtb2RlcyB0byBzZWUgdGhpcyBwZXJmb3JtYW5jZQ0KPiA+IGlt cHJvdmVtZW50ICh3aXRoIHRoZSBleGNlcHRpb24gb2YgYWN0aXZlLWJhY2t1cCkuDQo+IA0KPiBZ ZXMsIEkgdGhpbmsgaXQgc2hvdWxkIGJlIGRvbmUgYXQgbGVhc3QgdG8NCj4gYm9uZF9ldGhkZXZf cnhfYnVyc3RfODAyM2FkX2Zhc3RfcXVldWUgKHNob3VsZCBiZSBlYXN5KSBmb3Igbm93Lg0KPiAN Cj4gVGhlcmUgaXMgc29tZSBkdXBsaWNhdGVkIGNvZGUgYmV0d2VlbiB0aGUgdmFyaW91cyBSWCBw YXRocy4NCj4gSSB3b3VsZCBsaWtlIHRvIGVsaW1pbmF0ZSB0aGF0IGFzIG11Y2ggYXMgcG9zc2li bGUsIHNvIEkgd2FzIGdvaW5nIHRvIGdpdmUgdGhhdA0KPiBzb21lIHRob3VnaHQgZmlyc3QuDQoN ClRoZXJlIGlzIG5vIHJlYXNvbiB0byBzdGF5IHRoaXMgZnVuY3Rpb24gYXMgaXMgd2hpbGUgaXRz IHR3aW4gaXMgY2hhbmdlZC4NCg0KPiANCj4gDQo+ID4gT24gVGh1LCBBdWcgMTYsIDIwMTggYXQg OTozMiBBTSBMdWNhIEJvY2Nhc3NpIDxibHVjYUBkZWJpYW4ub3JnPiB3cm90ZToNCj4gPg0KPiA+ ID4gRHVyaW5nIGJvbmQgODAyLjNhZCByZWNlaXZlLCBhIGJ1cnN0IG9mIHBhY2tldHMgaXMgZmV0 Y2hlZCBmcm9tIGVhY2gNCj4gPiA+IHNsYXZlIGludG8gYSBsb2NhbCBhcnJheSBhbmQgYXBwZW5k ZWQgdG8gcGVyLXNsYXZlIHJpbmcgYnVmZmVyLg0KPiA+ID4gUGFja2V0cyBhcmUgdGFrZW4gZnJv bSB0aGUgaGVhZCBvZiB0aGUgcmluZyBidWZmZXIgYW5kIHJldHVybmVkIHRvDQo+ID4gPiB0aGUg Y2FsbGVyLiAgVGhlIG51bWJlciBvZiBtYnVmcyBwcm92aWRlZCB0byBlYWNoIHNsYXZlIGlzDQo+ ID4gPiBzdWZmaWNpZW50IHRvIG1lZXQgdGhlIHJlcXVpcmVtZW50cyBvZiB0aGUgaXhnYmUgdmVj dG9yIHJlY2VpdmUuDQo+IA0KPiBMdWNhLA0KPiANCj4gQ2FuIHlvdSBleHBsYWluIHRoZXNlIHJl cXVpcmVtZW50cyBvZiBpeGdiZT8NCj4gDQo+IFRoZSBpeGdiZSAoYW5kIHNvbWUgb3RoZXIgSW50 ZWwgUE1EcykgaGF2ZSB2ZWN0b3JpemVkIFJYIHJvdXRpbmVzIHRoYXQgYXJlDQo+IG1vcmUgZWZm aWNpZW50IChpZiBub3QgZmFzdGVyKSB0YWtpbmcgYWR2YW50YWdlIG9mIHNvbWUgYWR2YW5jZWQg Q1BVDQo+IGluc3RydWN0aW9ucy4gIEkgdGhpbmsgeW91IG5lZWQgdG8gYmUgcmVjZWl2aW5nIGF0 IGxlYXN0IDMyIHBhY2tldHMgb3IgbW9yZS4NCg0KU28sIHdoeSB0byBkbyBpdCBpbiBib25kIHdo aWNoIGlzIGEgZ2VuZXJpYyBkcml2ZXIgZm9yIGFsbCB0aGUgdmVuZG9ycyBQTURzLA0KSWYgZm9y IGl4Z2JlIGFuZCBvdGhlciBJbnRlbCBuaWNzIGl0IGlzIGJldHRlciB5b3UgY2FuIGZvcmNlIHRo b3NlIFBNRHMgdG8gcmVjZWl2ZSBhbHdheXMgMzIgcGFja2V0cw0KYW5kIHRvIG1hbmFnZSBhIHJp bmcgYnkgdGhlbXNlbHZlcy4NCiANCj4gRGlkIHlvdSBjaGVjayBmb3Igb3RoZXIgdmVuZG9yIFBN RHM/IEl0IG1heSBodXJ0IHBlcmZvcm1hbmNlIHRoZXJlLi4NCj4gDQo+IEkgZG9uJ3Qga25vdywg YnV0IEkgc3VzcGVjdCBwcm9iYWJseSBub3QuICBGb3IgdGhlIG1vc3QgcGFydCB5b3UgYXJlIHR5 cGljYWxseQ0KPiByZWFkaW5nIGFsbW9zdCB1cCB0byB0aGUgdmVjdG9yIHJlcXVpcmVtZW50LiAg QnV0IGlmIG9uZSBzbGF2ZSBoYXMganVzdCBhDQo+IHNpbmdsZSBwYWNrZXQsIHRoZW4geW91IGNh bid0IHZlY3Rvcml6ZSBvbiB0aGUgbmV4dCBzbGF2ZS4NCj4gDQoNCkkgZG9uJ3QgdGhpbmsgdGhh dCB0aGUgcmluZyBvdmVyaGVhZCBpcyBiZXR0ZXIgZm9yIFBNRHMgd2hpY2ggYXJlIG5vdCB1c2lu ZyB0aGUgdmVjdG9yaXplZCBpbnN0cnVjdGlvbnMuDQoNCj4gRW1waXJpY2FsbHksIHRoaXMgcGF0 Y2ggaGFzIGJlZW4gYXJvdW5kIG9mIHllYXJzIGluIG9uZSBmb3JtIG9yIGFub3RoZXIuICBObw0K PiBjb21wbGFpbnRzIG90aGVyIHRoYW4gImJvbmRpbmcgaXMgc2xvdyIgd2hpY2ggaXMgd2h5IGl0 IHdhcyB3cml0dGVuLg0KPiANCj4gDQo+ID4gPg0KPiA+ID4gVGhpcyBzbWFsbCBjaGFuZ2UgaW1w cm92ZXMgcGVyZm9ybWFuY2VzIG9mIHRoZSBib25kaW5nIGRyaXZlcg0KPiA+ID4gY29uc2lkZXJh Ymx5LiBWeWF0dGEgaGFzIGJlZW4gdXNpbmcgaXQgZm9yIHllYXJzIGluIHByb2R1Y3Rpb24uDQo+ ID4gPg0KPiA+ID4gQ2M6IHN0YWJsZUBkcGRrLm9yZw0KPiA+ID4NCj4gPiA+IFNpZ25lZC1vZmYt Ynk6IEVyaWMgS2luemllIDxla2luemllQGJyb2NhZGUuY29tPg0KPiA+ID4gU2lnbmVkLW9mZi1i eTogTHVjYSBCb2NjYXNzaSA8Ymx1Y2FAZGViaWFuLm9yZz4NCj4gPiA+DQo+ID4NCj4gPiBBY2tl ZC1ieTogQ2hhcyBXaWxsaWFtcyA8Y2hhczNAYXR0LmNvbT4NCj4gPg0KPiA+DQo+ID4NCj4gPiA+ IC0tLQ0KPiA+ID4gdjIgYW5kIHYzOiBmaXggY2hlY2twYXRjaCB3YXJuaW5ncw0KPiA+ID4gdjQ6 IGFkZCBFcmljJ3Mgb3JpZ2luYWwgc2lnbmVkLW9mZi1ieSBmcm9tIHRoZSBWeWF0dGEgaW50ZXJu YWwgcmVwbw0KPiA+ID4NCj4gPiA+ICBkcml2ZXJzL25ldC9ib25kaW5nL3J0ZV9ldGhfYm9uZF9h cGkuYyAgICAgfCAxMyArKysNCj4gPiA+ICBkcml2ZXJzL25ldC9ib25kaW5nL3J0ZV9ldGhfYm9u ZF9wbWQuYyAgICAgfCA5OA0KPiArKysrKysrKysrKysrKysrKy0tDQo+ID4gLS0tDQo+ID4gPiAg ZHJpdmVycy9uZXQvYm9uZGluZy9ydGVfZXRoX2JvbmRfcHJpdmF0ZS5oIHwgIDQgKw0KPiA+ID4g IDMgZmlsZXMgY2hhbmdlZCwgOTUgaW5zZXJ0aW9ucygrKSwgMjAgZGVsZXRpb25zKC0pDQo+ID4g Pg0KPiA+ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L2JvbmRpbmcvcnRlX2V0aF9ib25kX2Fw aS5jDQo+ID4gPiBiL2RyaXZlcnMvbmV0L2JvbmRpbmcvcnRlX2V0aF9ib25kX2FwaS5jDQo+ID4g PiBpbmRleCA4YmMwNGNmZDExLi4zZDIyMjAzZTkxIDEwMDY0NA0KPiA+ID4gLS0tIGEvZHJpdmVy cy9uZXQvYm9uZGluZy9ydGVfZXRoX2JvbmRfYXBpLmMNCj4gPiA+ICsrKyBiL2RyaXZlcnMvbmV0 L2JvbmRpbmcvcnRlX2V0aF9ib25kX2FwaS5jDQo+ID4gPiBAQCAtNTI0LDYgKzUyNCwxMCBAQCBf X2V0aF9ib25kX3NsYXZlX3JlbW92ZV9sb2NrX2ZyZWUodWludDE2X3QNCj4gPiA+IGJvbmRlZF9w b3J0X2lkLA0KPiA+ID4NCj4gPiA+IHNpemVvZigqKHJ0ZV9ldGhfZGV2aWNlc1tib25kZWRfcG9y dF9pZF0uZGF0YS0+bWFjX2FkZHJzKSkpOw0KPiA+ID4gICAgICAgICB9DQo+ID4gPiAgICAgICAg IGlmIChpbnRlcm5hbHMtPnNsYXZlX2NvdW50ID09IDApIHsNCj4gPiA+ICsgICAgICAgICAgICAg ICAvKiBSZW1vdmUgYW55IHJlbWFpbmluZyBwYWNrZXRzIGluIHRoZSByZWNlaXZlIHJpbmcgKi8N Cj4gPiA+ICsgICAgICAgICAgICAgICBzdHJ1Y3QgcnRlX21idWYgKmJ1ZnNbUE1EX0JPTkRfUkVD Vl9QS1RTX1BFUl9TTEFWRV07DQo+ID4gPiArICAgICAgICAgICAgICAgdW5zaWduZWQgaW50IGos IGNvdW50Ow0KPiA+ID4gKw0KPiA+ID4gICAgICAgICAgICAgICAgIGludGVybmFscy0+cnhfb2Zm bG9hZF9jYXBhID0gMDsNCj4gPiA+ICAgICAgICAgICAgICAgICBpbnRlcm5hbHMtPnR4X29mZmxv YWRfY2FwYSA9IDA7DQo+ID4gPiAgICAgICAgICAgICAgICAgaW50ZXJuYWxzLT5yeF9xdWV1ZV9v ZmZsb2FkX2NhcGEgPSAwOyBAQCAtNTMyLDYNCj4gPiA+ICs1MzYsMTUgQEAgX19ldGhfYm9uZF9z bGF2ZV9yZW1vdmVfbG9ja19mcmVlKHVpbnQxNl90DQo+ID4gPiBib25kZWRfcG9ydF9pZCwNCj4g PiA+ICAgICAgICAgICAgICAgICBpbnRlcm5hbHMtPnJldGFfc2l6ZSA9IDA7DQo+ID4gPiAgICAg ICAgICAgICAgICAgaW50ZXJuYWxzLT5jYW5kaWRhdGVfbWF4X3J4X3BrdGxlbiA9IDA7DQo+ID4g PiAgICAgICAgICAgICAgICAgaW50ZXJuYWxzLT5tYXhfcnhfcGt0bGVuID0gMDsNCj4gPiA+ICsN Cj4gPiA+ICsgICAgICAgICAgICAgICBkbyB7DQo+ID4gPiArICAgICAgICAgICAgICAgICAgICAg ICBjb3VudCA9IHJ0ZV9yaW5nX2RlcXVldWVfYnVyc3QoaW50ZXJuYWxzLT5yeF9yaW5nLA0KPiA+ ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICh2b2lkICoqKWJ1ZnMs DQo+ID4gPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUE1EX0JPTkRf UkVDVl9QS1RTX1BFUl9TTEFWRSwNCj4gPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBOVUxMKTsNCj4gPiA+ICsgICAgICAgICAgICAgICAgICAgICAgIGZvciAgKGog PSAwOyBqIDwgY291bnQ7IGorKykNCj4gPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgcnRlX3BrdG1idWZfZnJlZShidWZzW2pdKTsNCj4gPiA+ICsgICAgICAgICAgICAgICB9IHdo aWxlIChjb3VudCA+IDApOw0KPiA+ID4gICAgICAgICB9DQo+ID4gPiAgICAgICAgIHJldHVybiAw Ow0KPiA+ID4gIH0NCj4gPiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC9ib25kaW5nL3J0ZV9l dGhfYm9uZF9wbWQuYw0KPiA+ID4gYi9kcml2ZXJzL25ldC9ib25kaW5nL3J0ZV9ldGhfYm9uZF9w bWQuYw0KPiA+ID4gaW5kZXggNThmNzM3N2M2MC4uYWU3NTZjNGUzYSAxMDA2NDQNCj4gPiA+IC0t LSBhL2RyaXZlcnMvbmV0L2JvbmRpbmcvcnRlX2V0aF9ib25kX3BtZC5jDQo+ID4gPiArKysgYi9k cml2ZXJzL25ldC9ib25kaW5nL3J0ZV9ldGhfYm9uZF9wbWQuYw0KPiA+ID4gQEAgLTE4LDYgKzE4 LDggQEANCj4gPiA+ICAjaW5jbHVkZSA8cnRlX2FsYXJtLmg+DQo+ID4gPiAgI2luY2x1ZGUgPHJ0 ZV9jeWNsZXMuaD4NCj4gPiA+ICAjaW5jbHVkZSA8cnRlX3N0cmluZ19mbnMuaD4NCj4gPiA+ICsj aW5jbHVkZSA8cnRlX2Vycm5vLmg+DQo+ID4gPiArI2luY2x1ZGUgPHJ0ZV9sY29yZS5oPg0KPiA+ ID4NCj4gPiA+ICAjaW5jbHVkZSAicnRlX2V0aF9ib25kLmgiDQo+ID4gPiAgI2luY2x1ZGUgInJ0 ZV9ldGhfYm9uZF9wcml2YXRlLmgiDQo+ID4gPiBAQCAtNDAyLDEwICs0MDQsMTUgQEAgYm9uZF9l dGhkZXZfcnhfYnVyc3RfODAyM2FkKHZvaWQgKnF1ZXVlLA0KPiA+IHN0cnVjdA0KPiA+ID4gcnRl X21idWYgKipidWZzLA0KPiA+ID4gICAgICAgICBzdHJ1Y3QgYm9uZF9kZXZfcHJpdmF0ZSAqaW50 ZXJuYWxzID0gYmRfcnhfcS0+ZGV2X3ByaXZhdGU7DQo+ID4gPiAgICAgICAgIHN0cnVjdCBldGhl cl9hZGRyIGJvbmRfbWFjOw0KPiA+ID4NCj4gPiA+ICsgICAgICAgdW5zaWduZWQgaW50IHJ4X3Jp bmdfYXZhaWwgPQ0KPiA+ID4gcnRlX3JpbmdfZnJlZV9jb3VudChpbnRlcm5hbHMtPnJ4X3Jpbmcp Ow0KPiA+ID4gKyAgICAgICBzdHJ1Y3QgcnRlX21idWYNCj4gPiAqbWJ1Zl9ib3VuY2VbUE1EX0JP TkRfUkVDVl9QS1RTX1BFUl9TTEFWRV07DQo+ID4gPiArDQo+ID4gPiAgICAgICAgIHN0cnVjdCBl dGhlcl9oZHIgKmhkcjsNCj4gPiA+DQo+ID4gPiAgICAgICAgIGNvbnN0IHVpbnQxNl90IGV0aGVy X3R5cGVfc2xvd19iZSA9DQo+ID4gPiBydGVfYmVfdG9fY3B1XzE2KEVUSEVSX1RZUEVfU0xPVyk7 DQo+ID4gPiAgICAgICAgIHVpbnQxNl90IG51bV9yeF90b3RhbCA9IDA7ICAgICAgLyogVG90YWwg bnVtYmVyIG9mIHJlY2VpdmVkDQo+ID4gPiBwYWNrZXRzICovDQo+ID4gPiArICAgICAgIHVpbnQx Nl90IG51bV9yeF9zbGF2ZTsNCj4gPiA+ICsgICAgICAgdWludDE2X3QgbnVtX2VucV9zbGF2ZTsN Cj4gPiA+ICAgICAgICAgdWludDE2X3Qgc2xhdmVzW1JURV9NQVhfRVRIUE9SVFNdOw0KPiA+ID4g ICAgICAgICB1aW50MTZfdCBzbGF2ZV9jb3VudCwgaWR4Ow0KPiA+ID4NCj4gPiA+IEBAIC00MTQs NiArNDIxLDkgQEAgYm9uZF9ldGhkZXZfcnhfYnVyc3RfODAyM2FkKHZvaWQgKnF1ZXVlLA0KPiA+ IHN0cnVjdA0KPiA+ID4gcnRlX21idWYgKipidWZzLA0KPiA+ID4gICAgICAgICB1aW50OF90IGks IGosIGs7DQo+ID4gPiAgICAgICAgIHVpbnQ4X3Qgc3VidHlwZTsNCj4gPiA+DQo+ID4gPiArICAg ICAgIGlmIChyeF9yaW5nX2F2YWlsIDwgUE1EX0JPTkRfUkVDVl9QS1RTX1BFUl9TTEFWRSkNCj4g PiA+ICsgICAgICAgICAgICAgICBnb3RvIGRlcXVldWU7DQo+ID4gPiArDQo+ID4gPiAgICAgICAg IHJ0ZV9ldGhfbWFjYWRkcl9nZXQoaW50ZXJuYWxzLT5wb3J0X2lkLCAmYm9uZF9tYWMpOw0KPiA+ ID4gICAgICAgICAvKiBDb3B5IHNsYXZlIGxpc3QgdG8gcHJvdGVjdCBhZ2FpbnN0IHNsYXZlIHVw L2Rvd24gY2hhbmdlcw0KPiA+ID4gZHVyaW5nIHR4DQo+ID4gPiAgICAgICAgICAqIGJ1cnN0aW5n ICovDQo+ID4gPiBAQCAtNDI2LDYyICs0MzYsOTYgQEAgYm9uZF9ldGhkZXZfcnhfYnVyc3RfODAy M2FkKHZvaWQgKnF1ZXVlLA0KPiA+IHN0cnVjdA0KPiA+ID4gcnRlX21idWYgKipidWZzLA0KPiA+ ID4gICAgICAgICAgICAgICAgIGludGVybmFscy0+YWN0aXZlX3NsYXZlID0gMDsNCj4gPiA+ICAg ICAgICAgICAgICAgICBpZHggPSAwOw0KPiA+ID4gICAgICAgICB9DQo+ID4gPiAtICAgICAgIGZv ciAoaSA9IDA7IGkgPCBzbGF2ZV9jb3VudCAmJiBudW1fcnhfdG90YWwgPCBuYl9wa3RzOyBpKysp IHsNCj4gPiA+IC0gICAgICAgICAgICAgICBqID0gbnVtX3J4X3RvdGFsOw0KPiA+ID4gKyAgICAg ICBmb3IgKGkgPSAwOyBpIDwgc2xhdmVfY291bnQgJiYgbnVtX3J4X3RvdGFsIDwgcnhfcmluZ19h dmFpbDsgaSsrKSB7DQo+ID4gPiArICAgICAgICAgICAgICAgaiA9IDA7DQo+ID4gPiAgICAgICAg ICAgICAgICAgY29sbGVjdGluZyA9IEFDVE9SX1NUQVRFKCZtb2RlXzgwMjNhZF9wb3J0c1tzbGF2 ZXNbaWR4XV0sDQo+ID4gPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IENPTExFQ1RJTkcpOw0KPiA+ID4NCj4gPiA+ICAgICAgICAgICAgICAgICAvKiBSZWFkIHBhY2tl dHMgZnJvbSB0aGlzIHNsYXZlICovDQo+ID4gPiAtICAgICAgICAgICAgICAgbnVtX3J4X3RvdGFs ICs9IHJ0ZV9ldGhfcnhfYnVyc3Qoc2xhdmVzW2lkeF0sDQo+ID4gPiBiZF9yeF9xLT5xdWV1ZV9p ZCwNCj4gPiA+IC0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJmJ1ZnNbbnVtX3J4X3Rv dGFsXSwgbmJfcGt0cyAtDQo+ID4gPiBudW1fcnhfdG90YWwpOw0KPiA+ID4gKyAgICAgICAgICAg ICAgIGlmICh1bmxpa2VseShyeF9yaW5nX2F2YWlsIC0gbnVtX3J4X3RvdGFsIDwNCj4gPiA+ICsg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUE1EX0JPTkRfUkVDVl9QS1RTX1BFUl9TTEFW RSkpDQo+ID4gPiArICAgICAgICAgICAgICAgICAgICAgICBjb250aW51ZTsNCj4gPiA+ICsgICAg ICAgICAgICAgICBudW1fcnhfc2xhdmUgPSBydGVfZXRoX3J4X2J1cnN0KHNsYXZlc1tpZHhdLA0K PiA+ID4gYmRfcnhfcS0+cXVldWVfaWQsDQo+ID4gPiArICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIG1idWZfYm91bmNlLA0KPiA+ID4gKyBQTURfQk9ORF9SRUNWX1BLVFNfUEVSX1NMQVZF KTsNCj4gPiA+DQo+ID4gPiAtICAgICAgICAgICAgICAgZm9yIChrID0gajsgayA8IDIgJiYgayA8 IG51bV9yeF90b3RhbDsgaysrKQ0KPiA+ID4gLSAgICAgICAgICAgICAgICAgICAgICAgcnRlX3By ZWZldGNoMChydGVfcGt0bWJ1Zl9tdG9kKGJ1ZnNba10sIHZvaWQgKikpOw0KPiA+ID4gKyAgICAg ICAgICAgICAgIGZvciAoayA9IGo7IGsgPCAyICYmIGsgPCBudW1fcnhfc2xhdmU7IGsrKykNCj4g PiA+ICsNCj4gPiA+ICsgcnRlX3ByZWZldGNoMChydGVfcGt0bWJ1Zl9tdG9kKG1idWZfYm91bmNl W2tdLA0KPiA+ID4gdm9pZCAqKSk7DQo+ID4gPg0KPiA+ID4gICAgICAgICAgICAgICAgIC8qIEhh bmRsZSBzbG93IHByb3RvY29sIHBhY2tldHMuICovDQo+ID4gPiAtICAgICAgICAgICAgICAgd2hp bGUgKGogPCBudW1fcnhfdG90YWwpIHsNCj4gPiA+ICsgICAgICAgICAgICAgICB3aGlsZSAoaiA8 IG51bV9yeF9zbGF2ZSkgew0KPiA+ID4NCj4gPiA+ICAgICAgICAgICAgICAgICAgICAgICAgIC8q IElmIHBhY2tldCBpcyBub3QgcHVyZSBMMiBhbmQgaXMga25vd24sDQo+ID4gPiBza2lwIGl0ICov DQo+ID4gPiAtICAgICAgICAgICAgICAgICAgICAgICBpZiAoKGJ1ZnNbal0tPnBhY2tldF90eXBl ICYgflJURV9QVFlQRV9MMl9FVEhFUikNCj4gPiA+ICE9IDApIHsNCj4gPiA+ICsgICAgICAgICAg ICAgICAgICAgICAgIGlmICgobWJ1Zl9ib3VuY2Vbal0tPnBhY2tldF90eXBlICYNCj4gPiA+IH5S VEVfUFRZUEVfTDJfRVRIRVIpICE9IDApIHsNCj4gPiA+ICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgaisrOw0KPiA+ID4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250 aW51ZTsNCj4gPiA+ICAgICAgICAgICAgICAgICAgICAgICAgIH0NCj4gPiA+DQo+ID4gPiAtICAg ICAgICAgICAgICAgICAgICAgICBpZiAoaiArIDMgPCBudW1fcnhfdG90YWwpDQo+ID4gPiAtICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJ0ZV9wcmVmZXRjaDAocnRlX3BrdG1idWZfbXRv ZChidWZzW2ogKw0KPiA+ID4gM10sIHZvaWQgKikpOw0KPiA+ID4gKyAgICAgICAgICAgICAgICAg ICAgICAgaWYgKGogKyAzIDwgbnVtX3J4X3NsYXZlKQ0KPiA+ID4gKw0KPiA+ID4gIHJ0ZV9wcmVm ZXRjaDAocnRlX3BrdG1idWZfbXRvZChtYnVmX2JvdW5jZVtqICsgM10sDQo+ID4gPiArICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2 b2lkDQo+ID4gPiArICopKTsNCj4gPiA+DQo+ID4gPiAtICAgICAgICAgICAgICAgICAgICAgICBo ZHIgPSBydGVfcGt0bWJ1Zl9tdG9kKGJ1ZnNbal0sIHN0cnVjdCBldGhlcl9oZHINCj4gPiA+ICop Ow0KPiA+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgaGRyID0gcnRlX3BrdG1idWZfbXRvZCht YnVmX2JvdW5jZVtqXSwNCj4gPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgc3RydWN0IGV0aGVyX2hkciAqKTsNCj4gPiA+ICAgICAgICAgICAgICAgICAg ICAgICAgIHN1YnR5cGUgPSAoKHN0cnVjdCBzbG93X3Byb3RvY29sX2ZyYW1lDQo+ID4gPiAqKWhk ciktPnNsb3dfcHJvdG9jb2wuc3VidHlwZTsNCj4gPiA+DQo+ID4gPiAgICAgICAgICAgICAgICAg ICAgICAgICAvKiBSZW1vdmUgcGFja2V0IGZyb20gYXJyYXkgaWYgaXQgaXMgc2xvdw0KPiA+ID4g cGFja2V0IG9yIHNsYXZlIGlzIG5vdA0KPiA+ID4gICAgICAgICAgICAgICAgICAgICAgICAgICog aW4gY29sbGVjdGluZyBzdGF0ZSBvciBib25kaW5nIGludGVyZmFjZQ0KPiA+ID4gaXMgbm90IGlu IHByb21pc2N1b3VzDQo+ID4gPiAgICAgICAgICAgICAgICAgICAgICAgICAgKiBtb2RlIGFuZCBw YWNrZXQgYWRkcmVzcyBkb2VzIG5vdCBtYXRjaC4gKi8NCj4gPiA+IC0gICAgICAgICAgICAgICAg ICAgICAgIGlmICh1bmxpa2VseShpc19sYWNwX3BhY2tldHMoaGRyLT5ldGhlcl90eXBlLA0KPiA+ ID4gc3VidHlwZSwgYnVmc1tqXSkgfHwNCj4gPiA+ICsgICAgICAgICAgICAgICAgICAgICAgIGlm ICh1bmxpa2VseShpc19sYWNwX3BhY2tldHMoaGRyLT5ldGhlcl90eXBlLA0KPiA+ID4gKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdWJ0eXBlLA0K PiA+ID4gbWJ1Zl9ib3VuY2Vbal0pIHx8DQo+ID4gPiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICFjb2xsZWN0aW5nIHx8ICghcHJvbWlzYyAmJg0KPiA+ID4NCj4gPiA+ICFpc19tdWx0 aWNhc3RfZXRoZXJfYWRkcigmaGRyLT5kX2FkZHIpICYmDQo+ID4gPg0KPiA+ID4gIWlzX3NhbWVf ZXRoZXJfYWRkcigmYm9uZF9tYWMsDQo+ID4gPiAmaGRyLT5kX2FkZHIpKSkpIHsNCj4gPiA+DQo+ ID4gPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChoZHItPmV0aGVyX3R5cGUg PT0NCj4gPiA+IGV0aGVyX3R5cGVfc2xvd19iZSkgew0KPiA+ID4gICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIGJvbmRfbW9kZV84MDIzYWRfaGFuZGxlX3Nsb3dfcGt0KA0K PiA+ID4gLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnRlcm5h bHMsIHNsYXZlc1tpZHhdLA0KPiA+ID4gYnVmc1tqXSk7DQo+ID4gPiArICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludGVybmFscywgc2xhdmVzW2lkeF0sDQo+ID4g PiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1idWZfYm91bmNl W2pdKTsNCj4gPiA+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlDQo+ID4g PiAtICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcnRlX3BrdG1idWZfZnJl ZShidWZzW2pdKTsNCj4gPiA+ICsNCj4gPiA+ICsgcnRlX3BrdG1idWZfZnJlZShtYnVmX2JvdW5j ZVtqXSk7DQo+ID4gPg0KPiA+ID4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBQ YWNrZXQgaXMgbWFuYWdlZCBieSBtb2RlIDQgb3INCj4gPiA+IGRyb3BwZWQsIHNoaWZ0IHRoZSBh cnJheSAqLw0KPiA+ID4gLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBudW1fcnhfdG90 YWwtLTsNCj4gPiA+IC0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGogPCBudW1f cnhfdG90YWwpIHsNCj4gPiA+IC0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBtZW1tb3ZlKCZidWZzW2pdLCAmYnVmc1tqICsgMV0sDQo+ID4gPiBzaXplb2YoYnVmc1swXSkg Kg0KPiA+ID4gLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg KG51bV9yeF90b3RhbCAtIGopKTsNCj4gPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgbnVtX3J4X3NsYXZlLS07DQo+ID4gPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IGlmIChqIDwgbnVtX3J4X3NsYXZlKSB7DQo+ID4gPiArICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgbWVtbW92ZSgmbWJ1Zl9ib3VuY2Vbal0sDQo+ID4gPiArICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmbWJ1Zl9ib3VuY2VbaiArIDFd LA0KPiA+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg c2l6ZW9mKG1idWZfYm91bmNlWzBdKSAqDQo+ID4gPiArICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAobnVtX3J4X3NsYXZlIC0gaikpOw0KPiA+ID4gICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICB9DQo+ID4gPiAtICAgICAgICAgICAgICAgICAgICAg ICB9IGVsc2UNCj4gPiA+ICsgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7DQo+ID4gPiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGorKzsNCj4gPiA+ICsgICAgICAgICAgICAg ICAgICAgICAgIH0NCj4gPiA+ICAgICAgICAgICAgICAgICB9DQo+ID4gPiArDQo+ID4gPiArICAg ICAgICAgICAgICAgaWYgKG51bV9yeF9zbGF2ZSA+IDApIHsNCj4gPiA+ICsgICAgICAgICAgICAg ICAgICAgICAgIGlmIChtYnVmX2JvdW5jZVswXSA9PSBOVUxMKQ0KPiA+ID4gKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBSVEVfTE9HKEVSUiwgUE1ELCAiJXM6IEVucXVldWUgYSBOVUxM Pz9cbiIsDQo+ID4gPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX19m dW5jX18pOw0KPiA+ID4gKw0KPiA+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgbnVtX2VucV9z bGF2ZSA9DQo+ID4gPiBydGVfcmluZ19lbnF1ZXVlX2J1cnN0KGludGVybmFscy0+cnhfcmluZywN Cj4gPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICh2b2lkDQo+ID4gPiAqKiltYnVmX2JvdW5jZSwNCj4gPiA+ICsNCj4gPiA+ IG51bV9yeF9zbGF2ZSwNCj4gPiA+ICsNCj4gPiA+ICsgTlVMTCk7DQo+ID4gPiArDQo+ID4gPiAr ICAgICAgICAgICAgICAgICAgICAgICBpZiAobnVtX2VucV9zbGF2ZSA8IG51bV9yeF9zbGF2ZSkg ew0KPiA+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSVEVfTE9HKEVSUiwgUE1E LA0KPiA+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIlczogZmFp bGVkIHRvIGVucXVldWUgJXUgcGFja2V0cyIsDQo+ID4gPiArICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgX19mdW5jX18sDQo+ID4gPiArICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgKG51bV9yeF9zbGF2ZSAtIG51bV9lbnFfc2xhdmUpKTsNCj4gPiA+ ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yIChqID0gbnVtX2VucV9zbGF2ZTsg aiA8DQo+ID4gPiArIG51bV9yeF9zbGF2ZTsNCj4gPiA+IGorKykNCj4gPiA+ICsgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBydGVfcGt0bWJ1Zl9mcmVlKG1idWZfYm91bmNl W2pdKTsNCj4gPiA+ICsgICAgICAgICAgICAgICAgICAgICAgIH0NCj4gPiA+ICsgICAgICAgICAg ICAgICAgICAgICAgIG51bV9yeF90b3RhbCArPSBudW1fZW5xX3NsYXZlOw0KPiA+ID4gKyAgICAg ICAgICAgICAgIH0NCj4gPiA+ICsNCj4gPiA+ICAgICAgICAgICAgICAgICBpZiAodW5saWtlbHko KytpZHggPT0gc2xhdmVfY291bnQpKQ0KPiA+ID4gICAgICAgICAgICAgICAgICAgICAgICAgaWR4 ID0gMDsNCj4gPiA+ICAgICAgICAgfQ0KPiA+ID4NCj4gPiA+ICAgICAgICAgaW50ZXJuYWxzLT5h Y3RpdmVfc2xhdmUgPSBpZHg7DQo+ID4gPiAtICAgICAgIHJldHVybiBudW1fcnhfdG90YWw7DQo+ ID4gPiArZGVxdWV1ZToNCj4gPiA+ICsgICAgICAgcmV0dXJuIHJ0ZV9yaW5nX2RlcXVldWVfYnVy c3QoaW50ZXJuYWxzLT5yeF9yaW5nLCAodm9pZCAqKilidWZzLA0KPiA+ID4gKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBuYl9wa3RzLCBOVUxMKTsNCj4gPiA+ICB9DQo+ID4g Pg0KPiA+ID4gICNpZiBkZWZpbmVkKFJURV9MSUJSVEVfQk9ORF9ERUJVR19BTEIpIHx8DQo+ID4g PiBkZWZpbmVkKFJURV9MSUJSVEVfQk9ORF9ERUJVR19BTEJfTDEpDQo+ID4gPiBAQCAtMzA2NSw2 ICszMTA5LDcgQEAgYm9uZF9hbGxvYyhzdHJ1Y3QgcnRlX3ZkZXZfZGV2aWNlICpkZXYsDQo+ID4g PiB1aW50OF90DQo+ID4gbW9kZSkNCj4gPiA+ICAgICAgICAgc3RydWN0IGJvbmRfZGV2X3ByaXZh dGUgKmludGVybmFscyA9IE5VTEw7DQo+ID4gPiAgICAgICAgIHN0cnVjdCBydGVfZXRoX2RldiAq ZXRoX2RldiA9IE5VTEw7DQo+ID4gPiAgICAgICAgIHVpbnQzMl90IHZsYW5fZmlsdGVyX2JtcF9z aXplOw0KPiA+ID4gKyAgICAgICBjaGFyIG1lbV9uYW1lW1JURV9FVEhfTkFNRV9NQVhfTEVOXTsN Cj4gPiA+DQo+ID4gPiAgICAgICAgIC8qIG5vdyBkbyBhbGwgZGF0YSBhbGxvY2F0aW9uIC0gZm9y IGV0aF9kZXYgc3RydWN0dXJlLCBkdW1teQ0KPiA+ID4gcGNpIGRyaXZlcg0KPiA+ID4gICAgICAg ICAgKiBhbmQgaW50ZXJuYWwgKHByaXZhdGUpIGRhdGEgQEAgLTMxMjksNiArMzE3NCwxOSBAQA0K PiA+ID4gYm9uZF9hbGxvYyhzdHJ1Y3QgcnRlX3ZkZXZfZGV2aWNlICpkZXYsIHVpbnQ4X3QNCj4g PiA+IG1vZGUpDQo+ID4gPiAgICAgICAgIFRBSUxRX0lOSVQoJmludGVybmFscy0+Zmxvd19saXN0 KTsNCj4gPiA+ICAgICAgICAgaW50ZXJuYWxzLT5mbG93X2lzb2xhdGVkX3ZhbGlkID0gMDsNCj4g PiA+DQo+ID4gPiArICAgICAgIHNucHJpbnRmKG1lbV9uYW1lLCBSVEVfRElNKG1lbV9uYW1lKSwg ImJvbmRfJXVfcngiLA0KPiA+ID4gaW50ZXJuYWxzLT5wb3J0X2lkKTsNCj4gPiA+ICsgICAgICAg aW50ZXJuYWxzLT5yeF9yaW5nID0gcnRlX3JpbmdfbG9va3VwKG1lbV9uYW1lKTsNCj4gPiA+ICsg ICAgICAgaWYgKGludGVybmFscy0+cnhfcmluZyA9PSBOVUxMKSB7DQo+ID4gPiArICAgICAgICAg ICAgICAgaW50ZXJuYWxzLT5yeF9yaW5nID0gcnRlX3JpbmdfY3JlYXRlKG1lbV9uYW1lLA0KPiA+ ID4gKw0KPiA+ID4gcnRlX2FsaWduMzJwb3cyKFBNRF9CT05EX1JFQ1ZfUklOR19QS1RTICoNCj4g PiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg cnRlX2xjb3JlX2NvdW50KCkpLA0KPiA+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHNvY2tldF9pZCwgMCk7DQo+ID4gPiArICAgICAgICAgICAgICAgaWYgKGludGVybmFs cy0+cnhfcmluZyA9PSBOVUxMKQ0KPiA+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgcnRlX3Bh bmljKCIlczogRmFpbGVkIHRvIGNyZWF0ZSByeCByaW5nICclcyc6DQo+ID4gPiAlc1xuIiwgbmFt ZSwNCj4gPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtZW1fbmFtZSwgcnRl X3N0cmVycm9yKHJ0ZV9lcnJubykpOw0KPiA+ID4gKyAgICAgICB9DQo+ID4gPiArDQo+ID4gPiAr DQo+ID4gPiAgICAgICAgIC8qIFNldCBtb2RlIDQgZGVmYXVsdCBjb25maWd1cmF0aW9uICovDQo+ ID4gPiAgICAgICAgIGJvbmRfbW9kZV84MDIzYWRfc2V0dXAoZXRoX2RldiwgTlVMTCk7DQo+ID4g PiAgICAgICAgIGlmIChib25kX2V0aGRldl9tb2RlX3NldChldGhfZGV2LCBtb2RlKSkgeyBkaWZm IC0tZ2l0DQo+ID4gPiBhL2RyaXZlcnMvbmV0L2JvbmRpbmcvcnRlX2V0aF9ib25kX3ByaXZhdGUu aA0KPiA+ID4gYi9kcml2ZXJzL25ldC9ib25kaW5nL3J0ZV9ldGhfYm9uZF9wcml2YXRlLmgNCj4g PiA+IGluZGV4IDQzZTBlNDQ4ZGYuLjgwMjYxYzZiMTQgMTAwNjQ0DQo+ID4gPiAtLS0gYS9kcml2 ZXJzL25ldC9ib25kaW5nL3J0ZV9ldGhfYm9uZF9wcml2YXRlLmgNCj4gPiA+ICsrKyBiL2RyaXZl cnMvbmV0L2JvbmRpbmcvcnRlX2V0aF9ib25kX3ByaXZhdGUuaA0KPiA+ID4gQEAgLTI2LDYgKzI2 LDggQEANCj4gPiA+ICAjZGVmaW5lIFBNRF9CT05EX0xTQ19QT0xMX1BFUklPRF9LVkFSRw0KPiA+ ICgibHNjX3BvbGxfcGVyaW9kX21zIikNCj4gPiA+ICAjZGVmaW5lIFBNRF9CT05EX0xJTktfVVBf UFJPUF9ERUxBWV9LVkFSRyAgICAgICgidXBfZGVsYXkiKQ0KPiA+ID4gICNkZWZpbmUgUE1EX0JP TkRfTElOS19ET1dOX1BST1BfREVMQVlfS1ZBUkcNCj4gPiAoImRvd25fZGVsYXkiKQ0KPiA+ID4g KyNkZWZpbmUgUE1EX0JPTkRfUkVDVl9SSU5HX1BLVFMgICAgICAgICAgICAgICAgNTEyDQo+ID4g PiArI2RlZmluZSBQTURfQk9ORF9SRUNWX1BLVFNfUEVSX1NMQVZFICAgICAgICAgICAzMg0KPiA+ ID4NCj4gPiA+ICAjZGVmaW5lIFBNRF9CT05EX1hNSVRfUE9MSUNZX0xBWUVSMl9LVkFSRyAgICAg ICgibDIiKQ0KPiA+ID4gICNkZWZpbmUgUE1EX0JPTkRfWE1JVF9QT0xJQ1lfTEFZRVIyM19LVkFS RyAgICAgKCJsMjMiKQ0KPiA+ID4gQEAgLTE3NSw2ICsxNzcsOCBAQCBzdHJ1Y3QgYm9uZF9kZXZf cHJpdmF0ZSB7DQo+ID4gPg0KPiA+ID4gICAgICAgICB2b2lkICp2bGFuX2ZpbHRlcl9ibXBtZW07 ICAgICAgICAgICAgICAgLyogZW5hYmxlZCB2bGFuIGZpbHRlcg0KPiA+ID4gYml0bWFwICovDQo+ ID4gPiAgICAgICAgIHN0cnVjdCBydGVfYml0bWFwICp2bGFuX2ZpbHRlcl9ibXA7DQo+ID4gPiAr DQo+ID4gPiArICAgICAgIHN0cnVjdCBydGVfcmluZyAqcnhfcmluZzsNCj4gPiA+ICB9Ow0KPiA+ ID4NCj4gPiA+ICBleHRlcm4gY29uc3Qgc3RydWN0IGV0aF9kZXZfb3BzIGRlZmF1bHRfZGV2X29w czsNCj4gPiA+IC0tDQo+ID4gPiAyLjE4LjANCj4gPiA+DQo+ID4gPg0K