From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga06.intel.com (mga06.intel.com [134.134.136.31]) by dpdk.org (Postfix) with ESMTP id E80192B96; Thu, 29 Mar 2018 14:57:35 +0200 (CEST) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga006.fm.intel.com ([10.253.24.20]) by orsmga104.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 29 Mar 2018 05:57:33 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.48,376,1517904000"; d="scan'208";a="215800056" Received: from irsmsx103.ger.corp.intel.com ([163.33.3.157]) by fmsmga006.fm.intel.com with ESMTP; 29 Mar 2018 05:57:31 -0700 Received: from irsmsx102.ger.corp.intel.com ([169.254.2.164]) by IRSMSX103.ger.corp.intel.com ([169.254.3.61]) with mapi id 14.03.0319.002; Thu, 29 Mar 2018 13:57:30 +0100 From: "Wodkowski, PawelX" To: Maxime Coquelin , "Tan, Jianfeng" , Victor Kaplansky CC: "dev@dpdk.org" , "stable@dpdk.org" , "Yang, Yi Y" , "Harris, James R" , "Yang, Ziye" , "Liu, Changpeng" , "Stojaczyk, DariuszX" , Yuanhan Liu Thread-Topic: [PATCH] vhost: fix segfault as handle set_mem_table message Thread-Index: AQHTXgZrlzCne6HYM0y7DBrZO8ttJaMpQVKAgAskwgCAAAJMgICy59RAgABEHYCAABwpMA== Date: Thu, 29 Mar 2018 12:57:30 +0000 Message-ID: References: <1510746068-143223-1-git-send-email-jianfeng.tan@intel.com> <20171205141954.GF9111@yliu-dev> <1c5d3010-c7a9-a2b1-909e-dd43cde24af1@redhat.com> In-Reply-To: <1c5d3010-c7a9-a2b1-909e-dd43cde24af1@redhat.com> Accept-Language: pl-PL, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-product: dlpe-windows dlp-version: 11.0.0.116 dlp-reaction: no-action x-titus-metadata-40: eyJDYXRlZ29yeUxhYmVscyI6IiIsIk1ldGFkYXRhIjp7Im5zIjoiaHR0cDpcL1wvd3d3LnRpdHVzLmNvbVwvbnNcL0ludGVsMyIsImlkIjoiMjhmMjA0ODktYTBlOC00MzkxLWFkZWQtY2NlMWUyMWIyYzdhIiwicHJvcHMiOlt7Im4iOiJDVFBDbGFzc2lmaWNhdGlvbiIsInZhbHMiOlt7InZhbHVlIjoiQ1RQX0lDIn1dfV19LCJTdWJqZWN0TGFiZWxzIjpbXSwiVE1DVmVyc2lvbiI6IjE2LjUuOS4zIiwiVHJ1c3RlZExhYmVsSGFzaCI6IkczbWtkTUxaOU9CYzNxeHVJcFQ1bUhGNFFaNlpQcGtKVG9LQWNLQm9DMDg9In0= x-ctpclassification: CTP_IC x-originating-ip: [163.33.239.182] Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 Subject: Re: [dpdk-dev] [PATCH] vhost: fix segfault as handle set_mem_table message 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: Thu, 29 Mar 2018 12:57:37 -0000 PiA+Pj4+PiBEUERLIHZob3N0LXVzZXIgaGFuZGxlcyB0aGlzIG1lc3NhZ2UgcnVkZWx5IGJ5IHVu bWFwIGFsbCBleGlzdGluZw0KPiA+Pj4+PiByZWdpb25zIGFuZCBtYXAgbmV3IG9uZXMuIFRoaXMg bWlnaHQgbGVhZCB0byBzZWdmYXVsdCBpZiB0aGVyZQ0KPiA+Pj4+PiBpcyBwbWQgdGhyZWFkIGp1 c3QgdHJ5aW5nIHRvIHRvdWNoIHRob3NlIHVubWFwcGVkIG1lbW9yeSByZWdpb25zLg0KPiA+Pj4+ Pg0KPiA+Pj4+PiBCdXQgZm9yIG1vc3QgY2FzZXMsIGV4Y2VwdCBWTSBtZW1vcnkgaG90cGx1ZywN Cj4gPj4NCj4gPj4gRllJLCBWaWN0b3IgaXMgd29ya2luZyBvbiBpbXBsZW1lbnRpbmcgYSBsb2Nr LWxlc3MgcHJvdGVjdGlvbiBtZWNoYW5pc20NCj4gPj4gdG8gcHJldmVudCBjcmFzaGVzIGluIHN1 Y2ggY2FzZXMuIEl0IGlzIGludGVuZGVkIGZpcnN0IHRvIHByb3RlY3QNCj4gPj4gbG9nX2Jhc2Ug aW4gY2FzZSBvZiBtdWx0aXF1ZXVlICsgbGl2ZS1taWdyYXRpb24sIGJ1dCB3b3VsZCBzb2x2ZSB0 aGkNCj4gPj4gaXNzdWUgdG9vLg0KPiA+DQo+ID4gQnJpbmcgdGhpcyBpc3N1ZSBiYWNrIGZvciBk aXNjdXNzaW9uLg0KPiA+DQo+ID4gUmVwb3J0ZWQgYnkgU1BESyBndXlzLCBldmVuIHdpdGggcGVy LXF1ZXVlIGxvY2ssIHRoZXkgY291bGQgc3RpbGwgcnVuIGludG8NCj4gY3Jhc2ggYXMgb2YgbWVt b3J5IGhvdCBwbHVnIG9yIHVucGx1Zy4NCj4gPiBJbiBkZXRhaWwsIHlvdSBhZGQgdGhlIGxvY2sg aW4gYW4gaW50ZXJuYWwgc3RydWN0LCB2aG9zdF9xdWV1ZSB3aGljaCBpcywNCj4gdW5mb3J0dW5h dGVseSwgbm90IHZpc2libGUgdG8gdGhlIGV4dGVybmFsIGRhdGFwYXRoLCBsaWtlIHZob3N0LXNj c2kgaW4gU1BESy4NCj4gDQo+IFllcywgSSBhZ3JlZSBjdXJyZW50IHNvbHV0aW9uIGlzIG5vdCBl bm91Z2gNCj4gDQo+ID4gVGhlIG1lbW9yeSBob3QgcGx1ZyBhbmQgdW5wbHVnIHdvdWxkIGJlIHRo ZSBtYWluIGlzc3VlIGZyb20gU1BESyBzaWRlIHNvDQo+IGZhci4gRm9yIHRoaXMgc3BlY2lmaWMg aXNzdWUsIEkgdGhpbmsgd2UgY2FuIGNvbnRpbnVlIHRoaXMgcGF0Y2ggdG8gZmlsdGVyIG91dCB0 aGUNCj4gY2hhbmdlZCByZWdpb25zLCBhbmQga2VlcCB1bmNoYW5nZWQgcmVnaW9ucyBub3QgcmVt YXBwZWQuDQo+ID4NCj4gPiBCdXQgSSBrbm93IHRoYXQgdGhlIHBlci12cSBsb2NrIGlzIG5vdCBv bmx5IHRvIHJlc29sdmUgdGhlIG1lbW9yeSB0YWJsZSBpc3N1ZSwNCj4gc29tZSBvdGhlciB2aG9z dC11c2VyIG1lc3NhZ2VzIGNvdWxkIGFsc28gbGVhZCB0byBwcm9ibGVtcz8gSWYgeWVzLCBzaGFs bCB3ZQ0KPiB0YWtlIGEgc3RlcCBiYWNrLCB0byB0aGluayBhYm91dCBob3cgdG8gc29sdmUgdGhp cyBraW5kIG9mIGlzc3VlcyBmb3IgYmFja2VuZHMsDQo+IGxpa2Ugdmhvc3Qtc2NzaS4NCj4gDQo+ IFJpZ2h0LCBhbnkgbWVzc2FnZSB0aGF0IGNhbiBjaGFuZ2UgdGhlIGRldmljZSBvciB2aXJ0cXVl dWUgc3RhdGVzIGNhbiBiZQ0KPiBwcm9ibGVtYXRpYy4NCj4gDQo+ID4gVGhvdWdodHM/DQo+IA0K PiBJbiBhbm90aGVyIHRocmVhZCwgU1BESyBwZW9wbGUgcHJvcG9zZWQgdG8gZGVzdHJveSBhbmQg cmUtY3JlYXRlIHRoZQ0KPiBkZXZpY2UgZm9yIGV2ZXJ5IG1lc3NhZ2UuIEkgdGhpbmsgdGhpcyBp cyBub3QgYWNjZXB0YWJsZS4NCg0KQmFja2VuZCBtdXN0IGtub3cgd2hpY2ggcGFydCBvZiBkZXZp Y2UgaXMgb3V0ZGF0ZWQgKG1lbW9yeSB0YWJsZSwgcmluZw0KcG9zaXRpb24gZXRjKSBzbyBpdCBj YW4gdGFrZSByaWdodCBhY3Rpb24gaGVyZS4gSSAgZG9uJ3QgaW5zaXN0IG9uIGRlc3Ryb3kvY3Jl YXRlDQpzY2hlbWUgYnV0IHRoaXMgc29sdmUgbW9zdCBvZiB0aG9zZSBwcm9ibGVtcyAoaWYgbm90 IGFsbCkuIGlmIHdlIHdpbGwgaGF2ZSBhbm90aGVyDQp3b3JraW5nIHNvbHV0aW9uIHRoaXMgaXMg cGVyZmVjdGx5IGZpbmUgZm9yIG1lLiANCg0KPiANCj4gSSBwcm9wb3NlZCBhbiBhbHRlcm5hdGl2 ZSB0aGF0IEkgdGhpbmsgd291bGQgd29yazoNCj4gLSBleHRlcm5hbCBiYWNrZW5kcyAmIGFwcGxp Y2F0aW9ucyBpbXBsZW1lbnRzIHRoZSAudnJpbmdfc3RhdGVfY2hhbmdlZCgpDQo+ICAgIGNhbGxi YWNrLiBPbiBkaXNhYmxlIGl0IHN0b3BzIHByb2Nlc3NpbmcgdGhlIHJpbmdzIGFuZCBvbmx5IHJl dHVybg0KPiAgICBvbmNlIGFsbCBkZXNjcmlwdG9yIGJ1ZmZlcnMgYXJlIHByb2Nlc3NlZC4gT24g ZW5hYmxlLCB0aGV5IHJlc3VtZSB0aGUNCj4gICAgcmluZ3MgcHJvY2Vzc2luZy4NCj4gLSBJbiB2 aG9zdCBsaWIsIHdlIGltcGxlbWVudCB2aG9zdF92cmluZ19wYXVzZSBhbmQgdmhvc3RfdnJpbmdf cmVzdW1lDQo+ICAgIGZ1bmN0aW9ucy4gSW4gcGF1c2UgZnVuY3Rpb24sIHdlIHNhdmUgZGV2aWNl IHN0YXRlIChlbmFibGUgb3INCj4gICAgZGlzYWJsZSkgaW4gYSB2YXJpYWJsZSwgYW5kIGlmIHRo ZSByaW5nIGlzIGVuYWJsZWQgYXQgZGV2aWNlIGxldmVsIGl0DQo+ICAgIGNhbGxzIC52cmluZ19z dGF0ZV9jaGFuZ2VkKCkgd2l0aCBkaXNhYmxlZCBzdGF0ZS4gSW4gcmVzdW1lLCBpdCBjaGVja3MN Cj4gICAgdGhlIHZyaW5nIHN0YXRlIGluIHRoZSBkZXZpY2UgYW5kIGNhbGwgLnZyaW5nX3N0YXRl X2NoYW5nZWQoKSB3aXRoDQo+ICAgIGVuYWJsZSBzdGF0ZSBpZiBpdCB3YXMgZW5hYmxlZCBpbiBk ZXZpY2Ugc3RhdGUuDQoNClRoaXMgd2lsbCBiZSBub3QgZW5vdWdoLiBXZSBuZWVkIHRvIGtub3cg d2hhdCBleGFjdGx5IGNoYW5nZWQuIEFzIGZvciByaW5nDQpzdGF0ZSBpdCBpcyBzdHJhaWdodCBm b3J3YXJkIHRvIHNhdmUvZmV0Y2ggbmV3IHJpbmcgc3RhdGUgYnV0IGVnLiBmb3Igc2V0IG1lbQ0K dGFibGUgd2UgbmVlZCB0byBmaW5pc2ggYWxsIElPLCByZW1vdmUgY3VycmVudGx5IHJlZ2lzdGVy ZWQgUkRNQSBtZW1vcnkuDQpUaGVuLCB3aGVuIG5ldyBtZW1vcnkgdGFibGUgaXMgYXZhaWxhYmxl IHdlIG5lZWQgdG8gcmVnaXN0ZXIgaXQgYWdhaW4gZm9yDQpSRE1BIHRoZW4gcmVzdW1lIElPLg0K DQo+IA0KPiBTbywgSSB0aGluayB0aGF0IHdvdWxkIHdvcmsgYnV0IEkgaGFkbid0IGhhZCBhIGNs ZWFyIHJlcGx5IGZyb20gU1BESw0KPiBwZW9wbGUgcHJvdmluZyBpdCB3b3VsZG4ndC4NCj4gDQo+ IFRoZXkgYXNrZWQgd2UgcmV2ZXJ0IFZpY3RvcidzIHBhdGNoLCBidXQgSSBkb24ndCBzZWUgdGhl IG5lZWQgYXMgaXQgZG9lcw0KPiBub3QgaHVydCBTUERLIChidXQgZG9lc24ndCBwcm90ZWN0IGFu eXRoaW5nIGZvciB0aGVtIEkgYWdyZWUpLCB3aGlsZSBpdA0KPiByZWFsbHkgZml4ZXMgcmVhbCBp c3N1ZXMgd2l0aCBpbnRlcm5hbCBOZXQgYmFja2VuZC4NCj4gDQo+IFdoYXQgZG8geW91IHRoaW5r IG9mIG15IHByb3Bvc2FsPyBEbyB5b3Ugc2VlIG90aGVyIGFsdGVybmF0aXZlPw0KPiANCg0KQXMg VmljdG9yIGlzIGFscmVhZHkgd29ya2luZyBvbiB0aGUgc29sdXRpb24sIGNhbiB5b3UgcG9zdCBz b21lIGluZm8gYWJvdXQgaG93DQp5b3UgcGxhbiB0byBzb2x2ZSBpdD8gSSB3YXMgdGhpbmtpbmcg YWJvdXQgc29tZXRoaW5nIGxpa2UgY29kZSBiZWxsb3cgKHNvcnJ5IGZvcg0KaG93IHRoaXMgY29k ZSBsb29rIGxpa2UgYnV0IHRoaXMgaXMgbXkgd29yay1pbi1wcm9ncmVzcyAgdG8gc2VlIGlmIHRo aXMgbWFrZSBhbnkNCnNlbnNlIGhlcmUpLiBUaGlzIGNvZGUgYWxsb3cgdG86DQoxLiAgbm90IGlu dHJvZHVjaW5nIGNoYW5nZXMgbGlrZSBodHRwOi8vZHBkay5vcmcvbWwvYXJjaGl2ZXMvZGV2LzIw MTgtTWFyY2gvMDkzOTIyLmh0bWwNCiAgICAgYmVjYXVzZSBiYWNrZW5kIHdpbGwgaGFuZGxlIHRo aXMgYnkgaXRzIG93bi4NCjIuIHZpcnRpby1uZXQgc3BlY2lmaWMgbWVzc2FnZXMgY2FuIGJlIG1v dmVkIG91dCBvZiBnZW5lcmljIHZob3N0X3VzZXIuYyBmaWxlDQozLiB2aXJ0cXVldWUgbG9ja2lu ZyBzdHVmZiBjYW4gYmUgbW92ZWQgdG8gdmlyaXRvLW5ldCBzcGVjaWZpYyBiYWNrZW5kLg0KDQpQ bHMgbGV0IG1lIGtub3cgd2hhdCB5b3UgdGhpbmsuDQoNCi0tLQ0KIGxpYi9saWJydGVfdmhvc3Qv TWFrZWZpbGUgICAgICAgICB8ICAgMiArLQ0KIGxpYi9saWJydGVfdmhvc3QvcnRlX3Zob3N0Lmgg ICAgICB8ICA2MCArKysrKysrKysrKysrKysrKystDQogbGliL2xpYnJ0ZV92aG9zdC9ydGVfdmhv c3RfdXNlci5oIHwgMTIwICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrDQog bGliL2xpYnJ0ZV92aG9zdC92aG9zdC5oICAgICAgICAgIHwgIDE0IC0tLS0tDQogbGliL2xpYnJ0 ZV92aG9zdC92aG9zdF91c2VyLmMgICAgIHwgIDMwICsrKysrKysrKysNCiBsaWIvbGlicnRlX3Zo b3N0L3Zob3N0X3VzZXIuaCAgICAgfCAgODggLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0K IDYgZmlsZXMgY2hhbmdlZCwgMjA5IGluc2VydGlvbnMoKyksIDEwNSBkZWxldGlvbnMoLSkNCiBj cmVhdGUgbW9kZSAxMDA2NDQgbGliL2xpYnJ0ZV92aG9zdC9ydGVfdmhvc3RfdXNlci5oDQoNCmRp ZmYgLS1naXQgYS9saWIvbGlicnRlX3Zob3N0L01ha2VmaWxlIGIvbGliL2xpYnJ0ZV92aG9zdC9N YWtlZmlsZQ0KaW5kZXggNWQ2YzZhYmFlZDUxLi4wNzQzOWExODZkOTEgMTAwNjQ0DQotLS0gYS9s aWIvbGlicnRlX3Zob3N0L01ha2VmaWxlDQorKysgYi9saWIvbGlicnRlX3Zob3N0L01ha2VmaWxl DQpAQCAtMjUsNiArMjUsNiBAQCBTUkNTLSQoQ09ORklHX1JURV9MSUJSVEVfVkhPU1QpIDo9IGZk X21hbi5jIGlvdGxiLmMgc29ja2V0LmMgdmhvc3QuYyBcDQogCQkJCQl2aG9zdF91c2VyLmMgdmly dGlvX25ldC5jDQogDQogIyBpbnN0YWxsIGluY2x1ZGVzDQotU1lNTElOSy0kKENPTkZJR19SVEVf TElCUlRFX1ZIT1NUKS1pbmNsdWRlICs9IHJ0ZV92aG9zdC5oDQorU1lNTElOSy0kKENPTkZJR19S VEVfTElCUlRFX1ZIT1NUKS1pbmNsdWRlICs9IHJ0ZV92aG9zdC5oIHJ0ZV92aG9zdF91c2VyLmgN CiANCiBpbmNsdWRlICQoUlRFX1NESykvbWsvcnRlLmxpYi5taw0KZGlmZiAtLWdpdCBhL2xpYi9s aWJydGVfdmhvc3QvcnRlX3Zob3N0LmggYi9saWIvbGlicnRlX3Zob3N0L3J0ZV92aG9zdC5oDQpp bmRleCBkMzMyMDY5OTc0NTMuLjdiNzY5NTI2MzhkYyAxMDA2NDQNCi0tLSBhL2xpYi9saWJydGVf dmhvc3QvcnRlX3Zob3N0LmgNCisrKyBiL2xpYi9saWJydGVfdmhvc3QvcnRlX3Zob3N0LmgNCkBA IC0xNiwxMiArMTYsMTMgQEANCiAjaW5jbHVkZSA8cnRlX21lbW9yeS5oPg0KICNpbmNsdWRlIDxy dGVfbWVtcG9vbC5oPg0KIA0KKyNpbmNsdWRlIDxydGVfdmhvc3RfdXNlci5oPg0KKw0KICNpZmRl ZiBfX2NwbHVzcGx1cw0KIGV4dGVybiAiQyIgew0KICNlbmRpZg0KIA0KIC8qIFRoZXNlIGFyZSBu b3QgQysrLWF3YXJlLiAqLw0KLSNpbmNsdWRlIDxsaW51eC92aG9zdC5oPg0KICNpbmNsdWRlIDxs aW51eC92aXJ0aW9fcmluZy5oPg0KIA0KICNkZWZpbmUgUlRFX1ZIT1NUX1VTRVJfQ0xJRU5UCQko MVVMTCA8PCAwKQ0KQEAgLTY1LDYgKzY2LDUxIEBAIHN0cnVjdCBydGVfdmhvc3RfdnJpbmcgew0K IH07DQogDQogLyoqDQorICogVmhvc3QgbGlicmFyeSBzdGFydGVkIHByb2Nlc3NpbmcgZ2l2ZW4g dmhvc3QgdXNlciBtZXNzYWdlLg0KKyAqDQorICogVGhpcyBzdGF0ZSBzaG91bGQgYmUgdXNlZCBl Zy4gdG8gc3RvcCByaW5ncyBwcm9jZXNzaW5nIGluIGNhc2Ugb2YNCisgKiBTRVRfTUVNX1RBQkxF IG1lc3NhZ2UuDQorICoNCisgKiBCYWNrZW5kIGlzIGFsbG93ZWQgdG8gcmV0dXJuIGFueSByZXN1 bHQgb2YgUlRFX1ZIT1NUX1VTRVJfTUVTU0FHRV9SRVNVTFRfKi4NCisgKi8NCisjZGVmaW5lIFJU RV9WSE9TVF9VU0VSX01TR19TVEFSVCAwDQorDQorLyoqDQorICogVmhvc3QgbGlicmFyeSBpcyBm aW5pc2hpbmcgcHJvY2Vzc2luZyBnaXZlbiB2aG9zdCB1c2VyIG1lc3NhZ2UuDQorICogSWYgYmFj a2VuZCBoYXZlIGhhbmRsZWQgdGhlIG1lc3NhZ2UgcHJvZHVjZWQgcmVzcG9uc2UgaXMgcGFzc2Vk IGFzIG1lc3NhZ2UNCisgKiBwYXJhbWV0ZXIuIElmIHJlc3BvbnNlIGlzIG5lZWRlZCBpdCB3aWxs IGJlIHNlbmQgYWZ0ZXIgcmV0dXJuaW5nLg0KKyAqDQorICogVGhpcyBzdGF0ZSBtaWdodCBiZSB1 c2VkIHRvIHJlc3VtZSByaW5nIHByb2Nlc3NpbmcgaW4gY2FzZSBvZiBTRVRfTUVNX1RBQkxFDQor ICogbWVzc2FnZS4NCisgKg0KKyAqIFJldHVybmluZyBSVEVfVkhPU1RfVVNFUl9NU0dfUkVTVUxU X0ZBSUxFRCB3aWxsIHRyaWdnZXIgZmFpbHVyZSBhY3Rpb24gaW4NCisgKiB2aG9zdCBsaWJyYXJ5 Lg0KKyAqLw0KKyNkZWZpbmUgUlRFX1ZIT1NUX1VTRVJfTVNHX0VORCAxDQorDQorLyoqDQorICog QmFja2VuZCB1bmRlcnN0b29kIHRoZSBtZXNzYWdlIGJ1dCBwcm9jZXNzaW5nIGl0IGZhaWxlZCBm b3Igc29tZSByZWFzb24uDQorICogdmhvc3QgbGlicmFyeSB3aWxsIHRha2UgdGhlIGZhaWx1cmUg YWN0aW9uIC0gY2hhbmNlIGNsb3NpbmcgZXhpc3RpbmcNCisgKiBjb25uZWN0aW9uLg0KKyAqLw0K KyNkZWZpbmUgUlRFX1ZIT1NUX1VTRVJfTVNHX1JFU1VMVF9GQUlMRUQgLTENCisNCisvKioNCisg KiBCYWNrZW5kIHVuZGVyc3Rvb2QgdGhlIG1lc3NhZ2UgYW5kIGhhbmRsZWQgaXQgZW50aXJseS4g QmFja2VuZCBpcyByZXNwb25zaWJsZQ0KKyAqIGZvciBmaWxsaW5nIG1lc3NhZ2Ugb2JqZWN0IHdp dGggcmlnaHQgcmVzcG9uc2UgZGF0YS4NCisgKi8NCisjZGVmaW5lIFJURV9WSE9TVF9VU0VSX01T R19SRVNVTFRfSEFORExFRCAwDQorDQorLyoqDQorICogQmFja2VuZCBpZ25vcmVkIHRoZSBtZXNz YWdlIG9yIHVuZGVyc3Rvb2QgYW5kIHRvb2sgc29tZSBhY3Rpb24uIEluIGVpdGhlcg0KKyAqIGNh c2UgdGhlIG1lc3NhZ2UgbmVlZCB0byBiZSBmdXJ0aGVyIHByb2Nlc3NlZCBieSB2aG9zdCBsaWJy YXJ5Lg0KKyAqDQorICogQmFja2VuZCBpcyBub3QgYWxsb3dlZCB0byBjaGFuZ2UgcGFzc2VkIG1l c3NhZ2UuDQorICovDQorI2RlZmluZSBSVEVfVkhPU1RfVVNFUl9NU0dfUkVTVUxUX09LIDENCisN CisNCisvKioNCiAgKiBEZXZpY2UgYW5kIHZyaW5nIG9wZXJhdGlvbnMuDQogICovDQogc3RydWN0 IHZob3N0X2RldmljZV9vcHMgew0KQEAgLTg0LDcgKzEzMCwxNyBAQCBzdHJ1Y3Qgdmhvc3RfZGV2 aWNlX29wcyB7DQogCWludCAoKm5ld19jb25uZWN0aW9uKShpbnQgdmlkKTsNCiAJdm9pZCAoKmRl c3Ryb3lfY29ubmVjdGlvbikoaW50IHZpZCk7DQogDQotCXZvaWQgKnJlc2VydmVkWzJdOyAvKio8 IFJlc2VydmVkIGZvciBmdXR1cmUgZXh0ZW5zaW9uICovDQorCS8qKg0KKwkgKiBCYWNrZW5kIGNh bGxiYWNrIGZvciB1c2VyIG1lc3NhZ2UuDQorCSAqDQorCSAqIEBwYXJhbSB2aWQgaWQgb2Ygdmhv c3QgZGV2aWNlDQorCSAqIEBwYXJhbSBtc2cgbWVzc2FnZSBvYmplY3QuDQorCSAqIEBwYXJhbSBw aGFzZSBSVEVfVkhPU1RfVVNFUl9NU0dfU1RBUlQgb3IgUlRFX1ZIT1NUX1VTRVJfTVNHX0VORA0K KwkgKiBAcmV0dXJuIG9uZSBvZiBSVEVfVkhPU1RfVVNFUl9NRVNTQUdFX1JFU1VMVF8qDQorCSAq Lw0KKwlpbnQgKCp1c2VyX21lc3NhZ2VfaGFuZGxlcikoaW50IHZpZCwgc3RydWN0IFZob3N0VXNl ck1zZyAqbXNnLCBpbnQgcGhhc2UpOw0KKw0KKwl2b2lkICpyZXNlcnZlZFsxXTsgLyoqPCBSZXNl cnZlZCBmb3IgZnV0dXJlIGV4dGVuc2lvbiAqLw0KIH07DQogDQogLyoqDQpkaWZmIC0tZ2l0IGEv bGliL2xpYnJ0ZV92aG9zdC9ydGVfdmhvc3RfdXNlci5oIGIvbGliL2xpYnJ0ZV92aG9zdC9ydGVf dmhvc3RfdXNlci5oDQpuZXcgZmlsZSBtb2RlIDEwMDY0NA0KaW5kZXggMDAwMDAwMDAwMDAwLi5m NzY3OGQzM2FjYzMNCi0tLSAvZGV2L251bGwNCisrKyBiL2xpYi9saWJydGVfdmhvc3QvcnRlX3Zo b3N0X3VzZXIuaA0KQEAgLTAsMCArMSwxMjAgQEANCisjaWZuZGVmIF9WSE9TVF9SVEVfVkhPU1Rf VVNFUl9IXw0KKyNkZWZpbmUgX1ZIT1NUX1JURV9WSE9TVF9VU0VSX0hfDQorDQorI2luY2x1ZGUg PHN0ZGludC5oPg0KKw0KKyNpZmRlZiBfX2NwbHVzcGx1cw0KK2V4dGVybiAiQyIgew0KKyNlbmRp Zg0KKw0KKy8qIFRoZXNlIGFyZSBub3QgQysrLWF3YXJlLiAqLw0KKyNpbmNsdWRlIDxsaW51eC92 aG9zdC5oPg0KKw0KKy8qIHJlZmVyIHRvIGh3L3ZpcnRpby92aG9zdC11c2VyLmMgKi8NCisNCitz dHJ1Y3Qgdmhvc3RfaW90bGJfbXNnIHsNCisJX191NjQgaW92YTsNCisJX191NjQgc2l6ZTsNCisJ X191NjQgdWFkZHI7DQorI2RlZmluZSBWSE9TVF9BQ0NFU1NfUk8gICAgICAweDENCisjZGVmaW5l IFZIT1NUX0FDQ0VTU19XTyAgICAgIDB4Mg0KKyNkZWZpbmUgVkhPU1RfQUNDRVNTX1JXICAgICAg MHgzDQorCV9fdTggcGVybTsNCisjZGVmaW5lIFZIT1NUX0lPVExCX01JU1MgICAgICAgICAgIDEN CisjZGVmaW5lIFZIT1NUX0lPVExCX1VQREFURSAgICAgICAgIDINCisjZGVmaW5lIFZIT1NUX0lP VExCX0lOVkFMSURBVEUgICAgIDMNCisjZGVmaW5lIFZIT1NUX0lPVExCX0FDQ0VTU19GQUlMICAg IDQNCisJX191OCB0eXBlOw0KK307DQorDQorI2RlZmluZSBWSE9TVF9NRU1PUllfTUFYX05SRUdJ T05TIDgNCisNCisjZGVmaW5lIFZIT1NUX1VTRVJfUFJPVE9DT0xfRl9NUQkwDQorI2RlZmluZSBW SE9TVF9VU0VSX1BST1RPQ09MX0ZfTE9HX1NITUZECTENCisjZGVmaW5lIFZIT1NUX1VTRVJfUFJP VE9DT0xfRl9SQVJQCTINCisjZGVmaW5lIFZIT1NUX1VTRVJfUFJPVE9DT0xfRl9SRVBMWV9BQ0sJ Mw0KKyNkZWZpbmUgVkhPU1RfVVNFUl9QUk9UT0NPTF9GX05FVF9NVFUgNA0KKyNkZWZpbmUgVkhP U1RfVVNFUl9QUk9UT0NPTF9GX1NMQVZFX1JFUSA1DQorDQordHlwZWRlZiBlbnVtIFZob3N0VXNl clJlcXVlc3Qgew0KKwlWSE9TVF9VU0VSX05PTkUgPSAwLA0KKwlWSE9TVF9VU0VSX0dFVF9GRUFU VVJFUyA9IDEsDQorCVZIT1NUX1VTRVJfU0VUX0ZFQVRVUkVTID0gMiwNCisJVkhPU1RfVVNFUl9T RVRfT1dORVIgPSAzLA0KKwlWSE9TVF9VU0VSX1JFU0VUX09XTkVSID0gNCwNCisJVkhPU1RfVVNF Ul9TRVRfTUVNX1RBQkxFID0gNSwNCisJVkhPU1RfVVNFUl9TRVRfTE9HX0JBU0UgPSA2LA0KKwlW SE9TVF9VU0VSX1NFVF9MT0dfRkQgPSA3LA0KKwlWSE9TVF9VU0VSX1NFVF9WUklOR19OVU0gPSA4 LA0KKwlWSE9TVF9VU0VSX1NFVF9WUklOR19BRERSID0gOSwNCisJVkhPU1RfVVNFUl9TRVRfVlJJ TkdfQkFTRSA9IDEwLA0KKwlWSE9TVF9VU0VSX0dFVF9WUklOR19CQVNFID0gMTEsDQorCVZIT1NU X1VTRVJfU0VUX1ZSSU5HX0tJQ0sgPSAxMiwNCisJVkhPU1RfVVNFUl9TRVRfVlJJTkdfQ0FMTCA9 IDEzLA0KKwlWSE9TVF9VU0VSX1NFVF9WUklOR19FUlIgPSAxNCwNCisJVkhPU1RfVVNFUl9HRVRf UFJPVE9DT0xfRkVBVFVSRVMgPSAxNSwNCisJVkhPU1RfVVNFUl9TRVRfUFJPVE9DT0xfRkVBVFVS RVMgPSAxNiwNCisJVkhPU1RfVVNFUl9HRVRfUVVFVUVfTlVNID0gMTcsDQorCVZIT1NUX1VTRVJf U0VUX1ZSSU5HX0VOQUJMRSA9IDE4LA0KKwlWSE9TVF9VU0VSX1NFTkRfUkFSUCA9IDE5LA0KKwlW SE9TVF9VU0VSX05FVF9TRVRfTVRVID0gMjAsDQorCVZIT1NUX1VTRVJfU0VUX1NMQVZFX1JFUV9G RCA9IDIxLA0KKwlWSE9TVF9VU0VSX0lPVExCX01TRyA9IDIyLA0KKwlWSE9TVF9VU0VSX01BWA0K K30gVmhvc3RVc2VyUmVxdWVzdDsNCisNCit0eXBlZGVmIGVudW0gVmhvc3RVc2VyU2xhdmVSZXF1 ZXN0IHsNCisJVkhPU1RfVVNFUl9TTEFWRV9OT05FID0gMCwNCisJVkhPU1RfVVNFUl9TTEFWRV9J T1RMQl9NU0cgPSAxLA0KKwlWSE9TVF9VU0VSX1NMQVZFX01BWA0KK30gVmhvc3RVc2VyU2xhdmVS ZXF1ZXN0Ow0KKw0KK3R5cGVkZWYgc3RydWN0IFZob3N0VXNlck1lbW9yeVJlZ2lvbiB7DQorCXVp bnQ2NF90IGd1ZXN0X3BoeXNfYWRkcjsNCisJdWludDY0X3QgbWVtb3J5X3NpemU7DQorCXVpbnQ2 NF90IHVzZXJzcGFjZV9hZGRyOw0KKwl1aW50NjRfdCBtbWFwX29mZnNldDsNCit9IFZob3N0VXNl ck1lbW9yeVJlZ2lvbjsNCisNCit0eXBlZGVmIHN0cnVjdCBWaG9zdFVzZXJNZW1vcnkgew0KKwl1 aW50MzJfdCBucmVnaW9uczsNCisJdWludDMyX3QgcGFkZGluZzsNCisJVmhvc3RVc2VyTWVtb3J5 UmVnaW9uIHJlZ2lvbnNbVkhPU1RfTUVNT1JZX01BWF9OUkVHSU9OU107DQorfSBWaG9zdFVzZXJN ZW1vcnk7DQorDQordHlwZWRlZiBzdHJ1Y3QgVmhvc3RVc2VyTG9nIHsNCisJdWludDY0X3QgbW1h cF9zaXplOw0KKwl1aW50NjRfdCBtbWFwX29mZnNldDsNCit9IFZob3N0VXNlckxvZzsNCisNCit0 eXBlZGVmIHN0cnVjdCBWaG9zdFVzZXJNc2cgew0KKwl1bmlvbiB7DQorCQlWaG9zdFVzZXJSZXF1 ZXN0IG1hc3RlcjsNCisJCVZob3N0VXNlclNsYXZlUmVxdWVzdCBzbGF2ZTsNCisJfSByZXF1ZXN0 Ow0KKw0KKyNkZWZpbmUgVkhPU1RfVVNFUl9WRVJTSU9OX01BU0sgICAgIDB4Mw0KKyNkZWZpbmUg VkhPU1RfVVNFUl9SRVBMWV9NQVNLICAgICAgICgweDEgPDwgMikNCisjZGVmaW5lIFZIT1NUX1VT RVJfTkVFRF9SRVBMWQkJKDB4MSA8PCAzKQ0KKwl1aW50MzJfdCBmbGFnczsNCisJdWludDMyX3Qg c2l6ZTsgLyogdGhlIGZvbGxvd2luZyBwYXlsb2FkIHNpemUgKi8NCisJdW5pb24gew0KKyNkZWZp bmUgVkhPU1RfVVNFUl9WUklOR19JRFhfTUFTSyAgIDB4ZmYNCisjZGVmaW5lIFZIT1NUX1VTRVJf VlJJTkdfTk9GRF9NQVNLICAoMHgxPDw4KQ0KKwkJdWludDY0X3QgdTY0Ow0KKwkJc3RydWN0IHZo b3N0X3ZyaW5nX3N0YXRlIHN0YXRlOw0KKwkJc3RydWN0IHZob3N0X3ZyaW5nX2FkZHIgYWRkcjsN CisJCVZob3N0VXNlck1lbW9yeSBtZW1vcnk7DQorCQlWaG9zdFVzZXJMb2cgICAgbG9nOw0KKwkJ c3RydWN0IHZob3N0X2lvdGxiX21zZyBpb3RsYjsNCisJfSBwYXlsb2FkOw0KKwlpbnQgZmRzW1ZI T1NUX01FTU9SWV9NQVhfTlJFR0lPTlNdOw0KK30gX19hdHRyaWJ1dGUoKHBhY2tlZCkpIFZob3N0 VXNlck1zZzsNCisNCisjZGVmaW5lIFZIT1NUX1VTRVJfSERSX1NJWkUgb2Zmc2V0b2YoVmhvc3RV c2VyTXNnLCBwYXlsb2FkLnU2NCkNCisNCisjaWZkZWYgX19jcGx1c3BsdXMNCit9DQorI2VuZGlm DQorDQorI2VuZGlmIC8qIF9WSE9TVF9SVEVfVkhPU1RfVVNFUl9IXyAqLw0KZGlmZiAtLWdpdCBh L2xpYi9saWJydGVfdmhvc3Qvdmhvc3QuaCBiL2xpYi9saWJydGVfdmhvc3Qvdmhvc3QuaA0KaW5k ZXggZDk0N2JjOWUzYjNmLi40MmExNDc0MDk1YTMgMTAwNjQ0DQotLS0gYS9saWIvbGlicnRlX3Zo b3N0L3Zob3N0LmgNCisrKyBiL2xpYi9saWJydGVfdmhvc3Qvdmhvc3QuaA0KQEAgLTE0MSwyMCAr MTQxLDYgQEAgc3RydWN0IHZob3N0X3ZpcnRxdWV1ZSB7DQogDQogI2RlZmluZSBWSVJUSU9fRl9J T01NVV9QTEFURk9STSAzMw0KIA0KLXN0cnVjdCB2aG9zdF9pb3RsYl9tc2cgew0KLQlfX3U2NCBp b3ZhOw0KLQlfX3U2NCBzaXplOw0KLQlfX3U2NCB1YWRkcjsNCi0jZGVmaW5lIFZIT1NUX0FDQ0VT U19STyAgICAgIDB4MQ0KLSNkZWZpbmUgVkhPU1RfQUNDRVNTX1dPICAgICAgMHgyDQotI2RlZmlu ZSBWSE9TVF9BQ0NFU1NfUlcgICAgICAweDMNCi0JX191OCBwZXJtOw0KLSNkZWZpbmUgVkhPU1Rf SU9UTEJfTUlTUyAgICAgICAgICAgMQ0KLSNkZWZpbmUgVkhPU1RfSU9UTEJfVVBEQVRFICAgICAg ICAgMg0KLSNkZWZpbmUgVkhPU1RfSU9UTEJfSU5WQUxJREFURSAgICAgMw0KLSNkZWZpbmUgVkhP U1RfSU9UTEJfQUNDRVNTX0ZBSUwgICAgNA0KLQlfX3U4IHR5cGU7DQotfTsNCiANCiAjZGVmaW5l IFZIT1NUX0lPVExCX01TRyAweDENCiANCmRpZmYgLS1naXQgYS9saWIvbGlicnRlX3Zob3N0L3Zo b3N0X3VzZXIuYyBiL2xpYi9saWJydGVfdmhvc3Qvdmhvc3RfdXNlci5jDQppbmRleCA5MGVkMjEx MmUwYWYuLjE1NTMyZTE4MmI1OCAxMDA2NDQNCi0tLSBhL2xpYi9saWJydGVfdmhvc3Qvdmhvc3Rf dXNlci5jDQorKysgYi9saWIvbGlicnRlX3Zob3N0L3Zob3N0X3VzZXIuYw0KQEAgLTEzMDEsNiAr MTMwMSw3IEBAIHZob3N0X3VzZXJfbXNnX2hhbmRsZXIoaW50IHZpZCwgaW50IGZkKQ0KIAlzdHJ1 Y3QgdmlydGlvX25ldCAqZGV2Ow0KIAlzdHJ1Y3QgVmhvc3RVc2VyTXNnIG1zZzsNCiAJaW50IHJl dDsNCisJaW50IHVzZXJfaGFuZGxlcl9yZXN1bHQ7DQogCWludCB1bmxvY2tfcmVxdWlyZWQgPSAw Ow0KIA0KIAlkZXYgPSBnZXRfZGV2aWNlKHZpZCk7DQpAQCAtMTM0Nyw2ICsxMzQ4LDI2IEBAIHZo b3N0X3VzZXJfbXNnX2hhbmRsZXIoaW50IHZpZCwgaW50IGZkKQ0KIAkJcmV0dXJuIC0xOw0KIAl9 DQogDQorDQorCWlmIChkZXYtPm5vdGlmeV9vcHMtPnVzZXJfbWVzc2FnZV9oYW5kbGVyKSB7DQor CQl1c2VyX2hhbmRsZXJfcmVzdWx0ID0gZGV2LT5ub3RpZnlfb3BzLT51c2VyX21lc3NhZ2VfaGFu ZGxlcigNCisJCQkJZGV2LT52aWQsICZtc2csIFJURV9WSE9TVF9VU0VSX01TR19TVEFSVCk7DQor DQorCQlzd2l0Y2ggKHVzZXJfaGFuZGxlcl9yZXN1bHQpIHsNCisJCWNhc2UgUlRFX1ZIT1NUX1VT RVJfTVNHX1JFU1VMVF9GQUlMRUQ6DQorCQkJUlRFX0xPRyhFUlIsIFZIT1NUX0NPTkZJRywNCisJ CQkJIlVzZXIgbWVzc2FnZSBoYW5kbGVyIGZhaWxlZFxuIik7DQorCQkJcmV0dXJuIC0xOw0KKwkJ Y2FzZSBSVEVfVkhPU1RfVVNFUl9NU0dfUkVTVUxUX0hBTkRMRUQ6DQorCQkJUlRFX0xPRyhERUJV RywgVkhPU1RfQ09ORklHLA0KKwkJCQkiVXNlciBtZXNzYWdlIGhhbmRsZWQgYnkgYmFja2VuZFxu Iik7DQorCQkJZ290byBtc2dfaGFuZGxlZDsNCisJCWNhc2UgUlRFX1ZIT1NUX1VTRVJfTVNHX1JF U1VMVF9PSzoNCisJCQlicmVhazsNCisJCX0NCisJfQ0KKw0KKw0KIAkvKg0KIAkgKiBOb3RlOiB3 ZSBkb24ndCBsb2NrIGFsbCBxdWV1ZXMgb24gVkhPU1RfVVNFUl9HRVRfVlJJTkdfQkFTRQ0KIAkg KiBhbmQgVkhPU1RfVVNFUl9SRVNFVF9PV05FUiwgc2luY2UgaXQgaXMgc2VudCB3aGVuIHZpcnRp byBzdG9wcw0KQEAgLTE0ODUsNiArMTUwNiwxNSBAQCB2aG9zdF91c2VyX21zZ19oYW5kbGVyKGlu dCB2aWQsIGludCBmZCkNCiAJaWYgKHVubG9ja19yZXF1aXJlZCkNCiAJCXZob3N0X3VzZXJfdW5s b2NrX2FsbF9xdWV1ZV9wYWlycyhkZXYpOw0KIA0KK21zZ19oYW5kbGVkOg0KKwlpZiAoZGV2LT5u b3RpZnlfb3BzLT51c2VyX21lc3NhZ2VfaGFuZGxlcikgew0KKwkJdXNlcl9oYW5kbGVyX3Jlc3Vs dCA9IGRldi0+bm90aWZ5X29wcy0+dXNlcl9tZXNzYWdlX2hhbmRsZXIoDQorCQkJCWRldi0+dmlk LCAmbXNnLCBSVEVfVkhPU1RfVVNFUl9NU0dfRU5EKTsNCisNCisJCWlmICh1c2VyX2hhbmRsZXJf cmVzdWx0ID09IFJURV9WSE9TVF9VU0VSX01TR19SRVNVTFRfRkFJTEVEKQ0KKwkJCXJldHVybiAt MTsNCisJfQ0KKw0KIAlpZiAobXNnLmZsYWdzICYgVkhPU1RfVVNFUl9ORUVEX1JFUExZKSB7DQog CQltc2cucGF5bG9hZC51NjQgPSAhIXJldDsNCiAJCW1zZy5zaXplID0gc2l6ZW9mKG1zZy5wYXls b2FkLnU2NCk7DQpkaWZmIC0tZ2l0IGEvbGliL2xpYnJ0ZV92aG9zdC92aG9zdF91c2VyLmggYi9s aWIvbGlicnRlX3Zob3N0L3Zob3N0X3VzZXIuaA0KaW5kZXggZDRiZDYwNGI5ZDZiLi5jZjNmMGRh MGVjNDEgMTAwNjQ0DQotLS0gYS9saWIvbGlicnRlX3Zob3N0L3Zob3N0X3VzZXIuaA0KKysrIGIv bGliL2xpYnJ0ZV92aG9zdC92aG9zdF91c2VyLmgNCkBAIC0xMCwxNyArMTAsNiBAQA0KIA0KICNp bmNsdWRlICJydGVfdmhvc3QuaCINCiANCi0vKiByZWZlciB0byBody92aXJ0aW8vdmhvc3QtdXNl ci5jICovDQotDQotI2RlZmluZSBWSE9TVF9NRU1PUllfTUFYX05SRUdJT05TIDgNCi0NCi0jZGVm aW5lIFZIT1NUX1VTRVJfUFJPVE9DT0xfRl9NUQkwDQotI2RlZmluZSBWSE9TVF9VU0VSX1BST1RP Q09MX0ZfTE9HX1NITUZECTENCi0jZGVmaW5lIFZIT1NUX1VTRVJfUFJPVE9DT0xfRl9SQVJQCTIN Ci0jZGVmaW5lIFZIT1NUX1VTRVJfUFJPVE9DT0xfRl9SRVBMWV9BQ0sJMw0KLSNkZWZpbmUgVkhP U1RfVVNFUl9QUk9UT0NPTF9GX05FVF9NVFUgNA0KLSNkZWZpbmUgVkhPU1RfVVNFUl9QUk9UT0NP TF9GX1NMQVZFX1JFUSA1DQotDQogI2RlZmluZSBWSE9TVF9VU0VSX1BST1RPQ09MX0ZFQVRVUkVT CSgoMVVMTCA8PCBWSE9TVF9VU0VSX1BST1RPQ09MX0ZfTVEpIHwgXA0KIAkJCQkJICgxVUxMIDw8 IFZIT1NUX1VTRVJfUFJPVE9DT0xfRl9MT0dfU0hNRkQpIHxcDQogCQkJCQkgKDFVTEwgPDwgVkhP U1RfVVNFUl9QUk9UT0NPTF9GX1JBUlApIHwgXA0KQEAgLTI4LDgzICsxNyw2IEBADQogCQkJCQkg KDFVTEwgPDwgVkhPU1RfVVNFUl9QUk9UT0NPTF9GX05FVF9NVFUpIHwgXA0KIAkJCQkJICgxVUxM IDw8IFZIT1NUX1VTRVJfUFJPVE9DT0xfRl9TTEFWRV9SRVEpKQ0KIA0KLXR5cGVkZWYgZW51bSBW aG9zdFVzZXJSZXF1ZXN0IHsNCi0JVkhPU1RfVVNFUl9OT05FID0gMCwNCi0JVkhPU1RfVVNFUl9H RVRfRkVBVFVSRVMgPSAxLA0KLQlWSE9TVF9VU0VSX1NFVF9GRUFUVVJFUyA9IDIsDQotCVZIT1NU X1VTRVJfU0VUX09XTkVSID0gMywNCi0JVkhPU1RfVVNFUl9SRVNFVF9PV05FUiA9IDQsDQotCVZI T1NUX1VTRVJfU0VUX01FTV9UQUJMRSA9IDUsDQotCVZIT1NUX1VTRVJfU0VUX0xPR19CQVNFID0g NiwNCi0JVkhPU1RfVVNFUl9TRVRfTE9HX0ZEID0gNywNCi0JVkhPU1RfVVNFUl9TRVRfVlJJTkdf TlVNID0gOCwNCi0JVkhPU1RfVVNFUl9TRVRfVlJJTkdfQUREUiA9IDksDQotCVZIT1NUX1VTRVJf U0VUX1ZSSU5HX0JBU0UgPSAxMCwNCi0JVkhPU1RfVVNFUl9HRVRfVlJJTkdfQkFTRSA9IDExLA0K LQlWSE9TVF9VU0VSX1NFVF9WUklOR19LSUNLID0gMTIsDQotCVZIT1NUX1VTRVJfU0VUX1ZSSU5H X0NBTEwgPSAxMywNCi0JVkhPU1RfVVNFUl9TRVRfVlJJTkdfRVJSID0gMTQsDQotCVZIT1NUX1VT RVJfR0VUX1BST1RPQ09MX0ZFQVRVUkVTID0gMTUsDQotCVZIT1NUX1VTRVJfU0VUX1BST1RPQ09M X0ZFQVRVUkVTID0gMTYsDQotCVZIT1NUX1VTRVJfR0VUX1FVRVVFX05VTSA9IDE3LA0KLQlWSE9T VF9VU0VSX1NFVF9WUklOR19FTkFCTEUgPSAxOCwNCi0JVkhPU1RfVVNFUl9TRU5EX1JBUlAgPSAx OSwNCi0JVkhPU1RfVVNFUl9ORVRfU0VUX01UVSA9IDIwLA0KLQlWSE9TVF9VU0VSX1NFVF9TTEFW RV9SRVFfRkQgPSAyMSwNCi0JVkhPU1RfVVNFUl9JT1RMQl9NU0cgPSAyMiwNCi0JVkhPU1RfVVNF Ul9NQVgNCi19IFZob3N0VXNlclJlcXVlc3Q7DQotDQotdHlwZWRlZiBlbnVtIFZob3N0VXNlclNs YXZlUmVxdWVzdCB7DQotCVZIT1NUX1VTRVJfU0xBVkVfTk9ORSA9IDAsDQotCVZIT1NUX1VTRVJf U0xBVkVfSU9UTEJfTVNHID0gMSwNCi0JVkhPU1RfVVNFUl9TTEFWRV9NQVgNCi19IFZob3N0VXNl clNsYXZlUmVxdWVzdDsNCi0NCi10eXBlZGVmIHN0cnVjdCBWaG9zdFVzZXJNZW1vcnlSZWdpb24g ew0KLQl1aW50NjRfdCBndWVzdF9waHlzX2FkZHI7DQotCXVpbnQ2NF90IG1lbW9yeV9zaXplOw0K LQl1aW50NjRfdCB1c2Vyc3BhY2VfYWRkcjsNCi0JdWludDY0X3QgbW1hcF9vZmZzZXQ7DQotfSBW aG9zdFVzZXJNZW1vcnlSZWdpb247DQotDQotdHlwZWRlZiBzdHJ1Y3QgVmhvc3RVc2VyTWVtb3J5 IHsNCi0JdWludDMyX3QgbnJlZ2lvbnM7DQotCXVpbnQzMl90IHBhZGRpbmc7DQotCVZob3N0VXNl ck1lbW9yeVJlZ2lvbiByZWdpb25zW1ZIT1NUX01FTU9SWV9NQVhfTlJFR0lPTlNdOw0KLX0gVmhv c3RVc2VyTWVtb3J5Ow0KLQ0KLXR5cGVkZWYgc3RydWN0IFZob3N0VXNlckxvZyB7DQotCXVpbnQ2 NF90IG1tYXBfc2l6ZTsNCi0JdWludDY0X3QgbW1hcF9vZmZzZXQ7DQotfSBWaG9zdFVzZXJMb2c7 DQotDQotdHlwZWRlZiBzdHJ1Y3QgVmhvc3RVc2VyTXNnIHsNCi0JdW5pb24gew0KLQkJVmhvc3RV c2VyUmVxdWVzdCBtYXN0ZXI7DQotCQlWaG9zdFVzZXJTbGF2ZVJlcXVlc3Qgc2xhdmU7DQotCX0g cmVxdWVzdDsNCi0NCi0jZGVmaW5lIFZIT1NUX1VTRVJfVkVSU0lPTl9NQVNLICAgICAweDMNCi0j ZGVmaW5lIFZIT1NUX1VTRVJfUkVQTFlfTUFTSyAgICAgICAoMHgxIDw8IDIpDQotI2RlZmluZSBW SE9TVF9VU0VSX05FRURfUkVQTFkJCSgweDEgPDwgMykNCi0JdWludDMyX3QgZmxhZ3M7DQotCXVp bnQzMl90IHNpemU7IC8qIHRoZSBmb2xsb3dpbmcgcGF5bG9hZCBzaXplICovDQotCXVuaW9uIHsN Ci0jZGVmaW5lIFZIT1NUX1VTRVJfVlJJTkdfSURYX01BU0sgICAweGZmDQotI2RlZmluZSBWSE9T VF9VU0VSX1ZSSU5HX05PRkRfTUFTSyAgKDB4MTw8OCkNCi0JCXVpbnQ2NF90IHU2NDsNCi0JCXN0 cnVjdCB2aG9zdF92cmluZ19zdGF0ZSBzdGF0ZTsNCi0JCXN0cnVjdCB2aG9zdF92cmluZ19hZGRy IGFkZHI7DQotCQlWaG9zdFVzZXJNZW1vcnkgbWVtb3J5Ow0KLQkJVmhvc3RVc2VyTG9nICAgIGxv ZzsNCi0JCXN0cnVjdCB2aG9zdF9pb3RsYl9tc2cgaW90bGI7DQotCX0gcGF5bG9hZDsNCi0JaW50 IGZkc1tWSE9TVF9NRU1PUllfTUFYX05SRUdJT05TXTsNCi19IF9fYXR0cmlidXRlKChwYWNrZWQp KSBWaG9zdFVzZXJNc2c7DQotDQotI2RlZmluZSBWSE9TVF9VU0VSX0hEUl9TSVpFIG9mZnNldG9m KFZob3N0VXNlck1zZywgcGF5bG9hZC51NjQpDQotDQogLyogVGhlIHZlcnNpb24gb2YgdGhlIHBy b3RvY29sIHdlIHN1cHBvcnQgKi8NCiAjZGVmaW5lIFZIT1NUX1VTRVJfVkVSU0lPTiAgICAweDEN CiANCi0tIA0KMi43LjQNCg0K