From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga18.intel.com (mga18.intel.com [134.134.136.126]) by dpdk.org (Postfix) with ESMTP id 0A7AF5A44 for ; Tue, 2 Oct 2018 14:58:52 +0200 (CEST) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga004.jf.intel.com ([10.7.209.38]) by orsmga106.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 02 Oct 2018 05:58:52 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.54,332,1534834800"; d="scan'208";a="237840584" Received: from fmsmsx108.amr.corp.intel.com ([10.18.124.206]) by orsmga004.jf.intel.com with ESMTP; 02 Oct 2018 05:58:51 -0700 Received: from fmsmsx102.amr.corp.intel.com (10.18.124.200) by FMSMSX108.amr.corp.intel.com (10.18.124.206) with Microsoft SMTP Server (TLS) id 14.3.319.2; Tue, 2 Oct 2018 05:58:51 -0700 Received: from fmsmsx117.amr.corp.intel.com ([169.254.3.34]) by FMSMSX102.amr.corp.intel.com ([169.254.10.220]) with mapi id 14.03.0319.002; Tue, 2 Oct 2018 05:58:51 -0700 From: "Wiles, Keith" To: Raslan Darawsheh CC: Thomas Monjalon , "dev@dpdk.org" , Shahaf Shuler , Ori Katz Thread-Topic: [PATCH v3 1/2] net/tap: change queue fd to be pointers to process private Thread-Index: AQHUVlQZuIITwBEvUUKU905O3AO3NKUEkaCAgAes4ICAACmDgA== Date: Tue, 2 Oct 2018 12:58:50 +0000 Message-ID: References: <20180720105742.12669-1-thomas@monjalon.net> <1538047196-13789-1-git-send-email-rasland@mellanox.com> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.251.10.166] Content-Type: text/plain; charset="utf-8" Content-ID: <2B98F38B49D4E441906E3463E3A328FA@intel.com> Content-Transfer-Encoding: base64 MIME-Version: 1.0 Subject: Re: [dpdk-dev] [PATCH v3 1/2] net/tap: change queue fd to be pointers to process private 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, 02 Oct 2018 12:58:53 -0000 DQoNCj4gT24gT2N0IDIsIDIwMTgsIGF0IDU6MzAgQU0sIFJhc2xhbiBEYXJhd3NoZWggPHJhc2xh bmRAbWVsbGFub3guY29tPiB3cm90ZToNCj4gDQo+IEhpLA0KPiANCj4gd2hhdCBJJ20gcmVhbGx5 IGRvaW5nIGlzIHNpbXBseSBkbyBzb21lIHByaXZhdGUgYXJyYXkgZm9yIGFsbCB0aGUgZmQncyB0 aGF0IGVhY2ggcHJvY2VzcyB3aWxsIGFsbG9jYXRlIGl0IHNlcGFyYXRlbHkgd2hpY2ggd2lsbCBh bGxvdyB0aGF0IGVhY2ggcHJvY2VzcyB3aWxsIGJlIA0KPiBhYmxlIHRvIGFjY2VzcyB0aGUgZmQn cyBmb3IgdGhlIHF1ZXVlcyBpbiBvcmRlciBub3QgdG8gb3ZlcndyaXRlIHRoZSBzaGFyZWQgb25l cyBhbmQgaXQncyB3b3JraW5nIGZvciBtZSB0aGlzIHdheS4NCj4gDQo+IE5vdyBjb21pbmcgdG8g eW91ciBjb21tZW50IEknbSBub3Qgc3VyZSBJIGZ1bGx5IHVuZGVyc3RhbmQgaXQgYnV0LCB3aGF0 IHlvdSBhcmUgc3VnZ2VzdGluZyBpcyB0byBjcmVhdGUgYW4gYXJyYXkgd2hpY2ggd2lsbCBiZSBh Y2Nlc3NlZCBieSB0aGUgcHJvY2Vzc19pZCB0byBzdG9yZSB0aGVzZSBmZCdzIGluIGl0Lg0KPiBB cyBmYXIgYXMgSSBrbm93IHdlIGRvbid0IGhhdmUgc29tZXRoaW5nIGFzIHByb2Nlc3NfaWQgaW4g ZHBkayB3ZSBvbmx5IGhhdmUgdGhlIHN5c3RlbSBwcm9jZXNzIGlkIHdoaWNoIGlzIG5vdCByZWxl dmFudCBmb3IgdGhlIGFycmF5IG9mIGZkJ3MuDQo+IA0KPiBQbGVhc2UgY29ycmVjdCBtZSBpZiBJ J20gd3JvbmcsIA0KPiBJIHRoaW5rIHRoaXMgd2F5IHdlJ2xsIGJlIGxpbWl0aW5nIHRoZSBudW1i ZXIgb2Ygc2Vjb25kYXJ5IHByb2Nlc3NlcyB0byBudW1iZXIgb2YgcXVldWVzIGJ5IHRhcC4NCj4g TWVhbndoaWxlLCBpbiBteSBzb2x1dGlvbiB3ZSBkb24ndCBoYXZlIHN1Y2ggbGltaXRhdGlvbi4N Cg0KSSBkaWQgbm90IGV4cGxhaW4gbXlzZWxmIHZlcnkgd2VsbCBpbiB0aGUgcHJldmlvdXMgZW1h aWwgbGV0IG1lIHRyeSBhZ2Fpbi4NCg0KUmlnaHQgbm93IHlvdSBoYXZlIGEgcG9pbnRlciB0byBh biBhbGxvY2F0ZWQgcGllY2Ugb2YgbWVtb3J5IGhvbGRpbmcgdGhlIEZE4oCZcyAgc3RydWN0IHBt ZF9wcm9jZXNzX3ByaXZhdGUgKnByb2Nlc3NfcHJpdmF0ZTsgaWYgd2UgY29udmVydGVkIHRoZSBw b2ludGVyIHRvIGFuIGFycmF5IG9mIHBtZF9wcm9jZXNzX3ByaXZhdGUgc3RydWN0dXJlcyB1c2lu ZyBSVEVfUE1EX1RBUF9NQVhfUVVFVUVTIGFzIGFuIGluZGV4Lg0KDQpzdHJ1Y3QgcG1kX3Byb2Nl c3NfcHJpdmF0ZSB7DQoJaW50IHJ4X2ZkOw0KCWludCB0eF9mZDsNCn07DQoNCnN0YXRpYyBzdHJ1 Y3QgcG1kX3Byb2Nlc3NfcHJpdmF0ZSBwcml2YXRlX3Byb2Nlc3NbUlRFX1BNRF9UQVBfTUFYX1FV RVVFU107IC8qIGVhY2ggcHJvY2VzcyBoYXMgaXRzIG93biBhcnJheSAqLw0KDQpzdHJ1Y3Qgcnhf cXVldWUgKnJ4cSA9IHBtZC0+ZGV2LT5kYXRhLT5yeF9xdWV1ZXNbaV07DQoNCnN0cnVjdCByeF9x dWV1ZSB7DQoJc3RydWN0IHBtZF9wcm9jZXNzX3ByaXZhdGUgKnByaXY7CS8vIHJ4cS0+cHJpdiA9 ICZwcml2YXRlX3Byb2Nlc3NbcnhfcXVldWVfaWR4XTsNCi4gLiAuDQp9Ow0KDQpyeHEtPnByaXYt PnJ4X2ZkOyAvLyBpbnN0ZWFkIG9mIHRoZSAqcnhxLT5mZCBzZWVtcyBzaG9ydGVyIGJ1dCBsZXNz IGNsZWFyIHRvIG1lDQoNCkFueXdheSBteSBlbWFpbCBjb21waWxlciBpcyBub3QgdmVyeSBnb29k IGFuZCBtYXliZSB0aGlzIHdpbGwgbm90IHdvcmsuDQoNCldlIGNhbiBsZWF2ZSB0aGUgY3VycmVu dCBkZXNpZ24gaW4gcGxhY2UgZm9yIG5vdywgdGlsbCBJIGhhdmUgdGltZSB0byByZWFsbHkgbG9v ayBhdCBkb2luZyBhIFBvQyBmb3IgbXkgc3VnZ2VzdGlvbi4NCg0KPiANCj4gS2luZGVzdCByZWdh cmRzLA0KPiBSYXNsYW4gRGFyYXdzaGVoDQo+IA0KPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0t LQ0KPiBGcm9tOiBXaWxlcywgS2VpdGggPGtlaXRoLndpbGVzQGludGVsLmNvbT4gDQo+IFNlbnQ6 IFRodXJzZGF5LCBTZXB0ZW1iZXIgMjcsIDIwMTggNDoxOCBQTQ0KPiBUbzogUmFzbGFuIERhcmF3 c2hlaCA8cmFzbGFuZEBtZWxsYW5veC5jb20+DQo+IENjOiBUaG9tYXMgTW9uamFsb24gPHRob21h c0Btb25qYWxvbi5uZXQ+OyBkZXZAZHBkay5vcmc7IFNoYWhhZiBTaHVsZXIgPHNoYWhhZnNAbWVs bGFub3guY29tPjsgT3JpIEthdHogPG9yaWtAbWVsbGFub3guY29tPg0KPiBTdWJqZWN0OiBSZTog W1BBVENIIHYzIDEvMl0gbmV0L3RhcDogY2hhbmdlIHF1ZXVlIGZkIHRvIGJlIHBvaW50ZXJzIHRv IHByb2Nlc3MgcHJpdmF0ZQ0KPiANCj4gDQo+IA0KPj4gT24gU2VwIDI3LCAyMDE4LCBhdCA2OjE5 IEFNLCBSYXNsYW4gRGFyYXdzaGVoIDxyYXNsYW5kQG1lbGxhbm94LmNvbT4gd3JvdGU6DQo+PiAN Cj4+IGNoYW5nZSB0aGUgZmRzIGZvciB0aGUgcXVldWVzIHRvIGJlIHBvaW50ZXJzIGFuZCBhZGQg bmV3IHByb2Nlc3MgDQo+PiBwcml2YXRlIHN0cnVjdHVyZSBhbmQgbWFrZSB0aGUgcXVldWUgZmRz IHBvaW50IHRvIGl0Lg0KPj4gDQo+PiBTaWduZWQtb2ZmLWJ5OiBSYXNsYW4gRGFyYXdzaGVoIDxy YXNsYW5kQG1lbGxhbm94LmNvbT4NCj4+IC0tLQ0KPj4gZHJpdmVycy9uZXQvdGFwL3J0ZV9ldGhf dGFwLmMgfCA2MyANCj4+ICsrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0t LS0NCj4+IGRyaXZlcnMvbmV0L3RhcC9ydGVfZXRoX3RhcC5oIHwgIDkgKysrKystLQ0KPj4gZHJp dmVycy9uZXQvdGFwL3RhcF9pbnRyLmMgICAgfCAgNCArLS0NCj4+IDMgZmlsZXMgY2hhbmdlZCwg NDQgaW5zZXJ0aW9ucygrKSwgMzIgZGVsZXRpb25zKC0pDQo+PiANCj4+IGRpZmYgLS1naXQgYS9k cml2ZXJzL25ldC90YXAvcnRlX2V0aF90YXAuYyANCj4+IGIvZHJpdmVycy9uZXQvdGFwL3J0ZV9l dGhfdGFwLmMgaW5kZXggYWQ1YWU5OC4uOGNjNDU1MiAxMDA2NDQNCj4+IC0tLSBhL2RyaXZlcnMv bmV0L3RhcC9ydGVfZXRoX3RhcC5jDQo+PiArKysgYi9kcml2ZXJzL25ldC90YXAvcnRlX2V0aF90 YXAuYw0KPj4gQEAgLTY0LDYgKzY0LDcgQEANCj4+IA0KPj4gc3RhdGljIHN0cnVjdCBydGVfdmRl dl9kcml2ZXIgcG1kX3RhcF9kcnY7IHN0YXRpYyBzdHJ1Y3QgDQo+PiBydGVfdmRldl9kcml2ZXIg cG1kX3R1bl9kcnY7DQo+PiArc3RhdGljIHN0cnVjdCBwbWRfcHJvY2Vzc19wcml2YXRlICpwcm9j ZXNzX3ByaXZhdGU7DQo+IA0KPiBNYXliZSBJIGRvIG5vdCBzZWUgc29tZSBtaW5vciBwb2ludCBm b3IgbWFraW5nIGZkIGEgcG9pbnRlciB0byBmZCB3aGVuIHdlIGNvdWxkIGhhdmUgYW4gYXJyYXkg b2YgcHJvY2Vzc19wcml2YXRlW1JURV9QTURfVEFQX01BWF9RVUVVRVNdIGluc3RlYWQgb2YgYSBw b2ludGVyIHR5cGUgaGVyZS4gVGhlbiB3ZSBkbyBub3QgbmVlZCB0byBhbGxvY2F0ZSB0aGUgbWVt b3J5IGVhY2ggUE1EIGFuZCB0aGV5IHdvdWxkIHN0aWxsIGhhdmUgYSBwcml2YXRlIGNvcHkuIFJl bW92ZSB0aGUgYXJyYXkgb2YgcngvdHggZmRzIGluIHRoZSBzdHJ1Y3R1cmUuIFRoaXMgd2F5IGl0 IGFwcGVhcnMgd2UgY2FuIHJlbW92ZSB0aGUgY29kZSBiZWxvdyB0aGF0IGlzIG1ha2luZyBmZCBh IHBvaW50ZXIgdG8gZmQuIEl0IGp1c3Qgc2VlbXMgb3Zlcmx5IGNvbXBsZXggdG8gbWUgYXQgdGhl IGNvc3Qgb2YgYSBmZXcgbW9yZSBieXRlcyBvZiBtZW1vcnkuDQo+IA0KPiBUaGlzIHdvdWxkIHJl bW92ZSBpbnQgZmQ7IGZyb20gdGhlIHN0cnVjdHVyZSBhbmQgYWRkIGEgcG9pbnRlciB0byB0aGUg cGlkX3Byb2Nlc3NfcHJpdmF0ZSBpbnN0ZWFkLCB3aGljaCBpcyBwcml2YXRlIGJ5IGRlZmF1bHQu DQo+IA0KPiBEaWQgSSBtaXNzIHNvbWUgZGV0YWlsIGhlcmUgdGhhdCBtYWtlcyBteSBjb21tZW50 IHdyb25nPw0KPiANCj4+IA0KPj4gc3RhdGljIGNvbnN0IGNoYXIgKnZhbGlkX2FyZ3VtZW50c1td ID0gew0KPj4gCUVUSF9UQVBfSUZBQ0VfQVJHLA0KPj4gQEAgLTMzMSw3ICszMzIsNyBAQCBwbWRf cnhfYnVyc3Qodm9pZCAqcXVldWUsIHN0cnVjdCBydGVfbWJ1ZiAqKmJ1ZnMsIHVpbnQxNl90IG5i X3BrdHMpDQo+PiAJCXVpbnQxNl90IGRhdGFfb2ZmID0gcnRlX3BrdG1idWZfaGVhZHJvb20obWJ1 Zik7DQo+PiAJCWludCBsZW47DQo+PiANCj4+IC0JCWxlbiA9IHJlYWR2KHJ4cS0+ZmQsICpyeHEt PmlvdmVjcywNCj4+ICsJCWxlbiA9IHJlYWR2KCpyeHEtPmZkLCAqcnhxLT5pb3ZlY3MsDQo+PiAJ CQkgICAgMSArDQo+PiAJCQkgICAgKHJ4cS0+cnhtb2RlLT5vZmZsb2FkcyAmIERFVl9SWF9PRkZM T0FEX1NDQVRURVIgPw0KPj4gCQkJICAgICByeHEtPm5iX3J4X2Rlc2MgOiAxKSk7DQo+PiBAQCAt NTk1LDcgKzU5Niw3IEBAIHRhcF93cml0ZV9tYnVmcyhzdHJ1Y3QgdHhfcXVldWUgKnR4cSwgdWlu dDE2X3QgbnVtX21idWZzLA0KPj4gCQkJdGFwX3R4X2w0X2Nrc3VtKGw0X2Nrc3VtLCBsNF9waGRy X2Nrc3VtLCBsNF9yYXdfY2tzdW0pOw0KPj4gDQo+PiAJCS8qIGNvcHkgdGhlIHR4IGZyYW1lIGRh dGEgKi8NCj4+IC0JCW4gPSB3cml0ZXYodHhxLT5mZCwgaW92ZWNzLCBqKTsNCj4+ICsJCW4gPSB3 cml0ZXYoKnR4cS0+ZmQsIGlvdmVjcywgaik7DQo+PiAJCWlmIChuIDw9IDApDQo+PiAJCQlicmVh azsNCj4+IAkJKCpudW1fcGFja2V0cykrKzsNCj4+IEBAIC05NzYsMTMgKzk3NywxMyBAQCB0YXBf ZGV2X2Nsb3NlKHN0cnVjdCBydGVfZXRoX2RldiAqZGV2KQ0KPj4gCXRhcF9mbG93X2ltcGxpY2l0 X2ZsdXNoKGludGVybmFscywgTlVMTCk7DQo+PiANCj4+IAlmb3IgKGkgPSAwOyBpIDwgUlRFX1BN RF9UQVBfTUFYX1FVRVVFUzsgaSsrKSB7DQo+PiAtCQlpZiAoaW50ZXJuYWxzLT5yeHFbaV0uZmQg IT0gLTEpIHsNCj4+IC0JCQljbG9zZShpbnRlcm5hbHMtPnJ4cVtpXS5mZCk7DQo+PiAtCQkJaW50 ZXJuYWxzLT5yeHFbaV0uZmQgPSAtMTsNCj4+ICsJCWlmICgqaW50ZXJuYWxzLT5yeHFbaV0uZmQg IT0gLTEpIHsNCj4+ICsJCQljbG9zZSgqaW50ZXJuYWxzLT5yeHFbaV0uZmQpOw0KPj4gKwkJCSpp bnRlcm5hbHMtPnJ4cVtpXS5mZCA9IC0xOw0KPj4gCQl9DQo+PiAtCQlpZiAoaW50ZXJuYWxzLT50 eHFbaV0uZmQgIT0gLTEpIHsNCj4+IC0JCQljbG9zZShpbnRlcm5hbHMtPnR4cVtpXS5mZCk7DQo+ PiAtCQkJaW50ZXJuYWxzLT50eHFbaV0uZmQgPSAtMTsNCj4+ICsJCWlmICgqaW50ZXJuYWxzLT50 eHFbaV0uZmQgIT0gLTEpIHsNCj4+ICsJCQljbG9zZSgqaW50ZXJuYWxzLT50eHFbaV0uZmQpOw0K Pj4gKwkJCSppbnRlcm5hbHMtPnR4cVtpXS5mZCA9IC0xOw0KPj4gCQl9DQo+PiAJfQ0KPj4gDQo+ PiBAQCAtMTAwNyw5ICsxMDA4LDkgQEAgdGFwX3J4X3F1ZXVlX3JlbGVhc2Uodm9pZCAqcXVldWUp IHsNCj4+IAlzdHJ1Y3QgcnhfcXVldWUgKnJ4cSA9IHF1ZXVlOw0KPj4gDQo+PiAtCWlmIChyeHEg JiYgKHJ4cS0+ZmQgPiAwKSkgew0KPj4gLQkJY2xvc2UocnhxLT5mZCk7DQo+PiAtCQlyeHEtPmZk ID0gLTE7DQo+PiArCWlmIChyeHEgJiYgcnhxLT5mZCAmJiAoKnJ4cS0+ZmQgPiAwKSkgew0KPj4g KwkJY2xvc2UoKnJ4cS0+ZmQpOw0KPj4gKwkJKnJ4cS0+ZmQgPSAtMTsNCj4+IAkJcnRlX3BrdG1i dWZfZnJlZShyeHEtPnBvb2wpOw0KPj4gCQlydGVfZnJlZShyeHEtPmlvdmVjcyk7DQo+PiAJCXJ4 cS0+cG9vbCA9IE5VTEw7DQo+PiBAQCAtMTAyMiw5ICsxMDIzLDkgQEAgdGFwX3R4X3F1ZXVlX3Jl bGVhc2Uodm9pZCAqcXVldWUpIHsNCj4+IAlzdHJ1Y3QgdHhfcXVldWUgKnR4cSA9IHF1ZXVlOw0K Pj4gDQo+PiAtCWlmICh0eHEgJiYgKHR4cS0+ZmQgPiAwKSkgew0KPj4gLQkJY2xvc2UodHhxLT5m ZCk7DQo+PiAtCQl0eHEtPmZkID0gLTE7DQo+PiArCWlmICh0eHEgJiYgdHhxLT5mZCAmJiAoKnR4 cS0+ZmQgPiAwKSkgew0KPj4gKwkJY2xvc2UoKnR4cS0+ZmQpOw0KPj4gKwkJKnR4cS0+ZmQgPSAt MTsNCj4+IAl9DQo+PiB9DQo+PiANCj4+IEBAIC0xMjE0LDEzICsxMjE1LDEzIEBAIHRhcF9zZXR1 cF9xdWV1ZShzdHJ1Y3QgcnRlX2V0aF9kZXYgKmRldiwNCj4+IAlzdHJ1Y3QgcnRlX2dzb19jdHgg Kmdzb19jdHg7DQo+PiANCj4+IAlpZiAoaXNfcngpIHsNCj4+IC0JCWZkID0gJnJ4LT5mZDsNCj4+ IC0JCW90aGVyX2ZkID0gJnR4LT5mZDsNCj4+ICsJCWZkID0gcngtPmZkOw0KPj4gKwkJb3RoZXJf ZmQgPSB0eC0+ZmQ7DQo+PiAJCWRpciA9ICJyeCI7DQo+PiAJCWdzb19jdHggPSBOVUxMOw0KPj4g CX0gZWxzZSB7DQo+PiAtCQlmZCA9ICZ0eC0+ZmQ7DQo+PiAtCQlvdGhlcl9mZCA9ICZyeC0+ZmQ7 DQo+PiArCQlmZCA9IHR4LT5mZDsNCj4+ICsJCW90aGVyX2ZkID0gcngtPmZkOw0KPj4gCQlkaXIg PSAidHgiOw0KPj4gCQlnc29fY3R4ID0gJnR4LT5nc29fY3R4Ow0KPj4gCX0NCj4+IEBAIC0xMzMx LDcgKzEzMzIsNyBAQCB0YXBfcnhfcXVldWVfc2V0dXAoc3RydWN0IHJ0ZV9ldGhfZGV2ICpkZXYs DQo+PiAJfQ0KPj4gDQo+PiAJVEFQX0xPRyhERUJVRywgIiAgUlggVFVOVEFQIGRldmljZSBuYW1l ICVzLCBxaWQgJWQgb24gZmQgJWQiLA0KPj4gLQkJaW50ZXJuYWxzLT5uYW1lLCByeF9xdWV1ZV9p ZCwgaW50ZXJuYWxzLT5yeHFbcnhfcXVldWVfaWRdLmZkKTsNCj4+ICsJCWludGVybmFscy0+bmFt ZSwgcnhfcXVldWVfaWQsICppbnRlcm5hbHMtPnJ4cVtyeF9xdWV1ZV9pZF0uZmQpOw0KPj4gDQo+ PiAJcmV0dXJuIDA7DQo+PiANCj4+IEBAIC0xMzcxLDcgKzEzNzIsNyBAQCB0YXBfdHhfcXVldWVf c2V0dXAoc3RydWN0IHJ0ZV9ldGhfZGV2ICpkZXYsDQo+PiAJCXJldHVybiAtMTsNCj4+IAlUQVBf TE9HKERFQlVHLA0KPj4gCQkiICBUWCBUVU5UQVAgZGV2aWNlIG5hbWUgJXMsIHFpZCAlZCBvbiBm ZCAlZCBjc3VtICVzIiwNCj4+IC0JCWludGVybmFscy0+bmFtZSwgdHhfcXVldWVfaWQsIGludGVy bmFscy0+dHhxW3R4X3F1ZXVlX2lkXS5mZCwNCj4+ICsJCWludGVybmFscy0+bmFtZSwgdHhfcXVl dWVfaWQsICppbnRlcm5hbHMtPnR4cVt0eF9xdWV1ZV9pZF0uZmQsDQo+PiAJCXR4cS0+Y3N1bSA/ ICJvbiIgOiAib2ZmIik7DQo+PiANCj4+IAlyZXR1cm4gMDsNCj4+IEBAIC0xNjMzLDYgKzE2MzQs MTAgQEAgZXRoX2Rldl90YXBfY3JlYXRlKHN0cnVjdCBydGVfdmRldl9kZXZpY2UgKnZkZXYsIGNo YXIgKnRhcF9uYW1lLA0KPj4gCQlnb3RvIGVycm9yX2V4aXRfbm9kZXY7DQo+PiAJfQ0KPj4gDQo+ PiArCXByb2Nlc3NfcHJpdmF0ZSA9IChzdHJ1Y3QgcG1kX3Byb2Nlc3NfcHJpdmF0ZSAqKQ0KPj4g KwkJcnRlX3ptYWxsb2Nfc29ja2V0KHRhcF9uYW1lLCBzaXplb2Yoc3RydWN0IHBtZF9wcm9jZXNz X3ByaXZhdGUpLA0KPj4gKwkJCVJURV9DQUNIRV9MSU5FX1NJWkUsIGRldi0+ZGV2aWNlLT5udW1h X25vZGUpOw0KPj4gKw0KPj4gCXBtZCA9IGRldi0+ZGF0YS0+ZGV2X3ByaXZhdGU7DQo+PiAJcG1k LT5kZXYgPSBkZXY7DQo+PiAJc25wcmludGYocG1kLT5uYW1lLCBzaXplb2YocG1kLT5uYW1lKSwg IiVzIiwgdGFwX25hbWUpOyBAQCAtMTY2OSw4IA0KPj4gKzE2NzQsMTAgQEAgZXRoX2Rldl90YXBf Y3JlYXRlKHN0cnVjdCBydGVfdmRldl9kZXZpY2UgKnZkZXYsIGNoYXIgKnRhcF9uYW1lLA0KPj4g CS8qIFByZXNldHVwIHRoZSBmZHMgdG8gLTEgYXMgYmVpbmcgbm90IHZhbGlkICovDQo+PiAJcG1k LT5rYV9mZCA9IC0xOw0KPj4gCWZvciAoaSA9IDA7IGkgPCBSVEVfUE1EX1RBUF9NQVhfUVVFVUVT OyBpKyspIHsNCj4+IC0JCXBtZC0+cnhxW2ldLmZkID0gLTE7DQo+PiAtCQlwbWQtPnR4cVtpXS5m ZCA9IC0xOw0KPj4gKwkJcHJvY2Vzc19wcml2YXRlLT5yeHFfZmRzW2ldID0gLTE7DQo+PiArCQlw cm9jZXNzX3ByaXZhdGUtPnR4cV9mZHNbaV0gPSAtMTsNCj4+ICsJCXBtZC0+cnhxW2ldLmZkID0g JnByb2Nlc3NfcHJpdmF0ZS0+cnhxX2Zkc1tpXTsNCj4+ICsJCXBtZC0+dHhxW2ldLmZkID0gJnBy b2Nlc3NfcHJpdmF0ZS0+dHhxX2Zkc1tpXTsNCj4+IAl9DQo+PiANCj4+IAlpZiAocG1kLT50eXBl ID09IEVUSF9UVU5UQVBfVFlQRV9UQVApIHsgQEAgLTIwODksMTMgKzIwOTYsMTMgQEAgDQo+PiBy dGVfcG1kX3RhcF9yZW1vdmUoc3RydWN0IHJ0ZV92ZGV2X2RldmljZSAqZGV2KQ0KPj4gCQl0YXBf bmxfZmluYWwoaW50ZXJuYWxzLT5ubHNrX2ZkKTsNCj4+IAl9DQo+PiAJZm9yIChpID0gMDsgaSA8 IFJURV9QTURfVEFQX01BWF9RVUVVRVM7IGkrKykgew0KPj4gLQkJaWYgKGludGVybmFscy0+cnhx W2ldLmZkICE9IC0xKSB7DQo+PiAtCQkJY2xvc2UoaW50ZXJuYWxzLT5yeHFbaV0uZmQpOw0KPj4g LQkJCWludGVybmFscy0+cnhxW2ldLmZkID0gLTE7DQo+PiArCQlpZiAoKmludGVybmFscy0+cnhx W2ldLmZkICE9IC0xKSB7DQo+PiArCQkJY2xvc2UoKmludGVybmFscy0+cnhxW2ldLmZkKTsNCj4+ ICsJCQkqaW50ZXJuYWxzLT5yeHFbaV0uZmQgPSAtMTsNCj4+IAkJfQ0KPj4gLQkJaWYgKGludGVy bmFscy0+dHhxW2ldLmZkICE9IC0xKSB7DQo+PiAtCQkJY2xvc2UoaW50ZXJuYWxzLT50eHFbaV0u ZmQpOw0KPj4gLQkJCWludGVybmFscy0+dHhxW2ldLmZkID0gLTE7DQo+PiArCQlpZiAoKmludGVy bmFscy0+dHhxW2ldLmZkICE9IC0xKSB7DQo+PiArCQkJY2xvc2UoKmludGVybmFscy0+dHhxW2ld LmZkKTsNCj4+ICsJCQkqaW50ZXJuYWxzLT50eHFbaV0uZmQgPSAtMTsNCj4+IAkJfQ0KPj4gCX0N Cj4+IA0KPj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L3RhcC9ydGVfZXRoX3RhcC5oIA0KPj4g Yi9kcml2ZXJzL25ldC90YXAvcnRlX2V0aF90YXAuaCBpbmRleCA0NGUyNzczLi40MTQ2ZjVjIDEw MDY0NA0KPj4gLS0tIGEvZHJpdmVycy9uZXQvdGFwL3J0ZV9ldGhfdGFwLmgNCj4+ICsrKyBiL2Ry aXZlcnMvbmV0L3RhcC9ydGVfZXRoX3RhcC5oDQo+PiBAQCAtNDYsNyArNDYsNyBAQCBzdHJ1Y3Qg cnhfcXVldWUgew0KPj4gCXN0cnVjdCBydGVfbWVtcG9vbCAqbXA7ICAgICAgICAgLyogTWVtcG9v bCBmb3IgUlggcGFja2V0cyAqLw0KPj4gCXVpbnQzMl90IHRyaWdnZXJfc2VlbjsgICAgICAgICAg LyogTGFzdCBzZWVuIFJ4IHRyaWdnZXIgdmFsdWUgKi8NCj4+IAl1aW50MTZfdCBpbl9wb3J0OyAg ICAgICAgICAgICAgIC8qIFBvcnQgSUQgKi8NCj4+IC0JaW50IGZkOw0KPj4gKwlpbnQgKmZkOw0K Pj4gCXN0cnVjdCBwa3Rfc3RhdHMgc3RhdHM7ICAgICAgICAgLyogU3RhdHMgZm9yIHRoaXMgUlgg cXVldWUgKi8NCj4+IAl1aW50MTZfdCBuYl9yeF9kZXNjOyAgICAgICAgICAgIC8qIG1heCBudW1i ZXIgb2YgbWJ1ZnMgYXZhaWxhYmxlICovDQo+PiAJc3RydWN0IHJ0ZV9ldGhfcnhtb2RlICpyeG1v ZGU7ICAvKiBSWCBmZWF0dXJlcyAqLyBAQCAtNTYsNyArNTYsNyBAQCANCj4+IHN0cnVjdCByeF9x dWV1ZSB7IH07DQo+PiANCj4+IHN0cnVjdCB0eF9xdWV1ZSB7DQo+PiAtCWludCBmZDsNCj4+ICsJ aW50ICpmZDsNCj4+IAlpbnQgdHlwZTsgICAgICAgICAgICAgICAgICAgICAgIC8qIFR5cGUgZmll bGQgLSBUVU58VEFQICovDQo+PiAJdWludDE2X3QgKm10dTsgICAgICAgICAgICAgICAgICAvKiBQ b2ludGVyIHRvIE1UVSBmcm9tIGRldl9kYXRhICovDQo+PiAJdWludDE2X3QgY3N1bToxOyAgICAg ICAgICAgICAgICAvKiBFbmFibGUgY2hlY2tzdW0gb2ZmbG9hZGluZyAqLw0KPj4gQEAgLTkyLDYg KzkyLDExIEBAIHN0cnVjdCBwbWRfaW50ZXJuYWxzIHsNCj4+IAlpbnQga2FfZmQ7ICAgICAgICAg ICAgICAgICAgICAgICAgLyoga2VlcC1hbGl2ZSBmaWxlIGRlc2NyaXB0b3IgKi8NCj4+IH07DQo+ PiANCj4+ICtzdHJ1Y3QgcG1kX3Byb2Nlc3NfcHJpdmF0ZSB7DQo+PiArCWludCByeHFfZmRzW1JU RV9QTURfVEFQX01BWF9RVUVVRVNdOw0KPj4gKwlpbnQgdHhxX2Zkc1tSVEVfUE1EX1RBUF9NQVhf UVVFVUVTXTsgfTsNCj4+ICsNCj4+IC8qIHRhcF9pbnRyLmMgKi8NCj4+IA0KPj4gaW50IHRhcF9y eF9pbnRyX3ZlY19zZXQoc3RydWN0IHJ0ZV9ldGhfZGV2ICpkZXYsIGludCBzZXQpOyBkaWZmIC0t Z2l0IA0KPj4gYS9kcml2ZXJzL25ldC90YXAvdGFwX2ludHIuYyBiL2RyaXZlcnMvbmV0L3RhcC90 YXBfaW50ci5jIGluZGV4IA0KPj4gZmM1OTAxOC4uYTRiMjEyZCAxMDA2NDQNCj4+IC0tLSBhL2Ry aXZlcnMvbmV0L3RhcC90YXBfaW50ci5jDQo+PiArKysgYi9kcml2ZXJzL25ldC90YXAvdGFwX2lu dHIuYw0KPj4gQEAgLTcxLDcgKzcxLDcgQEAgdGFwX3J4X2ludHJfdmVjX2luc3RhbGwoc3RydWN0 IHJ0ZV9ldGhfZGV2ICpkZXYpDQo+PiAJCXN0cnVjdCByeF9xdWV1ZSAqcnhxID0gcG1kLT5kZXYt PmRhdGEtPnJ4X3F1ZXVlc1tpXTsNCj4+IA0KPj4gCQkvKiBTa2lwIHF1ZXVlcyB0aGF0IGNhbm5v dCByZXF1ZXN0IGludGVycnVwdHMuICovDQo+PiAtCQlpZiAoIXJ4cSB8fCByeHEtPmZkIDw9IDAp IHsNCj4+ICsJCWlmICghcnhxIHx8ICFyeHEtPmZkIHx8ICpyeHEtPmZkIDw9IDApIHsNCj4+IAkJ CS8qIFVzZSBpbnZhbGlkIGludHJfdmVjW10gaW5kZXggdG8gZGlzYWJsZSBlbnRyeS4gKi8NCj4+ IAkJCWludHJfaGFuZGxlLT5pbnRyX3ZlY1tpXSA9DQo+PiAJCQkJUlRFX0lOVFJfVkVDX1JYVFhf T0ZGU0VUICsNCj4+IEBAIC03OSw3ICs3OSw3IEBAIHRhcF9yeF9pbnRyX3ZlY19pbnN0YWxsKHN0 cnVjdCBydGVfZXRoX2RldiAqZGV2KQ0KPj4gCQkJY29udGludWU7DQo+PiAJCX0NCj4+IAkJaW50 cl9oYW5kbGUtPmludHJfdmVjW2ldID0gUlRFX0lOVFJfVkVDX1JYVFhfT0ZGU0VUICsgY291bnQ7 DQo+PiAtCQlpbnRyX2hhbmRsZS0+ZWZkc1tjb3VudF0gPSByeHEtPmZkOw0KPj4gKwkJaW50cl9o YW5kbGUtPmVmZHNbY291bnRdID0gKnJ4cS0+ZmQ7DQo+PiAJCWNvdW50Kys7DQo+PiAJfQ0KPj4g CWlmICghY291bnQpDQo+PiAtLQ0KPj4gMi43LjQNCj4+IA0KPiANCj4gUmVnYXJkcywNCj4gS2Vp dGgNCj4gDQoNClJlZ2FyZHMsDQpLZWl0aA0KDQo=