From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andrew Cooper Subject: Re: [PATCH 2/4] x86: suppress SMAP and SMEP while running 32-bit PV guest code Date: Wed, 9 Mar 2016 11:19:39 +0000 Message-ID: <56E006CB.7090907@citrix.com> References: <56D97AC102000078000D9537@prv-mh.provo.novell.com> <56D97F4802000078000D9561@prv-mh.provo.novell.com> <56DDB366.8020207@citrix.com> <56DE93E902000078000DA3D1@prv-mh.provo.novell.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail6.bemta3.messagelabs.com ([195.245.230.39]) by lists.xen.org with esmtp (Exim 4.84) (envelope-from ) id 1adc9d-0005Ws-1d for xen-devel@lists.xenproject.org; Wed, 09 Mar 2016 11:19:49 +0000 In-Reply-To: <56DE93E902000078000DA3D1@prv-mh.provo.novell.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: Jan Beulich Cc: xen-devel , Keir Fraser , Feng Wu List-Id: xen-devel@lists.xenproject.org T24gMDgvMDMvMTYgMDc6NTcsIEphbiBCZXVsaWNoIHdyb3RlOgo+Cj4+PiBAQCAtMTc0LDEwICsx NzQsNDMgQEAgY29tcGF0X2JhZF9oeXBlcmNhbGw6Cj4+PiAgLyogJXJieDogc3RydWN0IHZjcHUs IGludGVycnVwdHMgZGlzYWJsZWQgKi8KPj4+ICBFTlRSWShjb21wYXRfcmVzdG9yZV9hbGxfZ3Vl c3QpCj4+PiAgICAgICAgICBBU1NFUlRfSU5URVJSVVBUU19ESVNBQkxFRAo+Pj4gKy5MY3I0X29y aWc6Cj4+PiArICAgICAgICBBU01fTk9QMyAvKiBtb3YgICAlY3I0LCAlcmF4ICovCj4+PiArICAg ICAgICBBU01fTk9QNiAvKiBhbmQgICAkLi4uLCAlcmF4ICovCj4+PiArICAgICAgICBBU01fTk9Q MyAvKiBtb3YgICAlcmF4LCAlY3I0ICovCj4+PiArICAgICAgICAucHVzaHNlY3Rpb24gLmFsdGlu c3RyX3JlcGxhY2VtZW50LCAiYXgiCj4+PiArLkxjcjRfYWx0Ogo+Pj4gKyAgICAgICAgbW92ICAg JWNyNCwgJXJheAo+Pj4gKyAgICAgICAgYW5kICAgJH4oWDg2X0NSNF9TTUVQfFg4Nl9DUjRfU01B UCksICVyYXgKPj4+ICsgICAgICAgIG1vdiAgICVyYXgsICVjcjQKPj4+ICsuTGNyNF9hbHRfZW5k Ogo+Pj4gKyAgICAgICAgLnNlY3Rpb24gLmFsdGluc3RydWN0aW9ucywgImEiCj4+PiArICAgICAg ICBhbHRpbnN0cnVjdGlvbl9lbnRyeSAuTGNyNF9vcmlnLCAuTGNyNF9hbHQsIFg4Nl9GRUFUVVJF X1NNRVAsIDEyLCBcCj4+PiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoLkxjcjRfYWx0 X2VuZCAtIC5MY3I0X2FsdCkKPj4+ICsgICAgICAgIGFsdGluc3RydWN0aW9uX2VudHJ5IC5MY3I0 X29yaWcsIC5MY3I0X2FsdCwgWDg2X0ZFQVRVUkVfU01BUCwgMTIsIFwKPj4+ICsgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICguTGNyNF9hbHRfZW5kIC0gLkxjcjRfYWx0KQo+PiBUaGVzZSAx MidzIGxvb2sgYXMgaWYgdGhleSBzaG91bGQgYmUgKC5MY3I0X2FsdCAtIC5MY3I0X29yaWcpLgo+ IFdlbGwsIHRoZSBOT1BzIHRoYXQgZ2V0IHB1dCB0aGVyZSBtYWtlIDEyICg9IDMgKyA2ICsgMykg YQo+IHByZXR0eSBvYnZpb3VzIChzaG9ydGVyIGFuZCBoZW5jZSBtb3JlIHJlYWRhYmxlKSBvcHRp b24uIEJ1dAo+IHllcywgaWYgeW91J3JlIG9mIHRoZSBzdHJvbmcgb3BpbmlvbiB0aGF0IHdlIHNo b3VsZCB1c2UgdGhlCj4gbG9uZ2VyIGFsdGVybmF0aXZlLCBJIGNhbiBzd2l0Y2ggdGhlc2UgYXJv dW5kLgoKSSBoYXZlIHRvIGFkbWl0IHRoYXQgSSBwcmVmZXIgdGhlIExpbnV4IEFMVEVSTkFUSVZF IG1hY3JvIGZvciBhc3NlbWJseSwKd2hpY2ggdGFrZXMgY2FyZSBvZiB0aGUgY2FsY3VsYXRpb25z IGxpa2UgdGhpcy4gIEl0IGlzIHNsaWdodGx5CnVuZm9ydHVuYXRlIHRoYXQgaXQgZ2VuZXJhbGx5 IHJlcXVpcmVzIGl0cyBhc3NlbWJseSBibG9ja3MgaW4gc3RyaW5ncywKYW5kIGlzIHVuc3VpdGFi bGUgZm9yIGxhcmdlciBibG9ja3MuICBQZXJoYXBzIHdlIGNhbiBzZWUgYWJvdXQgYW4KdmFyaWFu dCBpbiBkdWUgY291cnNlLgoKPgo+Pj4gKy8qIFRoaXMgbXVzdG4ndCBtb2RpZnkgcmVnaXN0ZXJz IG90aGVyIHRoYW4gJXJheC4gKi8KPj4+ICtFTlRSWShjcjRfc21lcF9zbWFwX3Jlc3RvcmUpCj4+ PiArICAgICAgICBtb3YgICAlY3I0LCAlcmF4Cj4+PiArICAgICAgICB0ZXN0ICAkWDg2X0NSNF9T TUVQfFg4Nl9DUjRfU01BUCwlZWF4Cj4+PiArICAgICAgICBqbnogICAwZgo+Pj4gKyAgICAgICAg b3IgICAgY3I0X3NtZXBfc21hcF9tYXNrKCVyaXApLCAlcmF4Cj4+PiArICAgICAgICBtb3YgICAl cmF4LCAlY3I0Cj4+PiArICAgICAgICByZXQKPj4+ICswOgo+Pj4gKyAgICAgICAgYW5kICAgY3I0 X3NtZXBfc21hcF9tYXNrKCVyaXApLCAlZWF4Cj4+PiArICAgICAgICBjbXAgICBjcjRfc21lcF9z bWFwX21hc2soJXJpcCksICVlYXgKPj4+ICsgICAgICAgIGplICAgIDFmCj4+PiArICAgICAgICBC VUcKPj4gV2hhdCBpcyB0aGUgcHVycG9zZSBvZiB0aGlzIGJ1Z2NoZWNrPyBJdCBsb29rcyBsaWtl IGl0IGlzIGNhdGNoaW5nIGEKPj4gbWlzbWF0Y2ggb2YgbWFza2VkIG9wdGlvbnMsIGJ1dCBJIGFt IG5vdCBjb21wbGV0ZWx5IHN1cmUuCj4gVGhpcyBhaW1zIGF0IGRldGVjdGluZyB0aGF0IHNvbWUg b2YgdGhlIENSNCBiaXRzIHdoaWNoIGFyZQo+IGV4cGVjdGVkIHRvIGJlIHNldCByZWFsbHkgYXJl bid0IChvdGhlciB0aGFuIHRoZSBjYXNlIHdoZW4gYWxsCj4gb2YgdGhlIG9uZXMgb2YgaW50ZXJl c3QgaGVyZSBhcmUgY2xlYXIpLgo+Cj4+IEZvciBhbGwgb3RoZXIgQVNNIGxldmVsIEJVRydzLCBJ IHB1dCBhIHNob3J0IGNvbW1lbnQgb24gdGhlIHNhbWUgbGluZSwKPj4gdG8gYWlkIHBlb3BsZSB3 aG8gaGl0IHRoZSBidWcuCj4gV2lsbCBkby4gUXVlc3Rpb246IFNob3VsZCB0aGlzIGNoZWNrIHBl cmhhcHMgYmVjb21lICFOREVCVUcKPiBkZXBlbmRlbnQ/CgpJdCBwcm9iYWJseSBzaG91bGQgZG8u Cgo+Cj4+PiBAQCAtNDU0LDEzICs0NTUsNjQgQEAgRU5UUlkocGFnZV9mYXVsdCkKPj4+ICBHTE9C QUwoaGFuZGxlX2V4Y2VwdGlvbikKPj4+ICAgICAgICAgIFNBVkVfQUxMIENMQUMKPj4+ICBoYW5k bGVfZXhjZXB0aW9uX3NhdmVkOgo+Pj4gKyAgICAgICAgR0VUX0NVUlJFTlQoJXJieCkKPj4+ICAg ICAgICAgIHRlc3RiICRYODZfRUZMQUdTX0lGPj44LFVSRUdTX2VmbGFncysxKCVyc3ApCj4+PiAg ICAgICAgICBqeiAgICBleGNlcHRpb25fd2l0aF9pbnRzX2Rpc2FibGVkCj4+PiAtICAgICAgICBz dGkKPj4+ICsKPj4+ICsuTHNtZXBfc21hcF9vcmlnOgo+Pj4gKyAgICAgICAgam1wICAgMGYKPj4+ ICsgICAgICAgIC5pZiAwIC8vIEdBUyBidWcgKGFmZmVjdGluZyBhdCBsZWFzdCAyLjIyIC4uLiAy LjI2KQo+Pj4gKyAgICAgICAgLm9yZyAuTHNtZXBfc21hcF9vcmlnICsgKC5Mc21lcF9zbWFwX2Fs dF9lbmQgLSAuTHNtZXBfc21hcF9hbHQpLCAweGNjCj4+PiArICAgICAgICAuZWxzZQo+Pj4gKyAg ICAgICAgLy8gd29yc3QgY2FzZTogcmV4ICsgb3Bjb2RlICsgbW9kcm0gKyA0LWJ5dGUgZGlzcGxh Y2VtZW50Cj4+PiArICAgICAgICAuc2tpcCAoMSArIDEgKyAxICsgNCkgLSAyLCAweGNjCj4+PiAr ICAgICAgICAuZW5kaWYKPj4gV2hpY2ggYnVnIGlzIHRoaXM/ICBIb3cgZG9lcyBpdCBtYW5pZmVz dC4gIE1vcmUgZ2VuZXJhbGx5LCB3aGF0IGlzIHRoaXMKPj4gYWx0ZXJuYXRpdmUgdHJ5aW5nIHRv IGFjaGlldmU/Cj4gVGhlIC5vcmcgZ2V0cyBhIHdhcm5pbmcgKC5Mc21lcF9zbWFwX29yaWcgc3Vw cG9zZWRseSBiZWluZwo+IHVuZGVmaW5lZCwgYW5kIGhlbmNlIGdldHRpbmcgYXNzdW1lZCB0byBi ZSB6ZXJvKSBmb2xsb3dlZCBieQo+IGFuIGVycm9yIChhdHRlbXB0IHRvIG1vdmUgdGhlIGN1cnJl bnQgbG9jYXRpb24gYmFja3dhcmRzKS4gVGhlCj4gZml4IGh0dHBzOi8vc291cmNld2FyZS5vcmcv bWwvYmludXRpbHMvMjAxNi0wMy9tc2cwMDAzMC5odG1sCj4gaXMgcGVuZGluZyBhcHByb3ZhbC4K CkkgcHJlc3VtZSB0aGlzIGlzIGRvd24gdG8gdGhlIGRvY3VtZW50ZWQgcmVzdHJpY3Rpb24gYWJv dXQgY3Jvc3NpbmcKc2VjdGlvbnMuICBpLmUuIHRoZXJlIGlzIG5vIC5Mc21lcF9zbWFwX29yaWcg aW4gLmFsdGluc3RyX3JlcGxhY2VtZW50LAp3aGVyZSBpdCBmb3VuZCB0aGUgZmlyc3QgdHdvIHN5 bWJvbHMuCgo+Pj4gKyAgICAgICAgLnB1c2hzZWN0aW9uIC5hbHRpbnN0cl9yZXBsYWNlbWVudCwg ImF4Igo+Pj4gKy5Mc21lcF9zbWFwX2FsdDoKPj4+ICsgICAgICAgIG1vdiAgIFZDUFVfZG9tYWlu KCVyYngpLCVyYXgKPj4+ICsuTHNtZXBfc21hcF9hbHRfZW5kOgo+Pj4gKyAgICAgICAgLnNlY3Rp b24gLmFsdGluc3RydWN0aW9ucywgImEiCj4+PiArICAgICAgICBhbHRpbnN0cnVjdGlvbl9lbnRy eSAuTHNtZXBfc21hcF9vcmlnLCAuTHNtZXBfc21hcF9hbHQsIFwKPj4+ICsgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIFg4Nl9GRUFUVVJFX1NNRVAsIFwKPj4+ICsgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICguTHNtZXBfc21hcF9hbHRfZW5kIC0gLkxzbWVwX3NtYXBfYWx0KSwgXAo+ Pj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKC5Mc21lcF9zbWFwX2FsdF9lbmQgLSAu THNtZXBfc21hcF9hbHQpCj4+PiArICAgICAgICBhbHRpbnN0cnVjdGlvbl9lbnRyeSAuTHNtZXBf c21hcF9vcmlnLCAuTHNtZXBfc21hcF9hbHQsIFwKPj4+ICsgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIFg4Nl9GRUFUVVJFX1NNQVAsIFwKPj4+ICsgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICguTHNtZXBfc21hcF9hbHRfZW5kIC0gLkxzbWVwX3NtYXBfYWx0KSwgXAo+Pj4gKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgKC5Mc21lcF9zbWFwX2FsdF9lbmQgLSAuTHNtZXBfc21h cF9hbHQpCj4+PiArICAgICAgICAucG9wc2VjdGlvbgo+Pj4gKwo+Pj4gKyAgICAgICAgdGVzdGIg JDMsVVJFR1NfY3MoJXJzcCkKPj4+ICsgICAgICAgIGp6ICAgIDBmCj4+PiArICAgICAgICBjbXBi ICAkMCxET01BSU5faXNfMzJiaXRfcHYoJXJheCkKPj4gVGhpcyBjb21wYXJpc29uIGlzIHdyb25n IG9uIGhhcmR3YXJlIGxhY2tpbmcgU01FUCBhbmQgU01BUCwgYXMgdGhlICJtb3YKPj4gVkNQVV9k b21haW4oJXJieCksJXJheCIgd29uJ3QgaGF2ZSBoYXBwZW5lZC4KPiBUaGF0IG1vdiBpbmRlZWQg d29uJ3QgaGF2ZSBoYXBwZW5lZCwgYnV0IHRoZSBvcmlnaW5hbCBpbnN0cnVjdGlvbgo+IGlzIGEg YnJhbmNoIHBhc3QgYWxsIG9mIHRoaXMgY29kZSwgc28gdGhlIGFib3ZlIGlzIGNvcnJlY3QgKGFu ZCBJIGRpZAo+IHRlc3Qgb24gb2xkZXIgaGFyZHdhcmUpLgoKT2ggc28gaXQgd29udC4gIEl0IGlz IG1vZGVyYXRlbHkgc3VidGxlIHRoYXQgdGhpcyBlbnRpcmUgY29kZWJsb2NrIGlzCmxvZ2ljYWxs eSBjb250YWluZWQgaW4gdGhlIGFsdGVybmF0aXZlLgoKSXQgd291bGQgYmUgZmFyIGNsZWFyZXIs IGFuZCB3b3JrIGFyb3VuZCB5b3VyIG9yZyBidWcsIGlmIHRoaXMgd2FzIGEKc2luZ2xlIGFsdGVy bmF0aXZlIHdoaWNoIHBhdGNoZWQganVtcCBpbnRvIGEgbm9wLgoKQXQgdGhlIHZlcnkgbGVhc3Qs IGEgbGFiZWwgb2YgLkxjcjNfcHYzMl9maXh1cF9kb25lIHdvdWxkIGJlIGFuCmltcHJvdmVtZW50 IG92ZXIgMC4KCj4KPj4+ICsgICAgICAgIGplICAgIDBmCj4+PiArICAgICAgICBjYWxsICBjcjRf c21lcF9zbWFwX3Jlc3RvcmUKPj4+ICsgICAgICAgIC8qCj4+PiArICAgICAgICAgKiBBbiBOTUkg b3IgI01DIG1heSBvY2N1ciBiZXR3ZWVuIGNsZWFyaW5nIENSNC5TTUVQIGFuZCBDUjQuU01BUCBp bgo+Pj4gKyAgICAgICAgICogY29tcGF0X3Jlc3RvcmVfYWxsX2d1ZXN0IGFuZCBpdCBhY3R1YWxs eSByZXR1cm5pbmcgdG8gZ3Vlc3QKPj4+ICsgICAgICAgICAqIGNvbnRleHQsIGluIHdoaWNoIGNh c2UgdGhlIGd1ZXN0IHdvdWxkIHJ1biB3aXRoIHRoZSB0d28gZmVhdHVyZXMKPj4+ICsgICAgICAg ICAqIGVuYWJsZWQuIFRoZSBvbmx5IGJhZCB0aGF0IGNhbiBoYXBwZW4gZnJvbSB0aGlzIGlzIGEg a2VybmVsIG1vZGUKPj4+ICsgICAgICAgICAqICNQRiB3aGljaCB0aGUgZ3Vlc3QgZG9lc24ndCBl eHBlY3QuIFJhdGhlciB0aGFuIHRyeWluZyB0byBtYWtlIHRoZQo+Pj4gKyAgICAgICAgICogTk1J LyNNQyBleGl0IHBhdGggaG9ub3IgdGhlIGludGVuZGVkIENSNCBzZXR0aW5nLCBzaW1wbHkgY2hl Y2sKPj4+ICsgICAgICAgICAqIHdoZXRoZXIgdGhlIHdyb25nIENSNCB3YXMgaW4gdXNlIHdoZW4g dGhlICNQRiBvY2N1cnJlZCwgYW5kIGV4aXQKPj4+ICsgICAgICAgICAqIGJhY2sgdG8gdGhlIGd1 ZXN0ICh3aGljaCB3aWxsIGluIHR1cm4gY2xlYXIgdGhlIHR3byBDUjQgYml0cykgdG8KPj4+ICsg ICAgICAgICAqIHJlLWV4ZWN1dGUgdGhlIGluc3RydWN0aW9uLiBJZiB3ZSBnZXQgYmFjayBoZXJl LCB0aGUgQ1I0IGJpdHMKPj4+ICsgICAgICAgICAqIHNob3VsZCB0aGVuIGJlIGZvdW5kIGNsZWFy ICh1bmxlc3MgYW5vdGhlciBOTUkvI01DIG9jY3VycmVkIGF0Cj4+PiArICAgICAgICAgKiBleGFj dGx5IHRoZSByaWdodCB0aW1lKSwgYW5kIHdlJ2xsIGNvbnRpbnVlIHByb2Nlc3NpbmcgdGhlCj4+ PiArICAgICAgICAgKiBleGNlcHRpb24gYXMgbm9ybWFsLgo+Pj4gKyAgICAgICAgICovCj4+PiAr ICAgICAgICB0ZXN0ICAlcmF4LCVyYXgKPj4+ICsgICAgICAgIGpueiAgIDBmCj4+PiArICAgICAg ICBtb3YgICAkUEZFQ19wYWdlX3ByZXNlbnQsJWFsCj4+PiArICAgICAgICBjbXBiICAkVFJBUF9w YWdlX2ZhdWx0LFVSRUdTX2VudHJ5X3ZlY3RvciglcnNwKQo+Pj4gKyAgICAgICAgam5lICAgMGYK Pj4+ICsgICAgICAgIHhvciAgIFVSRUdTX2Vycm9yX2NvZGUoJXJzcCksJWVheAo+Pj4gKyAgICAg ICAgdGVzdCAgJH4oUEZFQ193cml0ZV9hY2Nlc3N8UEZFQ19pbnNuX2ZldGNoKSwlZWF4Cj4+PiAr ICAgICAgICBqeiAgICBjb21wYXRfdGVzdF9hbGxfZXZlbnRzCj4+PiArMDogICAgICBzdGkKPj4g SXRzIGNvZGUgbGlrZSB0aGlzIHdoaWNoIG1ha2VzIG1lIGV2ZW4gbW9yZSBjZXJ0YWluIHRoYXQg d2UgaGF2ZSBmYXIgdG9vCj4+IG11Y2ggY29kZSB3cml0dGVuIGluIGFzc2VtYmx5IHdoaWNoIGRv ZXNuJ3QgbmVlZCB0byBiZS4gIE1heWJlIG5vdCB0aGlzCj4+IHNwZWNpZmljIHNhbXBsZSwgYnV0 IGl0IGhhcyB0YWtlbiBtZSAxNSBtaW51dGVzIGFuZCBhIHBhZCBvZiBwYXBlciB0bwo+PiB0cnkg YW5kIHdvcmsgb3V0IGhvdyB0aGlzIGNvbmRpdGlvbmFsIHdvcmtzLCBhbmQgSSBhbSBzdGlsbCBu b3QgY2VydGFpbgo+PiBpdHMgY29ycmVjdC4gIEluIHBhcnRpY3VsYXIsIFBGRUNfcHJvdF9rZXkg bG9va3MgbGlrZSBpdCBmb29sIHRoZSB0ZXN0Cj4+IGludG8gYmVsaWV2aW5nIGEgbm9uLXNtYXAv c21lcCBmYXVsdCB3YXMgYSBzbWFwL3NtZXAgZmF1bHQuCj4gTm90IHN1cmUgaG93IHlvdSBjb21l IHRvIHRoaW5rIG9mIFBGRUNfcHJvdF9rZXkgaGVyZTogVGhhdCdzCj4gYSBiaXQgd2hpY2ggY2Fu IGJlIHNldCBvbmx5IHRvZ2V0aGVyIHdpdGggUEZFQ191c2VyX21vZGUsIHlldAo+IHdlIGNhcmUg YWJvdXQga2VybmVsIG1vZGUgZmF1bHRzIG9ubHkgaGVyZS4KCkkgd291bGQgbm90IG1ha2UgdGhh dCBhc3N1bXB0aW9uLiAgQXNzdW1wdGlvbnMgYWJvdXQgdGhlIHZhbGlkIHNldCBvZgojUEYgZmxh Z3MgYXJlIHByZWNpc2VseSB0aGUgcmVhc29uIHRoYXQgb2xkZXIgTGludXggZmFsbHMgaW50byBh bgppbmZpbml0ZSBsb29wIHdoZW4gZW5jb3VudGVyaW5nIGEgU01BUCBwYWdlZmF1bHQsIHJhdGhl ciB0aGFuIGEgY2xlYW4gY3Jhc2guCgp+QW5kcmV3Cgo+Cj4+IENhbiB5b3UgYXQgbGVhc3QgcHJv dmlkZSBzb21lIEMgaW4gYSBjb21tZW50IHdpdGggdGhlIGludGVuZGVkCj4+IGNvbmRpdGlvbmFs LCB0byBhaWQgY2xhcml0eT8KPiBTdXJlLCBpZiB5b3UgdGhpbmsgdGhhdCBoZWxwcyBiZXlvbmQg dGhlIChJIHRoaW5rKSBwcmV0dHkgZXh0ZW5zaXZlCj4gY29tbWVudDoKPgo+ICsgICAgICAgIHRl c3QgICVyYXgsJXJheAo+ICsgICAgICAgIGpueiAgIDBmCj4gKyAgICAgICAgLyoKPiArICAgICAg ICAgKiBUaGUgYmVsb3cgZWZmZWN0aXZlbHkgaXMKPiArICAgICAgICAgKiBpZiAoIHJlZ3MtPmVu dHJ5X3ZlY3RvciA9PSBUUkFQX3BhZ2VfZmF1bHQgJiYKPiArICAgICAgICAgKiAgICAgIChyZWdz LT5lcnJvcl9jb2RlICYgUEZFQ19wYWdlX3ByZXNlbnQpICYmCj4gKyAgICAgICAgICogICAgICAh KHJlZ3MtPmVycm9yX2NvZGUgJiB+KFBGRUNfd3JpdGVfYWNjZXNzfFBGRUNfaW5zbl9mZXRjaCkp ICkKPiArICAgICAgICAgKiAgICAgZ290byBjb21wYXRfdGVzdF9hbGxfZXZlbnRzOwo+ICsgICAg ICAgICAqLwo+ICsgICAgICAgIG1vdiAgICRQRkVDX3BhZ2VfcHJlc2VudCwlYWwKPiArICAgICAg ICBjbXBiICAkVFJBUF9wYWdlX2ZhdWx0LFVSRUdTX2VudHJ5X3ZlY3RvciglcnNwKQo+ICsgICAg ICAgIGpuZSAgIDBmCj4gKyAgICAgICAgeG9yICAgVVJFR1NfZXJyb3JfY29kZSglcnNwKSwlZWF4 Cj4gKyAgICAgICAgdGVzdCAgJH4oUEZFQ193cml0ZV9hY2Nlc3N8UEZFQ19pbnNuX2ZldGNoKSwl ZWF4Cj4gKyAgICAgICAganogICAgY29tcGF0X3Rlc3RfYWxsX2V2ZW50cwo+ICswOgo+Cj4gSmFu CgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRl dmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVuLm9yZwpodHRwOi8vbGlzdHMueGVu Lm9yZy94ZW4tZGV2ZWwK