From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id E56F821D492CA for ; Wed, 13 Sep 2017 18:14:33 -0700 (PDT) Received: from fmsmga003.fm.intel.com ([10.253.24.29]) by fmsmga103.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 13 Sep 2017 18:17:31 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.42,390,1500966000"; d="scan'208";a="900053295" Received: from fmsmsx103.amr.corp.intel.com ([10.18.124.201]) by FMSMGA003.fm.intel.com with ESMTP; 13 Sep 2017 18:17:31 -0700 Received: from FMSMSX110.amr.corp.intel.com (10.18.116.10) by FMSMSX103.amr.corp.intel.com (10.18.124.201) with Microsoft SMTP Server (TLS) id 14.3.319.2; Wed, 13 Sep 2017 18:17:31 -0700 Received: from shsmsx102.ccr.corp.intel.com (10.239.4.154) by fmsmsx110.amr.corp.intel.com (10.18.116.10) with Microsoft SMTP Server (TLS) id 14.3.319.2; Wed, 13 Sep 2017 18:17:30 -0700 Received: from shsmsx152.ccr.corp.intel.com ([169.254.6.93]) by shsmsx102.ccr.corp.intel.com ([169.254.2.39]) with mapi id 14.03.0319.002; Thu, 14 Sep 2017 09:17:26 +0800 From: "Wang, Jian J" To: Laszlo Ersek CC: "edk2-devel@lists.01.org" , "Justen, Jordan L" , "Dong, Eric" , "Kinney, Michael D" , "Wolman, Ayellet" , "Yao, Jiewen" , "Zeng, Star" Thread-Topic: [edk2] [PATCH 4/4] OvmfPkg/QemuVideoDxe: Update QemuVideoDxe driver to bypass NULL pointer detection if enabled. Thread-Index: AQHTLOjaGr4fA1D1skaggpFr6cHp6qKzgimg Date: Thu, 14 Sep 2017 01:17:26 +0000 Message-ID: References: <20170913092507.12504-1-jian.j.wang@intel.com> <20170913092507.12504-5-jian.j.wang@intel.com> <848bc70b-b3f7-62fb-ef2d-df89ff8805a6@redhat.com> In-Reply-To: <848bc70b-b3f7-62fb-ef2d-df89ff8805a6@redhat.com> Accept-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-originating-ip: [10.239.127.40] MIME-Version: 1.0 Subject: Re: [PATCH 4/4] OvmfPkg/QemuVideoDxe: Update QemuVideoDxe driver to bypass NULL pointer detection if enabled. X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.22 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 14 Sep 2017 01:14:34 -0000 Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 VGhhbmtzIGZvciB0aGUgY29tbWVudHMgYW5kIGdvb2QgYWR2aWNlcy4gU29ycnkgdGhlIGZvcm1h dCBpc3N1ZXMuDQpUaGlzIGlzIG15IGZpcnN0IHBhdGNoIGZvciB0aGlzIHByb2plY3QuIFRvbyBt YW55IGRldGFpbHMgZm9yIG1lIHRvIGdldCANCmZhbWlsaWFyIHdpdGguIA0KDQooMSkgU3VyZS4N CigyKSBJJ2xsIGNoYW5nZSB0aGF0Lg0KKDMpIEknbGwgdXNlIHRoZSB0b29sIHRvIGVuc3VyZSB0 aGUgcGF0Y2ggZm9ybWF0Lg0KKDQpIEknbGwgcmVtb3ZlIHRoZSAnLCcgaW4gbmFtZQ0KKDUpIEkn bGwgYWRkIG1vcmUgZGVzY3JpcHRpb24gYWJvdXQgaXQuDQooNikgWW91J3JlIHJpZ2h0LiBJIHNo b3VsZCB1c2UgU2V0TWVtb3J5U3BhY2VBdHRyaWJ1dGVzKCkgb2YgRFhFIHNlcnZpY2UNCiAgICAg aW5zdGVhZC4gVGhlIG9ubHkgcmVhc29uIEkgZGlkbid0IGRvIGl0IGlzIHRoYXQgSSBmb3VuZCAN CiAgICAgIEdldE1lbW9yeVNwYWNlRGVzY3JpcHRvcigpIGRvZXNuJ3QgcmV0dXJuIHRoZSBzYW1l IGluZm9ybWF0aW9uDQogICAgIHdoaWNoIFNldE1lbW9yeVNwYWNlQXR0cmlidXRlcygpIGp1c3Qg Y2hhbmdlZC4gU28gSSBmZWVsIHVzaW5nIENQVQ0KICAgIGFyY2ggcHJvdG9jb2wgaXMgYSBiaXQg c2FmZXIuIEFueXdheSwgSSdsbCBjaGFuZ2UgaXQuDQooNykgSSBkaWQgcHV0IHRob3NlIG1hY3Jv cyBpbiB0aGUgaW5zdGFsbCBmdW5jdGlvbiBiZWZvcmUuIFRvIHJlZHVjZSB0aGUNCiAgICAgbnVt YmVyIG9mIGNoYW5nZWQgZmlsZXMsIEkgbWFkZSBjdXJyZW50IGNoYW5nZXMuIFlvdSdyZSByaWdo dCBpdCdzDQogICAgIG5vdCB3b3J0aHkuDQooOCkgVXNpbmcgbWFjcm8gY2FuIGhlbHAgdGhlIHJl YWRhYmlsaXR5LCB3aGljaCBpcyBtb3JlIGltcG9ydGFudCB0byBtZS4NCiAgICBJIGtub3cgZnVu Y3Rpb24gY2FuIGRvIHRoZSBzYW1lLiBCdXQgaXQgbG9va3MgYSBiaXQgaGVhdnkgaW4gdGhpcyBz aXR1YXRpb24uDQogICAgSSBoYXZlIHRvIGFkbWl0IHJlcGxhY2luZyAgdGhlIG1hY3JvcyB3aXRo IGEgbGlicmFyeSBpcyBhIHZlcnkgZ29vZCBpZGVhLCAgDQogICAgd2hpY2ggYnJpbmdzIHRoZSBz YW1lIHJlYWRhYmlsaXR5LiBJIGRpZG4ndCB0aGluayBvZiB0aGF0IGJlZm9yZS4gQWx0aG91Z2gg DQogICAgTGlicmFyeSBpcyBzdGlsbCBhIGxpdHRsZSBiaXQgaGVhdnkgdG8gbWUgYnV0IGl0J3Mg aW4gYSBkaWZmZXJlbnQgd2F5LCBJIHRoaW5rIGl0IA0KICAgIHdvcnRoIGEgdHJ5aW5nLg0KKDkp IFB1dHRpbmcgYSBzcGFjZSBiZWZvcmUgb3BlbiBwYXJlbnRoZXNpcyBpcyBmb3JjZWQgc3R5bGU/ IElmIHNvLCBJJ2xsIGFkZCBpdC4NCigxMCkgWW91J3JlIHJpZ2h0LiBVc2luZyBsaWJyYXJ5IGNh biByZWR1Y2UgdGhlIGRpc3R1cmJzIHRvIGFmZmVjdGVkIGRyaXZlcnMNCiAgICAgICBieSB0aGlz IGZlYXR1cmUgdG8gdGhlIG1pbmltdW0uDQoNCi0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQpG cm9tOiBMYXN6bG8gRXJzZWsgW21haWx0bzpsZXJzZWtAcmVkaGF0LmNvbV0gDQpTZW50OiBUaHVy c2RheSwgU2VwdGVtYmVyIDE0LCAyMDE3IDc6MzUgQU0NClRvOiBXYW5nLCBKaWFuIEogPGppYW4u ai53YW5nQGludGVsLmNvbT4NCkNjOiBlZGsyLWRldmVsQGxpc3RzLjAxLm9yZzsgSnVzdGVuLCBK b3JkYW4gTCA8am9yZGFuLmwuanVzdGVuQGludGVsLmNvbT47IERvbmcsIEVyaWMgPGVyaWMuZG9u Z0BpbnRlbC5jb20+OyBLaW5uZXksIE1pY2hhZWwgRCA8bWljaGFlbC5kLmtpbm5leUBpbnRlbC5j b20+OyBXb2xtYW4sIEF5ZWxsZXQgPGF5ZWxsZXQud29sbWFuQGludGVsLmNvbT47IFlhbywgSmll d2VuIDxqaWV3ZW4ueWFvQGludGVsLmNvbT47IFplbmcsIFN0YXIgPHN0YXIuemVuZ0BpbnRlbC5j b20+DQpTdWJqZWN0OiBSZTogW2VkazJdIFtQQVRDSCA0LzRdIE92bWZQa2cvUWVtdVZpZGVvRHhl OiBVcGRhdGUgUWVtdVZpZGVvRHhlIGRyaXZlciB0byBieXBhc3MgTlVMTCBwb2ludGVyIGRldGVj dGlvbiBpZiBlbmFibGVkLg0KDQpIaSwNCg0Kc29tZSBvZiB0aGUgcG9pbnRzIEknbSBnb2luZyB0 byBtYWtlIGhhdmUgYWxyZWFkeSBiZWVuIHBvaW50ZWQgb3V0IGJ5DQpKb3JkYW46DQoNCigxKSBX aGVuIHBvc3RpbmcgYSBwYXRjaCBzZXJpZXMsIHBsZWFzZSBjb2xsZWN0IHRoZSBDYzogdGFncyBm cm9tIGFsbCBvZg0KdGhlIHBhdGNoZXMsIGFuZCBhZGQgdGhlbSAqYWxsKiB0byB0aGUgY292ZXIg bGV0dGVyLiBUaGlzIHdheSBldmVyeW9uZQ0Kd2lsbCBnZXQgYSBwZXJzb25hbCBjb3B5IG9mIHRo ZSBnZW5lcmFsIGRlc2NyaXB0aW9uLg0KDQoNCigyKSBUaGUgc3ViamVjdCBsaW5lIGlzIHRvbyBs b25nLiBPbmUgcG9zc2libGUgc2ltcGxpZmljYXRpb246DQoNCk92bWZQa2cvUWVtdVZpZGVvRHhl OiBieXBhc3MgTlVMTCBwb2ludGVyIGRldGVjdGlvbg0KDQoNCk9uIDA5LzEzLzE3IDExOjI1LCBX YW5nLCBKaWFuIEogd3JvdGU6DQo+IFFlbXVWaWRlb0R4ZSBkcml2ZXIgd2lsbCBpbnN0YWxsIFZC RSBTSElNIGludG8gcGFnZSAwLiBJZiBOVUxMIHBvaW50ZXINCj4gZGV0ZWN0aW9uIGlzIGVuYWJs ZWQsIHBhZ2UgMCBtdXN0IGJlIGVuYWJsZWQgdGVtcG9yYXJpbHkgYmVmb3JlDQo+IGluc3RhbGxp bmcgYW5kIGRpc2FibGVkIGFnYWluIGFmdGVyd2FyZHMuIEZvciBXaW5kb3dzIDcgYm9vdCwgQklU NyBvZg0KPiBQY2ROdWxsUG9pbnRlckRldGVjdGlvblByb3BlcnR5TWFzayBtdXN0IHN0aWxsIGJl IHNldCB0byBhdm9pZCBoYW5nLg0KDQooMykgU3ViamVjdCBsaW5lIGFuZCBjb21taXQgbWVzc2Fn ZSBib3RoIHNob3VsZCBub3QgZXhjZWVkIDc0IGNoYXJhY3RlcnMNCmxpbmUgbGVuZ3RoLiAoTm90 IHN1cmUgaG93IG1hbnkgY2hhcnMgUGF0Y2hDaGVjay5weSBhY3R1YWxseSBlbmZvcmNlcywgSQ0K YWx3YXlzIHN0aWNrIHdpdGggNzQsIGZvbGxvd2luZyB0aGUgTGludXgga2VybmVsIHRyYWRpdGlv bi4pDQoNCkkgcmV3cmFwcGVkIHRoZSBjb21taXQgbWVzc2FnZSBoZXJlIGZvciByZWFkYWJpbGl0 eS4NCg0KDQo+DQo+IENjOiBKaWV3ZW4gWWFvIDxqaWV3ZW4ueWFvQGludGVsLmNvbT4NCj4gQ2M6 IEVyaWMgRG9uZyA8ZXJpYy5kb25nQGludGVsLmNvbT4NCj4gQ2M6IFN0YXIgWmVuZyA8c3Rhci56 ZW5nQGludGVsLmNvbT4NCj4gQ2M6IExhc3psbyBFcnNlayA8bGVyc2VrQHJlZGhhdC5jb20+DQo+ IENjOiBKdXN0ZW4sIEpvcmRhbiBMIDxqb3JkYW4ubC5qdXN0ZW5AaW50ZWwuY29tPg0KPiBDYzog S2lubmV5LCBNaWNoYWVsIEQgPG1pY2hhZWwuZC5raW5uZXlAaW50ZWwuY29tPg0KPiBDYzogV29s bWFuLCBBeWVsbGV0IDxheWVsbGV0LndvbG1hbkBpbnRlbC5jb20+DQo+IFN1Z2dlc3RlZC1ieTog V29sbWFuLCBBeWVsbGV0IDxheWVsbGV0LndvbG1hbkBpbnRlbC5jb20+DQo+IENvbnRyaWJ1dGVk LXVuZGVyOiBUaWFub0NvcmUgQ29udHJpYnV0aW9uIEFncmVlbWVudCAxLjENCj4gU2lnbmVkLW9m Zi1ieTogV2FuZywgSmlhbiBKIDxqaWFuLmoud2FuZ0BpbnRlbC5jb20+DQoNCig0KSBJIHRoaW5r IHRoaXMgaXMgYWxzbyBzb21ldGhpbmcgdGhhdCBKb3JkYW4gaGFkIHBvaW50ZWQgb3V0IGEgbG9u Zw0KdGltZSBhZ28gKGFwb2xvZ2llcyBpZiBJIG1pcy1yZW1lbWJlcik6DQoNClRoZSBzdHJpbmdz IGFmdGVyIHRoZSB0YWdzIHNob3VsZCBmb3JtIGNvcnJlY3QgZW1haWwgYWRkcmVzc2VzLCBhbmQg aWYNCnRoZXJlIGFyZSB2YXJpb3VzIGVtYWlsIG1ldGEtY2hhcmFjdGVycyBpbiB0aGVtLCBsaWtl ICIuIiAoZG90KSBhbmQgIiwiDQooY29tbWEpLCB0aGVuIHRoZXkgc2hvdWxkIGJlIHF1b3RlZCwg bGlrZSB0aGlzOg0KDQpDYzogIkp1c3RlbiwgSm9yZGFuIEwiIDxqb3JkYW4ubC5qdXN0ZW5AaW50 ZWwuY29tPg0KQ2M6ICJLaW5uZXksIE1pY2hhZWwgRCIgPG1pY2hhZWwuZC5raW5uZXlAaW50ZWwu Y29tPg0KQ2M6ICJXb2xtYW4sIEF5ZWxsZXQiIDxheWVsbGV0LndvbG1hbkBpbnRlbC5jb20+DQpT dWdnZXN0ZWQtYnk6ICJXb2xtYW4sIEF5ZWxsZXQiIDxheWVsbGV0LndvbG1hbkBpbnRlbC5jb20+ DQpTaWduZWQtb2ZmLWJ5OiAiV2FuZywgSmlhbiBKIiA8amlhbi5qLndhbmdAaW50ZWwuY29tPg0K DQpJZiB5b3UgbG9vayBhdCB0aGUgYWN0dWFsIGFkZHJlc3NlcyBvbiB0aGUgZW1haWxzIHRoYXQg aGF2ZSBiZWVuIHNlbnQNCm91dCwgeW91IGNhbiBzZWUgdGhleSBhcmUgYWxsIG1hbGZvcm1lZC4g Rm9yIGV4YW1wbGUsIEkgaGF2ZToNCg0KIkpvcmRhbiBMIDxqb3JkYW4ubC5qdXN0ZW5AaW50ZWwu Y29tPiIgZm9yIEpvcmRhbiAtLSB0aGUgcGFydCBiZWZvcmUgdGhlDQpjb21tYSB3YXMgdGFrZW4g dG8gYmUgYSBzZXBhcmF0ZSBlbWFpbCBhZGRyZXNzIChhIG1hbGZvcm1lZCBvbmUpLg0KDQpBdCBs ZWFzdCBmb3IgbXkgcmVwbHksIEkgaGF2ZSBmaXhlZCB1cCB0aGUgZW1haWwgYWRkcmVzc2VzLg0K DQoNCig1KSBUaGUgY29tbWl0IG1lc3NhZ2UgbWVudGlvbnMgQklUNyBvZiB0aGUgbmV3IFBDRC4N Cg0KRmlyc3QsIHRoYW5rcyBmb3IgY2hlY2tpbmcgV2luZG93cyA3IGJvb3QgKGFuZCBJJ20gaGFw cHkgdGhhdCBJIGdvdA0Kc3VzcGljaW91cyBvZiB0aGUgZmVhdHVyZSB3aXRoIHJlZ2FyZCB0byBX aW5kb3dzIDcpLiBJIHRoaW5rIEJJVDcgaXMgYQ0KZ29vZCBmZWF0dXJlLg0KDQpIb3dldmVyLCBw bGVhc2UgaW5jbHVkZSB0aGUgc2hvcnQgZGVzY3JpcHRpb24gb2YgdGhhdCBmZWF0dXJlIGluIHRo ZQ0KY29tbWl0IG1lc3NhZ2UgLS0gaXQgaXMgb25lIHNlbnRlbmNlOyAiRGlzYWJsZSBOVUxMIHBv aW50ZXIgZGV0ZWN0aW9uDQpqdXN0IGFmdGVyIEVuZE9mRHhlLiINCg0KKEkgdGhpbmsgQklUNyBp cyBhIHJlYWxseSBzbWFydCBmZWF0dXJlLCBhbmQgSSBsaWtlICpob3cqIGl0IGlzIHVzZWQgaW4N CiJOVUxMX0RFVEVDVElPTl9FTkFCTEVEIiBiZWxvdy4gVGhlIGNoZWNrIG1lYW5zLCAiaWYgdGhl IHByb3RlY3Rpb24gaXMNCmVuYWJsZWQgZm9yIERYRSwgYW5kICpub3QgZGlzYWJsZWQqICg9PSBh bHNvIGVuYWJsZWQpIGFmdGVyIEVuZC1vZi1EeGUiLg0KDQpUaGlzIGRvZXNuJ3QgbWVhbiB0aGF0 IEkgbGlrZSB0aGUgTlVMTF9ERVRFQ1RJT05fRU5BQkxFRCBtYWNybyBpdHNlbGY7DQptb3JlIG9u IHRoYXQgYmVsb3cuKQ0KDQoNCj4gLS0tDQo+ICBPdm1mUGtnL1FlbXVWaWRlb0R4ZS9Ecml2ZXIu YyAgICAgICAgIHwgMTUgKysrKysrKysrKysrKystDQo+ICBPdm1mUGtnL1FlbXVWaWRlb0R4ZS9R ZW11LmggICAgICAgICAgIHwgMTYgKysrKysrKysrKysrKysrKw0KPiAgT3ZtZlBrZy9RZW11Vmlk ZW9EeGUvUWVtdVZpZGVvRHhlLmluZiB8ICAyICsrDQo+ICAzIGZpbGVzIGNoYW5nZWQsIDMyIGlu c2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkNCj4NCj4gZGlmZiAtLWdpdCBhL092bWZQa2cvUWVt dVZpZGVvRHhlL0RyaXZlci5jIGIvT3ZtZlBrZy9RZW11VmlkZW9EeGUvRHJpdmVyLmMNCj4gaW5k ZXggMGRjZTgwZTU5Yi4uZWUwZWVkNzIxNCAxMDA2NDQNCj4gLS0tIGEvT3ZtZlBrZy9RZW11Vmlk ZW9EeGUvRHJpdmVyLmMNCj4gKysrIGIvT3ZtZlBrZy9RZW11VmlkZW9EeGUvRHJpdmVyLmMNCj4g QEAgLTE5NCw2ICsxOTQsNyBAQCBRZW11VmlkZW9Db250cm9sbGVyRHJpdmVyU3RhcnQgKA0KPiAg ICBQQ0lfVFlQRTAwICAgICAgICAgICAgICAgICAgICAgICAgUGNpOw0KPiAgICBRRU1VX1ZJREVP X0NBUkQgICAgICAgICAgICAgICAgICAgKkNhcmQ7DQo+ICAgIEVGSV9QQ0lfSU9fUFJPVE9DT0wg ICAgICAgICAgICAgICAqQ2hpbGRQY2lJbzsNCj4gKyAgRUZJX0NQVV9BUkNIX1BST1RPQ09MICAg ICAgICAgICAgICpDcHU7DQoNCig2KSBJIGJlbGlldmUgSSBtZW50aW9uZWQgdGhpcyBpbiB0aGUg ZWFybGllciBkaXNjdXNzaW9uLCBpbiBzb21lIGZvcm0sDQpidXQgbm93IEknbGwgc2F5IGl0IGFn YWluOg0KDQpBIFVFRkkgZHJpdmVyIGhhcyBubyBidXNpbmVzcyBwb2tpbmcgYXQgdGhlIENQVSBB cmNoIHByb3RvY29sLiBUaGUgUEkNCnNwZWMgKDEuNikgc3RhdGVzLA0KDQogIDEyLjMgQ1BVIEFy Y2hpdGVjdHVyYWwgUHJvdG9jb2wNCiAgRUZJX0NQVV9BUkNIX1BST1RPQ09MDQoNCiAgU3VtbWFy eQ0KDQogIEFic3RyYWN0cyB0aGUgcHJvY2Vzc29yIHNlcnZpY2VzIHRoYXQgYXJlIHJlcXVpcmVk IHRvIGltcGxlbWVudCBzb21lDQogIG9mIHRoZSBEWEUgc2VydmljZXMuIFRoaXMgcHJvdG9jb2wg bXVzdCBiZSBwcm9kdWNlZCBieSBhIGJvb3Qgc2VydmljZQ0KICBvciBydW50aW1lIERYRSBkcml2 ZXIgYW5kIG1heSBvbmx5IGJlIGNvbnN1bWVkIGJ5IHRoZSBEWEUgRm91bmRhdGlvbg0KICBhbmQg RFhFIGRyaXZlcnMgdGhhdCBwcm9kdWNlIGFyY2hpdGVjdHVyYWwgcHJvdG9jb2xzLg0KDQpUaGUg RFhFIGNvcmUgaXMgb2J2aW91c2x5IGZyZWUgdG8gdXNlIHRoZSBDUFUgQXJjaCBwcm90b2NvbCwg YnV0IGEgVUVGSQ0KZHJpdmVyIGlzIGZvcmJpZGRlbiBmcm9tIGl0LCAqZXZlbiBpZiogd2Ugc2F5 IHRoYXQsIGluIHRoaXMgVUVGSSBkcml2ZXIsDQp3ZSBhcmUgZ29pbmcgdG8gdXNlIERYRSBzZXJ2 aWNlcy4gKFdoaWNoIGNvbWUgZnJvbSB0aGUgUEkgc3BlYywgYW5kIG5vdA0KdGhlIFVFRkkgc3Bl Yy4pDQoNClRoZXJlZm9yZSwgaGVyZSB3ZSBoYXZlIHRvIHVzZSBnRFMtPlNldE1lbW9yeVNwYWNl QXR0cmlidXRlcygpLg0KDQpUaGUgZ0RTLT5TZXRNZW1vcnlTcGFjZUF0dHJpYnV0ZXMoKSBzZXJ2 aWNlIGRlcGVuZHMgb24gdGhlIENQVSBBcmNoDQpwcm90b2NvbCwgYnkgdGhlIFBJIHNwZWMuIEl0 IGlzIG5vdCBlYXN5IHRvIHNlZSwgYmVjYXVzZSB0aGUgUEkgc3BlYyBoYXMNCmEgZm9ybWF0dGlu ZyBlcnJvciBpbiB0aGlzIGFyZWEuIElmIHlvdSBsb29rIHVuZGVyDQpHZXRNZW1vcnlTcGFjZURl c2NyaXB0b3IoKSwgdGhlcmUgaXMgYW4gZXJyb3IgY29kZQ0KDQogIEVGSV9OT1RfQVZBSUxBQkxF X1lFVCAgVGhlIGF0dHJpYnV0ZXMgY2Fubm90IGJlIHNldCBiZWNhdXNlIENQVQ0KICAgICAgICAg ICAgICAgICAgICAgICAgIGFyY2hpdGVjdHVyYWwgcHJvdG9jb2wgaXMgbm90IGF2YWlsYWJsZSB5 ZXQuDQoNCk9idmlvdXNseSB0aGlzIGVycm9yIGNvZGUgYmVsb25ncyB0byBTZXRNZW1vcnlTcGFj ZUF0dHJpYnV0ZXMoKSwgbm90DQpHZXRNZW1vcnlTcGFjZURlc2NyaXB0b3IoKS4NCg0KQW55d2F5 LCBnRFMgc2hvdWxkIGJlIHVzZWQsIGFyY2hpdGVjdHVyYWwgcHJvdG9jb2xzIHNob3VsZG4ndCBi ZS4NCg0KDQo+DQo+ICAgIE9sZFRwbCA9IGdCUy0+UmFpc2VUUEwgKFRQTF9DQUxMQkFDSyk7DQo+ DQo+IEBAIC00NzksNyArNDgwLDE5IEBAIFFlbXVWaWRlb0NvbnRyb2xsZXJEcml2ZXJTdGFydCAo DQo+ICAjaWYgZGVmaW5lZCBNREVfQ1BVX0lBMzIgfHwgZGVmaW5lZCBNREVfQ1BVX1g2NA0KPiAg ICBpZiAoUHJpdmF0ZS0+VmFyaWFudCA9PSBRRU1VX1ZJREVPX0JPQ0hTX01NSU8gfHwNCj4gICAg ICAgIFByaXZhdGUtPlZhcmlhbnQgPT0gUUVNVV9WSURFT19CT0NIUykgew0KPiAtICAgIEluc3Rh bGxWYmVTaGltIChDYXJkLT5OYW1lLCBQcml2YXRlLT5HcmFwaGljc091dHB1dC5Nb2RlLT5GcmFt ZUJ1ZmZlckJhc2UpOw0KPiArICAgIC8vDQo+ICsgICAgLy8gUHJlcGFyZSBDUFUgYXJjaCBwcm90 b2NvbCBmb3IgTlVMTCBwb2ludGVyIGRldGVjdGlvbg0KPiArICAgIC8vDQo+ICsgICAgU3RhdHVz ID0gZ0JTLT5Mb2NhdGVQcm90b2NvbCAoDQo+ICsgICAgICAgICAgICAgICAgICAgICZnRWZpQ3B1 QXJjaFByb3RvY29sR3VpZCwNCj4gKyAgICAgICAgICAgICAgICAgICAgTlVMTCwNCj4gKyAgICAg ICAgICAgICAgICAgICAgKFZPSUQgKiopICZDcHUNCj4gKyAgICAgICAgICAgICAgICAgICAgKTsN Cj4gKyAgICBBU1NFUlRfRUZJX0VSUk9SIChTdGF0dXMpOw0KPiArDQo+ICsgICAgRElTQUJMRV9O VUxMX0RFVEVDVElPTihDcHUpOw0KPiArICAgICAgSW5zdGFsbFZiZVNoaW0gKENhcmQtPk5hbWUs IFByaXZhdGUtPkdyYXBoaWNzT3V0cHV0Lk1vZGUtPkZyYW1lQnVmZmVyQmFzZSk7DQo+ICsgICAg RU5BQkxFX05VTExfREVURUNUSU9OKENwdSk7DQoNCig3KSBUaGUgTlVMTCBkZXRlY3Rpb24gZGlz YWJsaW5nIGFuZCBlbmFibGluZyBzaG91bGQgYnJhY2tldCB0aGUNCmFmZmVjdGVkIGNvZGUgYXMg dGlnaHRseSBhcyBwb3NzaWJsZS4NCg0KU28gcGxlYXNlIG1vdmUgdGhpcyBpbnRvIEluc3RhbGxW YmVTaGltKCkgYWNjb3JkaW5nbHkuDQoNCg0KPiAgICB9DQo+ICAjZW5kaWYNCj4NCj4gZGlmZiAt LWdpdCBhL092bWZQa2cvUWVtdVZpZGVvRHhlL1FlbXUuaCBiL092bWZQa2cvUWVtdVZpZGVvRHhl L1FlbXUuaA0KPiBpbmRleCA3ZmJiMjViM2VmLi5iYjNiYzZlYjBmIDEwMDY0NA0KPiAtLS0gYS9P dm1mUGtnL1FlbXVWaWRlb0R4ZS9RZW11LmgNCj4gKysrIGIvT3ZtZlBrZy9RZW11VmlkZW9EeGUv UWVtdS5oDQo+IEBAIC0yNSw2ICsyNSw3IEBADQo+ICAjaW5jbHVkZSA8UHJvdG9jb2wvUGNpSW8u aD4NCj4gICNpbmNsdWRlIDxQcm90b2NvbC9Ecml2ZXJTdXBwb3J0ZWRFZmlWZXJzaW9uLmg+DQo+ ICAjaW5jbHVkZSA8UHJvdG9jb2wvRGV2aWNlUGF0aC5oPg0KPiArI2luY2x1ZGUgPFByb3RvY29s L0NwdS5oPg0KPg0KPiAgI2luY2x1ZGUgPExpYnJhcnkvRGVidWdMaWIuaD4NCj4gICNpbmNsdWRl IDxMaWJyYXJ5L1VlZmlEcml2ZXJFbnRyeVBvaW50Lmg+DQo+IEBAIC04Miw2ICs4MywyMSBAQCB0 eXBlZGVmIHN0cnVjdCB7DQo+DQo+ICAjZGVmaW5lIEdSQVBISUNTX09VVFBVVF9JTlZBTElERV9N T0RFX05VTUJFUiAgMHhmZmZmDQo+DQo+ICsvLw0KPiArLy8gVkJFIGNvZGUgd2lsbCBhY2Nlc3Mg bWVtb3J5IGJldHdlZW4gMC00MDk1IHdoaWNoIHdpbGwgY2F1c2UgcGFnZSBmYXVsdCBleGNlcHRp b24NCj4gKy8vIGlmIE5VTEwgcG9pbnRlciBkZXRlY3Rpb24gbWVjaGFuaXNtIGlzIGVuYWJsZWQu IEZvbGxvd2luZyBtYWNyb3MgY2FuIGJlIHVzZWQgdG8NCj4gKy8vIGRpc2FibGUvZW5hYmxlIE5V TEwgcG9pbnRlciBkZXRlY3Rpb24gYmVmb3JlL2FmdGVyIGFjY2Vzc2luZyB0aG9zZSBtZW1vcnku DQo+ICsvLw0KPiArI2RlZmluZSBOVUxMX0RFVEVDVElPTl9FTkFCTEVEICAoKFBjZEdldDgoUGNk TnVsbFBvaW50ZXJEZXRlY3Rpb25Qcm9wZXJ0eU1hc2spICYgKEJJVDB8QklUNykpID09IEJJVDAp DQo+ICsjZGVmaW5lIERJU0FCTEVfTlVMTF9ERVRFQ1RJT04oQ3B1KSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwNCj4gKyAgaWYgKE5VTExfREVURUNUSU9OX0VO QUJMRUQpIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg XA0KPiArICAgIChDcHUpLT5TZXRNZW1vcnlBdHRyaWJ1dGVzKChDcHUpLCAwLCBFRklfUEFHRV9T SVpFLCAwKTsgICAgICAgICAgICAgICAgICAgICBcDQo+ICsgIH0NCj4gKyNkZWZpbmUgRU5BQkxF X05VTExfREVURUNUSU9OKENwdSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgXA0KPiArICBpZiAoTlVMTF9ERVRFQ1RJT05fRU5BQkxFRCkgeyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcDQo+ICsgICAgKENwdSktPlNl dE1lbW9yeUF0dHJpYnV0ZXMoKENwdSksIDAsIEVGSV9QQUdFX1NJWkUsIEVGSV9NRU1PUllfUlAp OyAgICAgICAgIFwNCj4gKyAgfQ0KPiArDQoNCig4KSBJIGJlbGlldmUgSm9yZGFuIHRvbyBjb21t ZW50ZWQgb24gdGhlc2UgbWFjcm9zIGVsc2V3aGVyZSAodW5kZXINCnBhdGNoIDEvNCkuDQoNCklu IG15IG9waW5pb24sIHRoaXMgZnVuY3Rpb25hbGl0eSBzaG91bGQgYmUgZXh0cmFjdGVkIGludG8g YSBsaWJyYXJ5DQpjbGFzcywgd2l0aCBhIGxpYnJhcnkgaW5zdGFuY2UgdGhhdCBpcyBzdWl0YWJs ZSBmb3IgYXQgbGVhc3QgVUVGSV9EUklWRVINCm1vZHVsZXMuIChNYXliZSBldmVuIGZvciBEWEVf RFJJVkVSIG1vZHVsZXMuKQ0KDQpZb3UgY291bGQgYWRkIGEgc2VwYXJhdGUgbGlicmFyeSBpbnN0 YW5jZSBmb3IgU01NIGRyaXZlcnMsIGlmIHRoYXQgd2VyZQ0KbmVjZXNzYXJ5Lg0KDQoNCig5KSBT dHlsZSBjb21tZW50OiBwbGVhc2UgcHV0IG9uZSBzcGFjZSBjaGFyYWN0ZXIgYmV0d2VlbiB0aGUg ZnVuY3Rpb24NCmRlc2lnbmF0b3IgYW5kIHRoZSBvcGVuaW5nIHBhcmVudGhlc2lzLg0KDQoNCj4g IC8vDQo+ICAvLyBRRU1VIFZpZGVvIFByaXZhdGUgRGF0YSBTdHJ1Y3R1cmUNCj4gIC8vDQo+IGRp ZmYgLS1naXQgYS9Pdm1mUGtnL1FlbXVWaWRlb0R4ZS9RZW11VmlkZW9EeGUuaW5mIGIvT3ZtZlBr Zy9RZW11VmlkZW9EeGUvUWVtdVZpZGVvRHhlLmluZg0KPiBpbmRleCA3YzdkNDI5YmNhLi41ZDE2 NmViOTljIDEwMDY0NA0KPiAtLS0gYS9Pdm1mUGtnL1FlbXVWaWRlb0R4ZS9RZW11VmlkZW9EeGUu aW5mDQo+ICsrKyBiL092bWZQa2cvUWVtdVZpZGVvRHhlL1FlbXVWaWRlb0R4ZS5pbmYNCj4gQEAg LTcyLDcgKzcyLDkgQEANCj4gICAgZ0VmaUdyYXBoaWNzT3V0cHV0UHJvdG9jb2xHdWlkICAgICAg ICAgICAgICAgICMgUFJPVE9DT0wgQllfU1RBUlQNCj4gICAgZ0VmaURldmljZVBhdGhQcm90b2Nv bEd1aWQgICAgICAgICAgICAgICAgICAgICMgUFJPVE9DT0wgQllfU1RBUlQNCj4gICAgZ0VmaVBj aUlvUHJvdG9jb2xHdWlkICAgICAgICAgICAgICAgICAgICAgICAgICMgUFJPVE9DT0wgVE9fU1RB UlQNCj4gKyAgZ0VmaUNwdUFyY2hQcm90b2NvbEd1aWQNCj4NCj4gIFtQY2RdDQo+ICAgIGdPcHRp b25Sb21Qa2dUb2tlblNwYWNlR3VpZC5QY2REcml2ZXJTdXBwb3J0ZWRFZmlWZXJzaW9uDQo+ICsg IGdFZmlNZGVNb2R1bGVQa2dUb2tlblNwYWNlR3VpZC5QY2ROdWxsUG9pbnRlckRldGVjdGlvblBy b3BlcnR5TWFzaw0KDQooMTApIEluc3RlYWQgb2YgdGhlc2UsIHRoZSBsaWJyYXJ5IGNsYXNzIHRo YXQgSSBkZXNjcmliZWQgdW5kZXIgKDgpDQpzaG91bGQgYmUgYWRkZWQgaGVyZS4NCg0KQW55IGZ1 cnRoZXIgZGVwZW5kZW5jaWVzIGxpa2UgUENEcywgcHJvdG9jb2xzIGV0YyBzaG91bGQgYmUgaW5o ZXJpdGVkIGJ5DQp0aGUgZHJpdmVyIHRocm91Z2ggdGhlIGxpYnJhcnkgaW5zdGFuY2UgdGhhdCB0 aGUgcGxhdGZvcm0gRFNDIGZpbGUNCnJlc29sdmVzIHRoZSBsaWJyYXJ5IGNsYXNzIHRvLg0KDQpC b251czogc2hvdWxkIHlvdSByZWFsaXplIHRoYXQgdGhlIGZlYXR1cmUgaXMgaW1wb3NzaWJsZSB0 byBpbXBsZW1lbnQNCndpdGhvdXQgYWNjZXNzaW5nIHRoZSBDUFUgQXJjaCBwcm90b2NvbCBkaXJl Y3RseSwgeW91IGNvdWxkIGhpZGUgdGhlDQpwcm90b2NvbCBHVUlEIGRlcGVuZGVuY3kgaW4gdGhl IGxpYnJhcnkgaW5zdGFuY2UgSU5GIGZpbGUsIGFuZCBJJ2QgYmUNCm5vbmUgdGhlIHdpc2VyLg0K DQouLi4gV2VsbCwgSSBjb3VsZCBhdCBsZWFzdCBwcmV0ZW5kIHRoYXQuIDopDQoNClRoYW5rcywN Ckxhc3psbw0K