From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by dpdk.org (Postfix) with ESMTP id 04A0AC47E for ; Thu, 30 Jul 2015 11:01:13 +0200 (CEST) Received: from orsmga001.jf.intel.com ([10.7.209.18]) by fmsmga101.fm.intel.com with ESMTP; 30 Jul 2015 02:01:12 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.15,576,1432623600"; d="scan'208";a="738662059" Received: from irsmsx153.ger.corp.intel.com ([163.33.192.75]) by orsmga001.jf.intel.com with ESMTP; 30 Jul 2015 02:01:11 -0700 Received: from irsmsx105.ger.corp.intel.com ([169.254.7.223]) by IRSMSX153.ger.corp.intel.com ([169.254.9.59]) with mapi id 14.03.0224.002; Thu, 30 Jul 2015 10:00:40 +0100 From: "Ananyev, Konstantin" To: Olivier MATZ , "Zhang, Helin" , Martin Weiser Thread-Topic: [dpdk-dev] Issue with non-scattered rx in ixgbe and i40e when mbuf private area size is odd Thread-Index: AQHQyhBbcJ5kz811kUqP+U4E1qdbJZ3ymcUggAA6ZYCAAMXhgIAAHVGA Date: Thu, 30 Jul 2015 09:00:40 +0000 Message-ID: <2601191342CEEE43887BDE71AB97725836A6A082@irsmsx105.ger.corp.intel.com> References: <55B8EC16.60404@allegro-packets.com> <2601191342CEEE43887BDE71AB97725836A69E3D@irsmsx105.ger.corp.intel.com> <55B9DC69.3080508@6wind.com> In-Reply-To: <55B9DC69.3080508@6wind.com> Accept-Language: en-IE, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [163.33.239.182] Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 Cc: "dev@dpdk.org" Subject: Re: [dpdk-dev] Issue with non-scattered rx in ixgbe and i40e when mbuf private area size is odd X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 30 Jul 2015 09:01:14 -0000 SGkgT2xpdmllciwNCg0KPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBPbGl2 aWVyIE1BVFogW21haWx0bzpvbGl2aWVyLm1hdHpANndpbmQuY29tXQ0KPiBTZW50OiBUaHVyc2Rh eSwgSnVseSAzMCwgMjAxNSA5OjEyIEFNDQo+IFRvOiBaaGFuZywgSGVsaW47IEFuYW55ZXYsIEtv bnN0YW50aW47IE1hcnRpbiBXZWlzZXINCj4gQ2M6IGRldkBkcGRrLm9yZw0KPiBTdWJqZWN0OiBS ZTogW2RwZGstZGV2XSBJc3N1ZSB3aXRoIG5vbi1zY2F0dGVyZWQgcnggaW4gaXhnYmUgYW5kIGk0 MGUgd2hlbiBtYnVmIHByaXZhdGUgYXJlYSBzaXplIGlzIG9kZA0KPiANCj4gSGksDQo+IA0KPiBP biAwNy8yOS8yMDE1IDEwOjI0IFBNLCBaaGFuZywgSGVsaW4gd3JvdGU6DQo+ID4gSGkgTWFydGlu DQo+ID4NCj4gPiBUaGFuayB5b3UgdmVyeSBtdWNoIGZvciB0aGUgZ29vZCBjYXRjaCENCj4gPg0K PiA+IFRoZSBzaW1pbGFyIHNpdHVhdGlvbiBpbiBpNDBlLCBhcyBleHBsYWluZWQgYnkgS29uc3Rh bnRpbi4NCj4gPiBBcyBoZWFkZXIgc3BsaXQgaGFzbid0IGJlZW4gc3VwcG9ydGVkIGJ5IERQREsg dGlsbCBub3cuIEl0IHdvdWxkIGJlIGJldHRlciB0byBwdXQgdGhlIGhlYWRlciBhZGRyZXNzIGlu IFJYIGRlc2NyaXB0b3IgdG8gMC4NCj4gPiBCdXQgaW4gdGhlIGZ1dHVyZSwgZHVyaW5nIGhlYWRl ciBzcGxpdCBlbmFibGluZy4gV2UgbWF5IG5lZWQgdG8gcGF5IGV4dHJhIGF0dGVudGlvbiB0byB0 aGF0LiBBcyBhdCBsZWFzdCB4NzEwIGRhdGFzaGVldCBzYWlkDQo+IHNwZWNpZmljYWxseSBhcyBi ZWxvdy4NCj4gPiAiVGhlIGhlYWRlciBhZGRyZXNzIHNob3VsZCBiZSBzZXQgYnkgdGhlIHNvZnR3 YXJlIHRvIGFuIGV2ZW4gbnVtYmVyICh3b3JkIGFsaWduZWQgYWRkcmVzcykiLiBXZSBtYXkgbmVl ZCB0byBmaW5kIGEgd2F5IHRvDQo+IGVuc3VyZSB0aGF0IGR1cmluZyBtZW1wb29sL21idWYgYWxs b2NhdGlvbi4NCj4gDQo+IEluZGVlZCBpdCB3b3VsZCBiZSBnb29kIHRvIGZvcmNlIHRoZSBwcml2 X3NpemUgdG8gYmUgYWxpZ25lZC4NCj4gDQo+IFRoZSBwcml2X3NpemUgY291bGQgYmUgYWxpZ25l ZCBhdXRvbWF0aWNhbGx5IGluDQo+IHJ0ZV9wa3RtYnVmX3Bvb2xfY3JlYXRlKCkuIFRoZSBvbmx5 IHBvc3NpYmxlIHByb2JsZW0gSSBjb3VsZCBzZWUNCj4gaXMgdGhhdCBpdCB3b3VsZCBicmVhayBh cHBsaWNhdGlvbnMgdGhhdCBhY2Nlc3MgdG8gdGhlIGRhdGEgYnVmZmVyDQo+IGJ5IGRvaW5nIChz aXplb2YobWJ1ZikgKyBzaXplb2YocHJpdikpLCB3aGljaCBpcyBwcm9iYWJseSBub3QgdGhlDQo+ IGJlc3QgdGhpbmcgdG8gZG8gKEkgZGlkbid0IGZpbmQgYW55IGFwcGxpY2F0aW9ucyBsaWtlIHRo aXMgaW4gZHBkaykuDQoNCg0KTWlnaHQgYmUganVzdCBtYWtlIHJ0ZV9wa3RtYnVmX3Bvb2xfY3Jl YXRlKCkgZmFpbCBpZiBpbnB1dCBwcml2X3NpemUgJSBNSU5fQUxJR04gIT0gMD8NCg0KPiANCj4g Rm9yIGFwcGxpY2F0aW9ucyB0aGF0IGRpcmVjdGx5IHVzZSBydGVfbWVtcG9vbF9jcmVhdGUoKSBp bnN0ZWFkIG9mDQo+IHJ0ZV9wa3RtYnVmX3Bvb2xfY3JlYXRlKCksIHdlIGNvdWxkIGFkZCBhIGNo ZWNrIHVzaW5nIGFuIGFzc2VydCBpbg0KPiBydGVfcGt0bWJ1Zl9pbml0KCkgYW5kIHNvbWUgd29y ZHMgaW4gdGhlIGRvY3VtZW50YXRpb24uDQo+IA0KPiBUaGUgcXVlc3Rpb24gaXM6IHdoYXQgc2hv dWxkIGJlIHRoZSBwcm9wZXIgYWxpZ25tZW50PyBJIHdvdWxkIHNheQ0KPiBhdCBsZWFzdCA4IGJ5 dGVzLCBidXQgbWF5YmUgY2FjaGVfYWxpZ25lZCBpcyBhbiBvcHRpb24gdG9vLg0KDQo4IGJ5dGVz IHNlZW1zIGVub3VnaCB0byBtZS4NCg0KS29uc3RhbnRpbiANCg0KPiANCj4gUmVnYXJkcywNCj4g T2xpdmllcg0KPiANCj4gDQo+ID4NCj4gPiBSZWdhcmRzLA0KPiA+IEhlbGluDQo+ID4NCj4gPj4g LS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gPj4gRnJvbTogQW5hbnlldiwgS29uc3RhbnRp bg0KPiA+PiBTZW50OiBXZWRuZXNkYXksIEp1bHkgMjksIDIwMTUgMTE6MTIgQU0NCj4gPj4gVG86 IE1hcnRpbiBXZWlzZXI7IFpoYW5nLCBIZWxpbjsgb2xpdmllci5tYXR6QDZ3aW5kLmNvbQ0KPiA+ PiBDYzogZGV2QGRwZGsub3JnDQo+ID4+IFN1YmplY3Q6IFJFOiBbZHBkay1kZXZdIElzc3VlIHdp dGggbm9uLXNjYXR0ZXJlZCByeCBpbiBpeGdiZSBhbmQgaTQwZSB3aGVuIG1idWYNCj4gPj4gcHJp dmF0ZSBhcmVhIHNpemUgaXMgb2RkDQo+ID4+DQo+ID4+IEhpIE1hcnRpbiwNCj4gPj4NCj4gPj4+ IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+ID4+PiBGcm9tOiBkZXYgW21haWx0bzpkZXYt Ym91bmNlc0BkcGRrLm9yZ10gT24gQmVoYWxmIE9mIE1hcnRpbiBXZWlzZXINCj4gPj4+IFNlbnQ6 IFdlZG5lc2RheSwgSnVseSAyOSwgMjAxNSA0OjA3IFBNDQo+ID4+PiBUbzogWmhhbmcsIEhlbGlu OyBvbGl2aWVyLm1hdHpANndpbmQuY29tDQo+ID4+PiBDYzogZGV2QGRwZGsub3JnDQo+ID4+PiBT dWJqZWN0OiBbZHBkay1kZXZdIElzc3VlIHdpdGggbm9uLXNjYXR0ZXJlZCByeCBpbiBpeGdiZSBh bmQgaTQwZSB3aGVuDQo+ID4+PiBtYnVmIHByaXZhdGUgYXJlYSBzaXplIGlzIG9kZA0KPiA+Pj4N Cj4gPj4+IEhpIEhlbGluLCBIaSBPbGl2aWVyLA0KPiA+Pj4NCj4gPj4+IHdlIGFyZSBzZWVpbmcg YW4gaXNzdWUgd2l0aCB0aGUgaXhnYmUgYW5kIGk0MGUgZHJpdmVycyB3aGljaCB3ZSBjb3VsZA0K PiA+Pj4gdHJhY2sgZG93biB0byBvdXIgc2V0dGluZyBvZiB0aGUgcHJpdmF0ZSBhcmVhIHNpemUg b2YgdGhlIG1idWZzLg0KPiA+Pj4gVGhlIGlzc3VlIGNhbiBiZSBlYXNpbHkgcmVwcm9kdWNlZCB3 aXRoIHRoZSBsMmZ3ZCBleGFtcGxlIGFwcGxpY2F0aW9uDQo+ID4+PiB3aGVuIGEgc21hbGwgbW9k aWZpY2F0aW9uIGlzIGRvbmU6IGp1c3Qgc2V0IHRoZSBwcml2X3NpemUgcGFyYW1ldGVyIGluDQo+ ID4+PiB0aGUgY2FsbCB0byB0aGUgcnRlX3BrdG1idWZfcG9vbF9jcmVhdGUgZnVuY3Rpb24gdG8g YW4gb2RkIG51bWJlciBsaWtlDQo+ID4+PiAxLiBJbiBvdXIgdGVzdHMgdGhpcyBjYXVzZXMgZXZl cnkgY2FsbCB0byBydGVfZXRoX3J4X2J1cnN0IHRvIHJldHVybg0KPiA+Pj4gMzIgKHdoaWNoIGlz IHRoZSBzZXR0aW5nIG9mIG5iX3BrdHMpIG5vbnNlbnNlIG1idWZzIGFsdGhvdWdoIG5vDQo+ID4+ PiBwYWNrZXRzIGFyZSByZWNlaXZlZCBvbiB0aGUgaW50ZXJmYWNlIGFuZCB0aGUgaGFyZHdhcmUg Y291bnRlcnMgZG8gbm90DQo+ID4+PiByZXBvcnQgYW55IHJlY2VpdmVkIHBhY2tldHMuDQo+ID4+ DQo+ID4+ICBGcm9tIE5pYW50aWMgZGF0YXNoZWV0Og0KPiA+Pg0KPiA+PiAiNy4xLjYuMSBBZHZh bmNlZCBSZWNlaXZlIERlc2NyaXB0b3JzIOKAlCBSZWFkIEZvcm1hdCBUYWJsZSA3LTE1IGxpc3Rz IHRoZQ0KPiA+PiBhZHZhbmNlZCByZWNlaXZlIGRlc2NyaXB0b3IgcHJvZ3JhbW1pbmcgYnkgdGhl IHNvZnR3YXJlLiBUaGUgLi4uDQo+ID4+IFBhY2tldCBCdWZmZXIgQWRkcmVzcyAoNjQpDQo+ID4+ IFRoaXMgaXMgdGhlIHBoeXNpY2FsIGFkZHJlc3Mgb2YgdGhlIHBhY2tldCBidWZmZXIuIFRoZSBs b3dlc3QgYml0IGlzIEEwIChMU0Igb2YgdGhlDQo+ID4+IGFkZHJlc3MpLg0KPiA+PiBIZWFkZXIg QnVmZmVyIEFkZHJlc3MgKDY0KQ0KPiA+PiBUaGUgcGh5c2ljYWwgYWRkcmVzcyBvZiB0aGUgaGVh ZGVyIGJ1ZmZlciB3aXRoIHRoZSBsb3dlc3QgYml0IGJlaW5nIERlc2NyaXB0b3INCj4gPj4gRG9u ZSAoREQpLg0KPiA+PiBXaGVuIGEgcGFja2V0IHNwYW5zIGluIG11bHRpcGxlIGRlc2NyaXB0b3Jz LCB0aGUgaGVhZGVyIGJ1ZmZlciBhZGRyZXNzIGlzIHVzZWQNCj4gPj4gb25seSBvbiB0aGUgZmly c3QgZGVzY3JpcHRvci4gRHVyaW5nIHRoZSBwcm9ncmFtbWluZyBwaGFzZSwgc29mdHdhcmUgbXVz dCBzZXQNCj4gPj4gdGhlIEREIGJpdCB0byB6ZXJvIChzZWUgdGhlIGRlc2NyaXB0aW9uIG9mIHRo ZSBERCBiaXQgaW4gdGhpcyBzZWN0aW9uKS4gVGhpcyBtZWFucw0KPiA+PiB0aGF0IGhlYWRlciBi dWZmZXIgYWRkcmVzc2VzIGFyZSBhbHdheXMgd29yZCBhbGlnbmVkLiINCj4gPj4NCj4gPj4gUmln aHQgbm93LCBpbiBpeGdiZSBQTUQgd2UgYWx3YXlzIHNldHVwICBQYWNrZXQgQnVmZmVyIEFkZHJl c3MgKFBCQSlhbmQNCj4gPj4gSGVhZGVyIEJ1ZmZlciBBZGRyZXNzIChIQkEpIHRvIHRoZSBzYW1l IHZhbHVlOg0KPiA+PiBidWZfcGh5c2FkZHIgKyBSVEVfUEtUTUJVRl9IRUFEUk9PTQ0KPiA+PiBT byB3aGVuIHBpcnZfc2l6ZT09MSwgREQgYml0IGluIFJYRCBpcyBhbHdheXMgc2V0IHRvIG9uZSBi eSBTVyBpdHNlbGYsIGFuZCB0aGVuDQo+ID4+IFNXIGNvbnNpZGVycyB0aGF0IEhXIGFscmVhZHkg ZG9uZSB3aXRoIGl0Lg0KPiA+PiBJbiBvdGhlciB3b3JkcywgcmlnaHQgbm93IGZvciBpeGdiZSB5 b3UgY2FuJ3QgdXNlIFJYIGJ1ZmZlciB0aGF0IGlzIG5vdCBhbGlnbmVkIG9uDQo+ID4+IHdvcmQg Ym91bmRhcnkuDQo+ID4+DQo+ID4+IFNvIHRoZSBhZHZpY2Ugd291bGQgYmUsIHJpZ2h0IG5vdyAt IGRvbid0IHNldCBwcml2X3NpemUgdG8gdGhlIG9kZCB2YWx1ZS4NCj4gPj4gQXMgd2UgZG9uJ3Qg c3VwcG9ydCBzcGxpdCBoZWFkZXIgZmVhdHVyZSBhbnl3YXksIEkgdGhpbmsgd2UgY2FuIGZpeCBp dCBqdXN0IGJ5DQo+ID4+IGFsd2F5cyBzZXR0aW5nIEhCQSBpbiB0aGUgUlhEIHRvIHplcm8uDQo+ ID4+IENvdWxkIHlvdSB0cnkgdGhlIGZpeCBmb3IgaXhnYmUgYmVsb3c/DQo+ID4+DQo+ID4+IFNh bWUgc3Rvcnkgd2l0aCBGVkwsIEkgYmVsaWV2ZS4NCj4gPj4gS29uc3RhbnRpbg0KPiA+Pg0KPiA+ Pg0KPiA+Pj4gSW50ZXJlc3RpbmdseSB0aGlzIGRvZXMgbm90IGhhcHBlbiBpZiB3ZSBmb3JjZSB0 aGUgc2NhdHRlcmVkIHJ4IHBhdGguDQo+ID4+Pg0KPiA+Pj4gSSBhc3N1bWUgdGhlIGRyaXZlcnMg aGF2ZSBzb21lIGV4cGVjdGF0aW9ucyByZWdhcmRpbmcgdGhlIGFsaWdubWVudCBvZg0KPiA+Pj4g dGhlIGJ1Zl9hZGRyIGluIHRoZSBtYnVmIGFuZCBzZXR0aW5nIGFuIG9kZCBwcml2YXRlIGFyZSBz aXplIGJyZWFrcw0KPiA+Pj4gdGhpcyBhbGlnbm1lbnQgaW4gdGhlIHJ0ZV9wa3RtYnVmX2luaXQg ZnVuY3Rpb24uIElmIHRoaXMgaXMgdGhlIGNhc2UNCj4gPj4+IHRoZW4gb25lIHBvc3NpYmxlIGZp eCBtaWdodCBiZSB0byBlbmZvcmNlIGFuIGFsaWdubWVudCBvbiB0aGUgcHJpdmF0ZSBhcmVhIHNp emUuDQo+ID4+Pg0KPiA+Pj4gQmVzdCByZWdhcmRzLA0KPiA+Pj4gTWFydGluDQo+ID4+DQo+ID4+ IGRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC9peGdiZS9peGdiZV9yeHR4LmMgYi9kcml2ZXJzL25l dC9peGdiZS9peGdiZV9yeHR4LmMNCj4gPj4gaW5kZXggYTBjODg0Ny4uOTQ5NjdjNSAxMDA2NDQN Cj4gPj4gLS0tIGEvZHJpdmVycy9uZXQvaXhnYmUvaXhnYmVfcnh0eC5jDQo+ID4+ICsrKyBiL2Ry aXZlcnMvbmV0L2l4Z2JlL2l4Z2JlX3J4dHguYw0KPiA+PiBAQCAtMTE4Myw3ICsxMTgzLDcgQEAg aXhnYmVfcnhfYWxsb2NfYnVmcyhzdHJ1Y3QgaXhnYmVfcnhfcXVldWUgKnJ4cSwgYm9vbA0KPiA+ PiByZXNldF9tYnVmKQ0KPiA+Pg0KPiA+PiAgICAgICAgICAgICAgICAgIC8qIHBvcHVsYXRlIHRo ZSBkZXNjcmlwdG9ycyAqLw0KPiA+PiAgICAgICAgICAgICAgICAgIGRtYV9hZGRyID0NCj4gPj4g cnRlX2NwdV90b19sZV82NChSVEVfTUJVRl9EQVRBX0RNQV9BRERSX0RFRkFVTFQobWIpKTsNCj4g Pj4gLSAgICAgICAgICAgICAgIHJ4ZHBbaV0ucmVhZC5oZHJfYWRkciA9IGRtYV9hZGRyOw0KPiA+ PiArICAgICAgICAgICAgICAgcnhkcFtpXS5yZWFkLmhkcl9hZGRyID0gMDsNCj4gPj4gICAgICAg ICAgICAgICAgICByeGRwW2ldLnJlYWQucGt0X2FkZHIgPSBkbWFfYWRkcjsNCj4gPj4gICAgICAg ICAgfQ0KPiA+Pg0KPiA+PiBAQCAtMTQxNCw3ICsxNDE0LDcgQEAgaXhnYmVfcmVjdl9wa3RzKHZv aWQgKnJ4X3F1ZXVlLCBzdHJ1Y3QgcnRlX21idWYNCj4gPj4gKipyeF9wa3RzLA0KPiA+PiAgICAg ICAgICAgICAgICAgIHJ4ZS0+bWJ1ZiA9IG5tYjsNCj4gPj4gICAgICAgICAgICAgICAgICBkbWFf YWRkciA9DQo+ID4+DQo+ID4+IHJ0ZV9jcHVfdG9fbGVfNjQoUlRFX01CVUZfREFUQV9ETUFfQURE Ul9ERUZBVUxUKG5tYikpOw0KPiA+PiAtICAgICAgICAgICAgICAgcnhkcC0+cmVhZC5oZHJfYWRk ciA9IGRtYV9hZGRyOw0KPiA+PiArICAgICAgICAgICAgICAgcnhkcC0+cmVhZC5oZHJfYWRkciA9 IDA7DQo+ID4+ICAgICAgICAgICAgICAgICAgcnhkcC0+cmVhZC5wa3RfYWRkciA9IGRtYV9hZGRy Ow0KPiA+Pg0KPiA+PiAgICAgICAgICAgICAgICAgIC8qDQo+ID4+IEBAIC0xNzQxLDcgKzE3NDEs NyBAQCBuZXh0X2Rlc2M6DQo+ID4+ICAgICAgICAgICAgICAgICAgICAgICAgICByeGUtPm1idWYg PSBubWI7DQo+ID4+DQo+ID4+ICAgICAgICAgICAgICAgICAgICAgICAgICByeG0tPmRhdGFfb2Zm ID0gUlRFX1BLVE1CVUZfSEVBRFJPT007DQo+ID4+IC0gICAgICAgICAgICAgICAgICAgICAgIHJ4 ZHAtPnJlYWQuaGRyX2FkZHIgPSBkbWE7DQo+ID4+ICsgICAgICAgICAgICAgICAgICAgICAgIHJ4 ZHAtPnJlYWQuaGRyX2FkZHIgPSAwOw0KPiA+PiAgICAgICAgICAgICAgICAgICAgICAgICAgcnhk cC0+cmVhZC5wa3RfYWRkciA9IGRtYTsNCj4gPj4gICAgICAgICAgICAgICAgICB9IGVsc2UNCj4g Pj4gICAgICAgICAgICAgICAgICAgICAgICAgIHJ4ZS0+bWJ1ZiA9IE5VTEw7IEBAIC0zNjMzLDcg KzM2MzMsNyBAQA0KPiA+PiBpeGdiZV9hbGxvY19yeF9xdWV1ZV9tYnVmcyhzdHJ1Y3QgaXhnYmVf cnhfcXVldWUgKnJ4cSkNCj4gPj4gICAgICAgICAgICAgICAgICBkbWFfYWRkciA9DQo+ID4+DQo+ ID4+IHJ0ZV9jcHVfdG9fbGVfNjQoUlRFX01CVUZfREFUQV9ETUFfQUREUl9ERUZBVUxUKG1idWYp KTsNCj4gPj4gICAgICAgICAgICAgICAgICByeGQgPSAmcnhxLT5yeF9yaW5nW2ldOw0KPiA+PiAt ICAgICAgICAgICAgICAgcnhkLT5yZWFkLmhkcl9hZGRyID0gZG1hX2FkZHI7DQo+ID4+ICsgICAg ICAgICAgICAgICByeGQtPnJlYWQuaGRyX2FkZHIgPSAwOw0KPiA+PiAgICAgICAgICAgICAgICAg IHJ4ZC0+cmVhZC5wa3RfYWRkciA9IGRtYV9hZGRyOw0KPiA+PiAgICAgICAgICAgICAgICAgIHJ4 ZVtpXS5tYnVmID0gbWJ1ZjsNCj4gPj4gICAgICAgICAgfQ0KPiA+PiBkaWZmIC0tZ2l0IGEvZHJp dmVycy9uZXQvaXhnYmUvaXhnYmVfcnh0eF92ZWMuYw0KPiA+PiBiL2RyaXZlcnMvbmV0L2l4Z2Jl L2l4Z2JlX3J4dHhfdmVjLmMNCj4gPj4gaW5kZXggNmMxNjQ3ZS4uMTZhOWM2NCAxMDA2NDQNCj4g Pj4gLS0tIGEvZHJpdmVycy9uZXQvaXhnYmUvaXhnYmVfcnh0eF92ZWMuYw0KPiA+PiArKysgYi9k cml2ZXJzL25ldC9peGdiZS9peGdiZV9yeHR4X3ZlYy5jDQo+ID4+IEBAIC01Niw2ICs1Niw4IEBA IGl4Z2JlX3J4cV9yZWFybShzdHJ1Y3QgaXhnYmVfcnhfcXVldWUgKnJ4cSkNCj4gPj4gICAgICAg ICAgICAgICAgICAgICAgICAgIFJURV9QS1RNQlVGX0hFQURST09NKTsNCj4gPj4gICAgICAgICAg X19tMTI4aSBkbWFfYWRkcjAsIGRtYV9hZGRyMTsNCj4gPj4NCj4gPj4gKyAgICAgICBjb25zdCBf X20xMjhpIGhiYV9tc2sgPSBfbW1fc2V0X2VwaTY0eCgwLCBVSU5UNjRfTUFYKTsNCj4gPj4gKw0K PiA+PiAgICAgICAgICByeGRwID0gcnhxLT5yeF9yaW5nICsgcnhxLT5yeHJlYXJtX3N0YXJ0Ow0K PiA+Pg0KPiA+PiAgICAgICAgICAvKiBQdWxsICduJyBtb3JlIE1CVUZzIGludG8gdGhlIHNvZnR3 YXJlIHJpbmcgKi8gQEAgLTEwOCw2ICsxMTAsOSBAQA0KPiA+PiBpeGdiZV9yeHFfcmVhcm0oc3Ry dWN0IGl4Z2JlX3J4X3F1ZXVlICpyeHEpDQo+ID4+ICAgICAgICAgICAgICAgICAgZG1hX2FkZHIw ID0gX21tX2FkZF9lcGk2NChkbWFfYWRkcjAsIGhkcl9yb29tKTsNCj4gPj4gICAgICAgICAgICAg ICAgICBkbWFfYWRkcjEgPSBfbW1fYWRkX2VwaTY0KGRtYV9hZGRyMSwgaGRyX3Jvb20pOw0KPiA+ Pg0KPiA+PiArICAgICAgICAgICAgICAgZG1hX2FkZHIwID0gIF9tbV9hbmRfc2kxMjgoZG1hX2Fk ZHIwLCBoYmFfbXNrKTsNCj4gPj4gKyAgICAgICAgICAgICAgIGRtYV9hZGRyMSA9ICBfbW1fYW5k X3NpMTI4KGRtYV9hZGRyMSwgaGJhX21zayk7DQo+ID4+ICsNCj4gPj4gICAgICAgICAgICAgICAg ICAvKiBmbHVzaCBkZXNjIHdpdGggcGEgZG1hX2FkZHIgKi8NCj4gPj4gICAgICAgICAgICAgICAg ICBfbW1fc3RvcmVfc2kxMjgoKF9fbTEyOGkgKikmcnhkcCsrLT5yZWFkLCBkbWFfYWRkcjApOw0K PiA+PiAgICAgICAgICAgICAgICAgIF9tbV9zdG9yZV9zaTEyOCgoX19tMTI4aSAqKSZyeGRwKyst PnJlYWQsIGRtYV9hZGRyMSk7DQo+ID4+IGJhc2gtNC4yJCBjYXQgcGF0Y2gxIGRpZmYgLS1naXQg YS9kcml2ZXJzL25ldC9peGdiZS9peGdiZV9yeHR4LmMNCj4gPj4gYi9kcml2ZXJzL25ldC9peGdi ZS9peGdiZV9yeHR4LmMgaW5kZXggYTBjODg0Ny4uOTQ5NjdjNSAxMDA2NDQNCj4gPj4gLS0tIGEv ZHJpdmVycy9uZXQvaXhnYmUvaXhnYmVfcnh0eC5jDQo+ID4+ICsrKyBiL2RyaXZlcnMvbmV0L2l4 Z2JlL2l4Z2JlX3J4dHguYw0KPiA+PiBAQCAtMTE4Myw3ICsxMTgzLDcgQEAgaXhnYmVfcnhfYWxs b2NfYnVmcyhzdHJ1Y3QgaXhnYmVfcnhfcXVldWUgKnJ4cSwgYm9vbA0KPiA+PiByZXNldF9tYnVm KQ0KPiA+Pg0KPiA+PiAgICAgICAgICAgICAgICAgIC8qIHBvcHVsYXRlIHRoZSBkZXNjcmlwdG9y cyAqLw0KPiA+PiAgICAgICAgICAgICAgICAgIGRtYV9hZGRyID0NCj4gPj4gcnRlX2NwdV90b19s ZV82NChSVEVfTUJVRl9EQVRBX0RNQV9BRERSX0RFRkFVTFQobWIpKTsNCj4gPj4gLSAgICAgICAg ICAgICAgIHJ4ZHBbaV0ucmVhZC5oZHJfYWRkciA9IGRtYV9hZGRyOw0KPiA+PiArICAgICAgICAg ICAgICAgcnhkcFtpXS5yZWFkLmhkcl9hZGRyID0gMDsNCj4gPj4gICAgICAgICAgICAgICAgICBy eGRwW2ldLnJlYWQucGt0X2FkZHIgPSBkbWFfYWRkcjsNCj4gPj4gICAgICAgICAgfQ0KPiA+Pg0K PiA+PiBAQCAtMTQxNCw3ICsxNDE0LDcgQEAgaXhnYmVfcmVjdl9wa3RzKHZvaWQgKnJ4X3F1ZXVl LCBzdHJ1Y3QgcnRlX21idWYNCj4gPj4gKipyeF9wa3RzLA0KPiA+PiAgICAgICAgICAgICAgICAg IHJ4ZS0+bWJ1ZiA9IG5tYjsNCj4gPj4gICAgICAgICAgICAgICAgICBkbWFfYWRkciA9DQo+ID4+ DQo+ID4+IHJ0ZV9jcHVfdG9fbGVfNjQoUlRFX01CVUZfREFUQV9ETUFfQUREUl9ERUZBVUxUKG5t YikpOw0KPiA+PiAtICAgICAgICAgICAgICAgcnhkcC0+cmVhZC5oZHJfYWRkciA9IGRtYV9hZGRy Ow0KPiA+PiArICAgICAgICAgICAgICAgcnhkcC0+cmVhZC5oZHJfYWRkciA9IDA7DQo+ID4+ICAg ICAgICAgICAgICAgICAgcnhkcC0+cmVhZC5wa3RfYWRkciA9IGRtYV9hZGRyOw0KPiA+Pg0KPiA+ PiAgICAgICAgICAgICAgICAgIC8qDQo+ID4+IEBAIC0xNzQxLDcgKzE3NDEsNyBAQCBuZXh0X2Rl c2M6DQo+ID4+ICAgICAgICAgICAgICAgICAgICAgICAgICByeGUtPm1idWYgPSBubWI7DQo+ID4+ DQo+ID4+ICAgICAgICAgICAgICAgICAgICAgICAgICByeG0tPmRhdGFfb2ZmID0gUlRFX1BLVE1C VUZfSEVBRFJPT007DQo+ID4+IC0gICAgICAgICAgICAgICAgICAgICAgIHJ4ZHAtPnJlYWQuaGRy X2FkZHIgPSBkbWE7DQo+ID4+ICsgICAgICAgICAgICAgICAgICAgICAgIHJ4ZHAtPnJlYWQuaGRy X2FkZHIgPSAwOw0KPiA+PiAgICAgICAgICAgICAgICAgICAgICAgICAgcnhkcC0+cmVhZC5wa3Rf YWRkciA9IGRtYTsNCj4gPj4gICAgICAgICAgICAgICAgICB9IGVsc2UNCj4gPj4gICAgICAgICAg ICAgICAgICAgICAgICAgIHJ4ZS0+bWJ1ZiA9IE5VTEw7IEBAIC0zNjMzLDcgKzM2MzMsNyBAQA0K PiA+PiBpeGdiZV9hbGxvY19yeF9xdWV1ZV9tYnVmcyhzdHJ1Y3QgaXhnYmVfcnhfcXVldWUgKnJ4 cSkNCj4gPj4gICAgICAgICAgICAgICAgICBkbWFfYWRkciA9DQo+ID4+DQo+ID4+IHJ0ZV9jcHVf dG9fbGVfNjQoUlRFX01CVUZfREFUQV9ETUFfQUREUl9ERUZBVUxUKG1idWYpKTsNCj4gPj4gICAg ICAgICAgICAgICAgICByeGQgPSAmcnhxLT5yeF9yaW5nW2ldOw0KPiA+PiAtICAgICAgICAgICAg ICAgcnhkLT5yZWFkLmhkcl9hZGRyID0gZG1hX2FkZHI7DQo+ID4+ICsgICAgICAgICAgICAgICBy eGQtPnJlYWQuaGRyX2FkZHIgPSAwOw0KPiA+PiAgICAgICAgICAgICAgICAgIHJ4ZC0+cmVhZC5w a3RfYWRkciA9IGRtYV9hZGRyOw0KPiA+PiAgICAgICAgICAgICAgICAgIHJ4ZVtpXS5tYnVmID0g bWJ1ZjsNCj4gPj4gICAgICAgICAgfQ0KPiA+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvaXhn YmUvaXhnYmVfcnh0eF92ZWMuYw0KPiA+PiBiL2RyaXZlcnMvbmV0L2l4Z2JlL2l4Z2JlX3J4dHhf dmVjLmMNCj4gPj4gaW5kZXggNmMxNjQ3ZS4uMTZhOWM2NCAxMDA2NDQNCj4gPj4gLS0tIGEvZHJp dmVycy9uZXQvaXhnYmUvaXhnYmVfcnh0eF92ZWMuYw0KPiA+PiArKysgYi9kcml2ZXJzL25ldC9p eGdiZS9peGdiZV9yeHR4X3ZlYy5jDQo+ID4+IEBAIC01Niw2ICs1Niw4IEBAIGl4Z2JlX3J4cV9y ZWFybShzdHJ1Y3QgaXhnYmVfcnhfcXVldWUgKnJ4cSkNCj4gPj4gICAgICAgICAgICAgICAgICAg ICAgICAgIFJURV9QS1RNQlVGX0hFQURST09NKTsNCj4gPj4gICAgICAgICAgX19tMTI4aSBkbWFf YWRkcjAsIGRtYV9hZGRyMTsNCj4gPj4NCj4gPj4gKyAgICAgICBjb25zdCBfX20xMjhpIGhiYV9t c2sgPSBfbW1fc2V0X2VwaTY0eCgwLCBVSU5UNjRfTUFYKTsNCj4gPj4gKw0KPiA+PiAgICAgICAg ICByeGRwID0gcnhxLT5yeF9yaW5nICsgcnhxLT5yeHJlYXJtX3N0YXJ0Ow0KPiA+Pg0KPiA+PiAg ICAgICAgICAvKiBQdWxsICduJyBtb3JlIE1CVUZzIGludG8gdGhlIHNvZnR3YXJlIHJpbmcgKi8g QEAgLTEwOCw2ICsxMTAsOSBAQA0KPiA+PiBpeGdiZV9yeHFfcmVhcm0oc3RydWN0IGl4Z2JlX3J4 X3F1ZXVlICpyeHEpDQo+ID4+ICAgICAgICAgICAgICAgICAgZG1hX2FkZHIwID0gX21tX2FkZF9l cGk2NChkbWFfYWRkcjAsIGhkcl9yb29tKTsNCj4gPj4gICAgICAgICAgICAgICAgICBkbWFfYWRk cjEgPSBfbW1fYWRkX2VwaTY0KGRtYV9hZGRyMSwgaGRyX3Jvb20pOw0KPiA+Pg0KPiA+PiArICAg ICAgICAgICAgICAgZG1hX2FkZHIwID0gIF9tbV9hbmRfc2kxMjgoZG1hX2FkZHIwLCBoYmFfbXNr KTsNCj4gPj4gKyAgICAgICAgICAgICAgIGRtYV9hZGRyMSA9ICBfbW1fYW5kX3NpMTI4KGRtYV9h ZGRyMSwgaGJhX21zayk7DQo+ID4+ICsNCj4gPj4gICAgICAgICAgICAgICAgICAvKiBmbHVzaCBk ZXNjIHdpdGggcGEgZG1hX2FkZHIgKi8NCj4gPj4gICAgICAgICAgICAgICAgICBfbW1fc3RvcmVf c2kxMjgoKF9fbTEyOGkgKikmcnhkcCsrLT5yZWFkLCBkbWFfYWRkcjApOw0KPiA+PiAgICAgICAg ICAgICAgICAgIF9tbV9zdG9yZV9zaTEyOCgoX19tMTI4aSAqKSZyeGRwKystPnJlYWQsIGRtYV9h ZGRyMSk7DQoNCg==