From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Google-Smtp-Source: AH8x226nag0BC1rO4Gj6G7E77/+PRe9MTj3L2Xk+mVci0mzzuki3Xtvu6ESu+sh4JZuPzWiCkyRs ARC-Seal: i=1; a=rsa-sha256; t=1517188037; cv=none; d=google.com; s=arc-20160816; b=dJ+PeI2mDcRMBwqb64gg4UvTeftvZgxegDAzllCC4lIS7w0OInpz50nxvT/FZC8NhY ABHEaZz/qIiIgaIfc71gm8S8wVpVZ+F1jJ4LOe6QgSoBVQI9b4zAg18emoPOoPkdL7zh XtnswQ0yDwV82lmK7mUoJQCRkrrSLN+vwI0h/KiO6Lq8GzpQbB8p1Gse04+3XVw6ypwX 5SZw/wsXJ0OTIIy+NfiEH/oOLxAMiF0Pvt7XHDsbeqlXsP1eqU2i2Iq4zQbPmgabJIqy 2uS6Q9wA4YJger+YuFd79ySEUCIfJU03fFoQEVHEgQ2VJBV0psXalbHT/Am6qBB9hfcN vR+w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:precedence:content-language:in-reply-to :mime-version:user-agent:date:message-id:from:references:cc:to :subject:dkim-signature:arc-authentication-results; bh=mGnd3FEANzikBEeRWk9YBzWhKeQRTy0Sket1E9cgM44=; b=EdIAADJNjU97WwCz+lmNHYnf6O3sKz86NlrY8wMvjQ1df3KZLb4lmDaQhcAgHv1DQG Bw4F3X19hETKGb1P053qu73DKegpLCbBpb/TAd7YhDnvxSBH0n+pjzYSSW96RrQgCUV3 eFSFB3VYw06cQgGvEOinThQqNV1V3ZI/X5WPt3SCtcevzIvGKNkoiZE01HCD/xo4BO8C k/gg8R2p3oh/37fxlCoYYzJ808H4qnhHKg4hGqS1TNlzLcSVlHWXDY1MqqiAackd70tJ u1uZ9O8Kr9ONbrFvQ7me/ovOQ8Qh/DnatfrBL8tCR96lSqDqpkpUT03MGqYveyoUl6Bx otGg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@amazon.com header.s=amazon201209 header.b=r4PBRMeP; spf=pass (google.com: domain of prvs=560d63a10=karahmed@amazon.de designates 72.21.198.25 as permitted sender) smtp.mailfrom=prvs=560d63a10=karahmed@amazon.de; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=amazon.com Authentication-Results: mx.google.com; dkim=pass header.i=@amazon.com header.s=amazon201209 header.b=r4PBRMeP; spf=pass (google.com: domain of prvs=560d63a10=karahmed@amazon.de designates 72.21.198.25 as permitted sender) smtp.mailfrom=prvs=560d63a10=karahmed@amazon.de; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=amazon.com X-IronPort-AV: E=Sophos;i="5.46,428,1511827200"; d="scan'208";a="705643187" Subject: Re: [PATCH] x86: vmx: Allow direct access to MSR_IA32_SPEC_CTRL To: Konrad Rzeszutek Wilk , KarimAllah Ahmed , , CC: Asit Mallick , Arjan Van De Ven , Dave Hansen , Andi Kleen , Andrea Arcangeli , Linus Torvalds , Tim Chen , Thomas Gleixner , Dan Williams , Jun Nakajima , "Paolo Bonzini" , David Woodhouse , Greg KH , Andy Lutomirski , Ashok Raj , References: <1517167750-23485-1-git-send-email-karahmed@amazon.de> <4DCAF18F-C86A-4CBC-A9CC-CC01BF63313F@oracle.com> From: KarimAllah Ahmed Message-ID: Date: Mon, 29 Jan 2018 02:06:41 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.5.0 MIME-Version: 1.0 In-Reply-To: <4DCAF18F-C86A-4CBC-A9CC-CC01BF63313F@oracle.com> Content-Language: en-US X-Originating-IP: [10.43.161.222] X-ClientProxiedBy: EX13D10UWA003.ant.amazon.com (10.43.160.248) To EX13D01EUB003.ant.amazon.com (10.43.166.248) Content-Type: text/plain; charset="utf-8"; format="flowed" Content-Transfer-Encoding: base64 X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: =?utf-8?q?1590865729989295970?= X-GMAIL-MSGID: =?utf-8?q?1590886963309164874?= X-Mailing-List: linux-kernel@vger.kernel.org List-ID: T24gMDEvMjgvMjAxOCAwOToyMSBQTSwgS29ucmFkIFJ6ZXN6dXRlayBXaWxrIHdyb3RlOgo+IE9u IEphbnVhcnkgMjgsIDIwMTggMjoyOToxMCBQTSBFU1QsIEthcmltQWxsYWggQWhtZWQgPGthcmFo bWVkQGFtYXpvbi5kZT4gd3JvdGU6Cj4+IEFkZCBkaXJlY3QgYWNjZXNzIHRvIE1TUl9JQTMyX1NQ RUNfQ1RSTCBmb3IgZ3Vlc3RzLiBUaGlzIGlzIG5lZWRlZCBmb3IKPj4gZ3Vlc3RzCj4+IHRoYXQg d2lsbCBvbmx5IG1pdGlnYXRlIFNwZWN0cmUgVjIgdGhyb3VnaCBJQlJTK0lCUEIgYW5kIHdpbGwg bm90IGJlCj4+IHVzaW5nIGEKPj4gcmV0cG9saW5lK0lCUEIgYmFzZWQgYXBwcm9hY2guCj4+Cj4+ IFRvIGF2b2lkIHRoZSBvdmVyaGVhZCBvZiBhdG9taWNhbGx5IHNhdmluZyBhbmQgcmVzdG9yaW5n IHRoZQo+PiBNU1JfSUEzMl9TUEVDX0NUUkwKPj4gZm9yIGd1ZXN0cyB0aGF0IGRvIG5vdCBhY3R1 YWxseSB1c2UgdGhlIE1TUiwgb25seSBhZGRfYXRvbWljX3N3aXRjaF9tc3IKPj4gd2hlbiBhCj4+ IG5vbi16ZXJvIGlzIHdyaXR0ZW4gdG8gaXQuCj4gCj4gCj4gV2UgdHJpZWQgdGhpcyBhbmQgZm91 bmQgdGhhdCBpdCB3YXMgYWJvdXQgMyUgc2xvd2VyIHRoYXQgZG9pbmcgdGhlIG9sZCB3YXkgb2Yg cmRtc3IgYW5kIHdybXNyLgoKSSBhY3R1YWxseSBoYXZlIG5vdCBtZWFzdXJlZCB0aGUgcGVyZm9y bWFuY2UgZGlmZmVyZW5jZSBiZXR3ZWVuIHVzaW5nIAp0aGUgYXRvbWljX3N3aXRjaCB2cyBqdXN0 IGp1c3QgZG9pbmcgcmRtc3Ivd3Jtc3IuIEkgd2FzIG1vc3RseSBmb2N1c2VkIApvbiBub3Qgc2F2 aW5nIGFuZCByZXN0b3Jpbmcgd2hlbiB0aGUgZ3Vlc3QgZG9lcyBub3QgYWN0dWFsbHkgdXNlIHRo ZSBNU1JzLgoKSW50ZXJlc3RpbmcgZGF0YSBwb2ludCB0aG91Z2gsIEkgd2lsbCB1cGRhdGUgdGhl IGNvZGUgdG8gdXNlIHJkbXNyL3dybXNyIAphbmQgc2VlIGlmIEkgc2VlIGl0IGluIG15IGhhcmR3 YXJlIChJIGFtIHVzaW5nIGEgc2t5bGFrZSBwcm9jZXNzb3IpLgoKPiAKPiBCdXQgdGhhdCB3YXMg YWxzbyB3aXRoIHRoZSBob3N0IGRvaW5nIElCUlMgIGFzIHdlbGwuCj4gCj4gT24gd2hhdCB0eXBl IG9mIGhhcmR3YXJlIGRpZCB5b3UgcnVuIHRoaXM/Cj4gCj4gQ2NpbmcgRGFuaWVsLgo+Pgo+PiBD YzogQXNpdCBNYWxsaWNrIDxhc2l0LmsubWFsbGlja0BpbnRlbC5jb20+Cj4+IENjOiBBcmphbiBW YW4gRGUgVmVuIDxhcmphbi52YW4uZGUudmVuQGludGVsLmNvbT4KPj4gQ2M6IERhdmUgSGFuc2Vu IDxkYXZlLmhhbnNlbkBpbnRlbC5jb20+Cj4+IENjOiBBbmRpIEtsZWVuIDxha0BsaW51eC5pbnRl bC5jb20+Cj4+IENjOiBBbmRyZWEgQXJjYW5nZWxpIDxhYXJjYW5nZUByZWRoYXQuY29tPgo+PiBD YzogTGludXMgVG9ydmFsZHMgPHRvcnZhbGRzQGxpbnV4LWZvdW5kYXRpb24ub3JnPgo+PiBDYzog VGltIENoZW4gPHRpbS5jLmNoZW5AbGludXguaW50ZWwuY29tPgo+PiBDYzogVGhvbWFzIEdsZWl4 bmVyIDx0Z2x4QGxpbnV0cm9uaXguZGU+Cj4+IENjOiBEYW4gV2lsbGlhbXMgPGRhbi5qLndpbGxp YW1zQGludGVsLmNvbT4KPj4gQ2M6IEp1biBOYWthamltYSA8anVuLm5ha2FqaW1hQGludGVsLmNv bT4KPj4gQ2M6IFBhb2xvIEJvbnppbmkgPHBib256aW5pQHJlZGhhdC5jb20+Cj4+IENjOiBEYXZp ZCBXb29kaG91c2UgPGR3bXdAYW1hem9uLmNvLnVrPgo+PiBDYzogR3JlZyBLSCA8Z3JlZ2toQGxp bnV4Zm91bmRhdGlvbi5vcmc+Cj4+IENjOiBBbmR5IEx1dG9taXJza2kgPGx1dG9Aa2VybmVsLm9y Zz4KPj4gU2lnbmVkLW9mZi1ieTogS2FyaW1BbGxhaCBBaG1lZCA8a2FyYWhtZWRAYW1hem9uLmRl Pgo+PiBTaWduZWQtb2ZmLWJ5OiBBc2hvayBSYWogPGFzaG9rLnJhakBpbnRlbC5jb20+Cj4+IC0t LQo+PiBhcmNoL3g4Ni9rdm0vY3B1aWQuYyB8ICA0ICsrKy0KPj4gYXJjaC94ODYva3ZtL2NwdWlk LmggfCAgMSArCj4+IGFyY2gveDg2L2t2bS92bXguYyAgIHwgNjMKPj4gKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwo+PiAzIGZpbGVzIGNoYW5nZWQs IDY3IGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKPj4KPj4gZGlmZiAtLWdpdCBhL2FyY2gv eDg2L2t2bS9jcHVpZC5jIGIvYXJjaC94ODYva3ZtL2NwdWlkLmMKPj4gaW5kZXggMDA5OWUxMC4u ZGM3ODA5NSAxMDA2NDQKPj4gLS0tIGEvYXJjaC94ODYva3ZtL2NwdWlkLmMKPj4gKysrIGIvYXJj aC94ODYva3ZtL2NwdWlkLmMKPj4gQEAgLTcwLDYgKzcwLDcgQEAgdTY0IGt2bV9zdXBwb3J0ZWRf eGNyMCh2b2lkKQo+PiAvKiBUaGVzZSBhcmUgc2NhdHRlcmVkIGZlYXR1cmVzIGluIGNwdWZlYXR1 cmVzLmguICovCj4+ICNkZWZpbmUgS1ZNX0NQVUlEX0JJVF9BVlg1MTJfNFZOTklXICAgICAyCj4+ ICNkZWZpbmUgS1ZNX0NQVUlEX0JJVF9BVlg1MTJfNEZNQVBTICAgICAzCj4+ICsjZGVmaW5lIEtW TV9DUFVJRF9CSVRfU1BFQ19DVFJMICAgICAgICAgMjYKPj4gI2RlZmluZSBLRih4KSBiaXQoS1ZN X0NQVUlEX0JJVF8jI3gpCj4+Cj4+IGludCBrdm1fdXBkYXRlX2NwdWlkKHN0cnVjdCBrdm1fdmNw dSAqdmNwdSkKPj4gQEAgLTM5Miw3ICszOTMsOCBAQCBzdGF0aWMgaW5saW5lIGludCBfX2RvX2Nw dWlkX2VudChzdHJ1Y3QKPj4ga3ZtX2NwdWlkX2VudHJ5MiAqZW50cnksIHUzMiBmdW5jdGlvbiwK Pj4KPj4gCS8qIGNwdWlkIDcuMC5lZHgqLwo+PiAJY29uc3QgdTMyIGt2bV9jcHVpZF83XzBfZWR4 X3g4Nl9mZWF0dXJlcyA9Cj4+IC0JCUtGKEFWWDUxMl80Vk5OSVcpIHwgS0YoQVZYNTEyXzRGTUFQ Uyk7Cj4+ICsJCUtGKEFWWDUxMl80Vk5OSVcpIHwgS0YoQVZYNTEyXzRGTUFQUykgfCBcCj4+ICsJ CShib290X2NwdV9oYXMoWDg2X0ZFQVRVUkVfU1BFQ19DVFJMKSA/IEtGKFNQRUNfQ1RSTCkgOiAw KTsKPj4KPj4gCS8qIGFsbCBjYWxscyB0byBjcHVpZF9jb3VudCgpIHNob3VsZCBiZSBtYWRlIG9u IHRoZSBzYW1lIGNwdSAqLwo+PiAJZ2V0X2NwdSgpOwo+PiBkaWZmIC0tZ2l0IGEvYXJjaC94ODYv a3ZtL2NwdWlkLmggYi9hcmNoL3g4Ni9rdm0vY3B1aWQuaAo+PiBpbmRleCBjZGM3MGEzLi5kY2Zl MjI3IDEwMDY0NAo+PiAtLS0gYS9hcmNoL3g4Ni9rdm0vY3B1aWQuaAo+PiArKysgYi9hcmNoL3g4 Ni9rdm0vY3B1aWQuaAo+PiBAQCAtNTQsNiArNTQsNyBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IGNw dWlkX3JlZyByZXZlcnNlX2NwdWlkW10gPSB7Cj4+IAlbQ1BVSURfODAwMF8wMDBBX0VEWF0gPSB7 MHg4MDAwMDAwYSwgMCwgQ1BVSURfRURYfSwKPj4gCVtDUFVJRF83X0VDWF0gICAgICAgICA9IHsg ICAgICAgICA3LCAwLCBDUFVJRF9FQ1h9LAo+PiAJW0NQVUlEXzgwMDBfMDAwN19FQlhdID0gezB4 ODAwMDAwMDcsIDAsIENQVUlEX0VCWH0sCj4+ICsJW0NQVUlEXzdfRURYXSAgICAgICAgID0geyAg ICAgICAgIDcsIDAsIENQVUlEX0VEWH0sCj4+IH07Cj4+Cj4+IHN0YXRpYyBfX2Fsd2F5c19pbmxp bmUgc3RydWN0IGNwdWlkX3JlZyB4ODZfZmVhdHVyZV9jcHVpZCh1bnNpZ25lZAo+PiB4ODZfZmVh dHVyZSkKPj4gZGlmZiAtLWdpdCBhL2FyY2gveDg2L2t2bS92bXguYyBiL2FyY2gveDg2L2t2bS92 bXguYwo+PiBpbmRleCBhYTg2MzhhLi4xYjc0M2EwIDEwMDY0NAo+PiAtLS0gYS9hcmNoL3g4Ni9r dm0vdm14LmMKPj4gKysrIGIvYXJjaC94ODYva3ZtL3ZteC5jCj4+IEBAIC05MjAsNiArOTIwLDkg QEAgc3RhdGljIHZvaWQgdm14X3NldF9ubWlfbWFzayhzdHJ1Y3Qga3ZtX3ZjcHUgKnZjcHUsCj4+ IGJvb2wgbWFza2VkKTsKPj4gc3RhdGljIGJvb2wgbmVzdGVkX3ZteF9pc19wYWdlX2ZhdWx0X3Zt ZXhpdChzdHJ1Y3Qgdm1jczEyICp2bWNzMTIsCj4+IAkJCQkJICAgIHUxNiBlcnJvcl9jb2RlKTsK Pj4gc3RhdGljIHZvaWQgdm14X3VwZGF0ZV9tc3JfYml0bWFwKHN0cnVjdCBrdm1fdmNwdSAqdmNw dSk7Cj4+ICtzdGF0aWMgdm9pZCBfX2Fsd2F5c19pbmxpbmUgdm14X2Rpc2FibGVfaW50ZXJjZXB0 X2Zvcl9tc3IodW5zaWduZWQKPj4gbG9uZyAqbXNyX2JpdG1hcCwKPj4gKwkJCQkJCQkgIHUzMiBt c3IsIGludCB0eXBlKTsKPj4gKwo+Pgo+PiBzdGF0aWMgREVGSU5FX1BFUl9DUFUoc3RydWN0IHZt Y3MgKiwgdm14YXJlYSk7Cj4+IHN0YXRpYyBERUZJTkVfUEVSX0NQVShzdHJ1Y3Qgdm1jcyAqLCBj dXJyZW50X3ZtY3MpOwo+PiBAQCAtMjAwNyw2ICsyMDEwLDI4IEBAIHN0YXRpYyB2b2lkIGFkZF9h dG9taWNfc3dpdGNoX21zcihzdHJ1Y3QKPj4gdmNwdV92bXggKnZteCwgdW5zaWduZWQgbXNyLAo+ PiAJbS0+aG9zdFtpXS52YWx1ZSA9IGhvc3RfdmFsOwo+PiB9Cj4+Cj4+ICsvKiBkbyBub3QgdG91 Y2ggZ3Vlc3RfdmFsIGFuZCBob3N0X3ZhbCBpZiB0aGUgbXNyIGlzIG5vdCBmb3VuZCAqLwo+PiAr c3RhdGljIGludCByZWFkX2F0b21pY19zd2l0Y2hfbXNyKHN0cnVjdCB2Y3B1X3ZteCAqdm14LCB1 bnNpZ25lZCBtc3IsCj4+ICsJCQkJICB1NjQgKmd1ZXN0X3ZhbCwgdTY0ICpob3N0X3ZhbCkKPj4g K3sKPj4gKwl1bnNpZ25lZCBpOwo+PiArCXN0cnVjdCBtc3JfYXV0b2xvYWQgKm0gPSAmdm14LT5t c3JfYXV0b2xvYWQ7Cj4+ICsKPj4gKwlmb3IgKGkgPSAwOyBpIDwgbS0+bnI7ICsraSkKPj4gKwkJ aWYgKG0tPmd1ZXN0W2ldLmluZGV4ID09IG1zcikKPj4gKwkJCWJyZWFrOwo+PiArCj4+ICsJaWYg KGkgPT0gbS0+bnIpCj4+ICsJCXJldHVybiAxOwo+PiArCj4+ICsJaWYgKGd1ZXN0X3ZhbCkKPj4g KwkJKmd1ZXN0X3ZhbCA9IG0tPmd1ZXN0W2ldLnZhbHVlOwo+PiArCWlmIChob3N0X3ZhbCkKPj4g KwkJKmhvc3RfdmFsID0gbS0+aG9zdFtpXS52YWx1ZTsKPj4gKwo+PiArCXJldHVybiAwOwo+PiAr fQo+PiArCj4+IHN0YXRpYyBib29sIHVwZGF0ZV90cmFuc2l0aW9uX2VmZXIoc3RydWN0IHZjcHVf dm14ICp2bXgsIGludAo+PiBlZmVyX29mZnNldCkKPj4gewo+PiAJdTY0IGd1ZXN0X2VmZXIgPSB2 bXgtPnZjcHUuYXJjaC5lZmVyOwo+PiBAQCAtMzIwMyw3ICszMjI4LDkgQEAgc3RhdGljIGlubGlu ZSBib29sCj4+IHZteF9mZWF0dXJlX2NvbnRyb2xfbXNyX3ZhbGlkKHN0cnVjdCBrdm1fdmNwdSAq dmNwdSwKPj4gICAqLwo+PiBzdGF0aWMgaW50IHZteF9nZXRfbXNyKHN0cnVjdCBrdm1fdmNwdSAq dmNwdSwgc3RydWN0IG1zcl9kYXRhCj4+ICptc3JfaW5mbykKPj4gewo+PiArCXU2NCBzcGVjX2N0 cmwgPSAwOwo+PiAJc3RydWN0IHNoYXJlZF9tc3JfZW50cnkgKm1zcjsKPj4gKwlzdHJ1Y3QgdmNw dV92bXggKnZteCA9IHRvX3ZteCh2Y3B1KTsKPj4KPj4gCXN3aXRjaCAobXNyX2luZm8tPmluZGV4 KSB7Cj4+ICNpZmRlZiBDT05GSUdfWDg2XzY0Cj4+IEBAIC0zMjIzLDYgKzMyNTAsMTkgQEAgc3Rh dGljIGludCB2bXhfZ2V0X21zcihzdHJ1Y3Qga3ZtX3ZjcHUgKnZjcHUsCj4+IHN0cnVjdCBtc3Jf ZGF0YSAqbXNyX2luZm8pCj4+IAljYXNlIE1TUl9JQTMyX1RTQzoKPj4gCQltc3JfaW5mby0+ZGF0 YSA9IGd1ZXN0X3JlYWRfdHNjKHZjcHUpOwo+PiAJCWJyZWFrOwo+PiArCWNhc2UgTVNSX0lBMzJf U1BFQ19DVFJMOgo+PiArCQlpZiAoIW1zcl9pbmZvLT5ob3N0X2luaXRpYXRlZCAmJgo+PiArCQkg ICAgIWd1ZXN0X2NwdWlkX2hhcyh2Y3B1LCBYODZfRkVBVFVSRV9TUEVDX0NUUkwpKQo+PiArCQkJ cmV0dXJuIDE7Cj4+ICsKPj4gKwkJLyoKPj4gKwkJICogSWYgdGhlIE1TUiBpcyBub3QgaW4gdGhl IGF0b21pYyBsaXN0IHlldCwgdGhlbiBpdCB3YXMgbmV2ZXIKPj4gKwkJICogd3JpdHRlbiB0by4g U28gdGhlIE1TUiB2YWx1ZSB3aWxsIGJlICcwJy4KPj4gKwkJICovCj4+ICsJCXJlYWRfYXRvbWlj X3N3aXRjaF9tc3Iodm14LCBNU1JfSUEzMl9TUEVDX0NUUkwsICZzcGVjX2N0cmwsIE5VTEwpOwo+ PiArCj4+ICsJCW1zcl9pbmZvLT5kYXRhID0gc3BlY19jdHJsOwo+PiArCQlicmVhazsKPj4gCWNh c2UgTVNSX0lBMzJfU1lTRU5URVJfQ1M6Cj4+IAkJbXNyX2luZm8tPmRhdGEgPSB2bWNzX3JlYWQz MihHVUVTVF9TWVNFTlRFUl9DUyk7Cj4+IAkJYnJlYWs7Cj4+IEBAIC0zMjg5LDYgKzMzMjksMTMg QEAgc3RhdGljIGludCB2bXhfc2V0X21zcihzdHJ1Y3Qga3ZtX3ZjcHUgKnZjcHUsCj4+IHN0cnVj dCBtc3JfZGF0YSAqbXNyX2luZm8pCj4+IAlpbnQgcmV0ID0gMDsKPj4gCXUzMiBtc3JfaW5kZXgg PSBtc3JfaW5mby0+aW5kZXg7Cj4+IAl1NjQgZGF0YSA9IG1zcl9pbmZvLT5kYXRhOwo+PiArCXVu c2lnbmVkIGxvbmcgKm1zcl9iaXRtYXA7Cj4+ICsKPj4gKwkvKgo+PiArCSAqIElCUlMgaXMgbm90 IHVzZWQgKHlldCkgdG8gcHJvdGVjdCB0aGUgaG9zdC4gT25jZSBpdCBkb2VzLCB0aGlzCj4+ICsJ ICogdmFyaWFibGUgbmVlZHMgdG8gYmUgYSBiaXQgc21hcnRlci4KPj4gKwkgKi8KPj4gKwl1NjQg aG9zdF9zcGVjX2N0cmwgPSAwOwo+Pgo+PiAJc3dpdGNoIChtc3JfaW5kZXgpIHsKPj4gCWNhc2Ug TVNSX0VGRVI6Cj4+IEBAIC0zMzMwLDYgKzMzNzcsMjIgQEAgc3RhdGljIGludCB2bXhfc2V0X21z cihzdHJ1Y3Qga3ZtX3ZjcHUgKnZjcHUsCj4+IHN0cnVjdCBtc3JfZGF0YSAqbXNyX2luZm8pCj4+ IAljYXNlIE1TUl9JQTMyX1RTQzoKPj4gCQlrdm1fd3JpdGVfdHNjKHZjcHUsIG1zcl9pbmZvKTsK Pj4gCQlicmVhazsKPj4gKwljYXNlIE1TUl9JQTMyX1NQRUNfQ1RSTDoKPj4gKwkJaWYgKCFtc3Jf aW5mby0+aG9zdF9pbml0aWF0ZWQgJiYKPj4gKwkJICAgICFndWVzdF9jcHVpZF9oYXModmNwdSwg WDg2X0ZFQVRVUkVfU1BFQ19DVFJMKSkKPj4gKwkJCXJldHVybiAxOwo+PiArCj4+ICsJCS8qCj4+ ICsJCSAqIE5vdyB3ZSBrbm93IHRoYXQgdGhlIGd1ZXN0IGlzIGFjdHVhbGx5IHVzaW5nIHRoZSBN U1IsIHNvCj4+ICsJCSAqIGF0b21pY2FsbHkgbG9hZCBhbmQgc2F2ZSB0aGUgU1BFQ19DVFJMIE1T UiBhbmQgcGFzcyBpdAo+PiArCQkgKiB0aHJvdWdoIHRvIHRoZSBndWVzdC4KPj4gKwkJICovCj4+ ICsJCWFkZF9hdG9taWNfc3dpdGNoX21zcih2bXgsIE1TUl9JQTMyX1NQRUNfQ1RSTCwgbXNyX2lu Zm8tPmRhdGEsCj4+ICsJCQkJICAgICAgaG9zdF9zcGVjX2N0cmwpOwo+PiArCQltc3JfYml0bWFw ID0gdm14LT52bWNzMDEubXNyX2JpdG1hcDsKPj4gKwkJdm14X2Rpc2FibGVfaW50ZXJjZXB0X2Zv cl9tc3IobXNyX2JpdG1hcCwgTVNSX0ZTX0JBU0UsIE1TUl9UWVBFX1JXKTsKPj4gKwo+PiArCQli cmVhazsKPj4gCWNhc2UgTVNSX0lBMzJfQ1JfUEFUOgo+PiAJCWlmICh2bWNzX2NvbmZpZy52bWVu dHJ5X2N0cmwgJiBWTV9FTlRSWV9MT0FEX0lBMzJfUEFUKSB7Cj4+IAkJCWlmICgha3ZtX210cnJf dmFsaWQodmNwdSwgTVNSX0lBMzJfQ1JfUEFULCBkYXRhKSkKPiAKPiAKQW1hem9uIERldmVsb3Bt ZW50IENlbnRlciBHZXJtYW55IEdtYkgKQmVybGluIC0gRHJlc2RlbiAtIEFhY2hlbgptYWluIG9m ZmljZTogS3JhdXNlbnN0ci4gMzgsIDEwMTE3IEJlcmxpbgpHZXNjaGFlZnRzZnVlaHJlcjogRHIu IFJhbGYgSGVyYnJpY2gsIENocmlzdGlhbiBTY2hsYWVnZXIKVXN0LUlEOiBERTI4OTIzNzg3OQpF aW5nZXRyYWdlbiBhbSBBbXRzZ2VyaWNodCBDaGFybG90dGVuYnVyZyBIUkIgMTQ5MTczIEIK