Received: by 10.223.176.5 with SMTP id f5csp391893wra; Tue, 30 Jan 2018 13:15:21 -0800 (PST) X-Google-Smtp-Source: AH8x2263L0YlszRKjPHcf3K1erK6sLlejyZ+p6QJczaIv9rTYr6CQeXmP6y1eTOG52pAofe6RKpk X-Received: by 2002:a17:902:758b:: with SMTP id j11-v6mr5681708pll.224.1517346921116; Tue, 30 Jan 2018 13:15:21 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1517346921; cv=none; d=google.com; s=arc-20160816; b=yqG2Q/fo86CnA/ixt098jFLq+H7A6za/K4qVzqwd99ElkRmvCusjfTLTXlWSPeccmr 2FRwTe4Cuis7LOn1Kw92ZsaSIc7hoqnLc9QxrkGYuWzySOFKe2bnEDYpfEoqoujA+uKx rNRiKbBXqzh94rlFJJJYLVhf98hnUpWWpVgEXOz1MRTURfjgcZ1yaWUB0wO/+ER+t4zL Ws6AW2WZz9fY8uGVzl8XXNN5sjgPIYEyMS8mHWVdYO2Cr+992mEnfv9Xz0bF42dEDEbT Qt+WbOdRTLIDwLfTWOm6H0rEp37Qqsx+OGlzD8lbBe941/t81NOHrViI3WZwgna/7YI8 iOYw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding :content-language:in-reply-to:mime-version:user-agent:date :message-id:from:references:cc:to:subject:dkim-signature :arc-authentication-results; bh=Qn4JryW6clqScffvwXkMIy4127C/smLQrbaKe/mAhPg=; b=p/2lj4t7CtcSaP95RBSBEnXQ2ARgmNilvGxy4x3d8ht4/tTuCUOdQAVUNXy3lfi3MU VPV56eK8rjd0ZHFNGgrxFLDri44xbdYBe1PnoTdhb1Mics/4Hep2wYglIAWHV0GhzAR2 s0MZRlsO8JblmIiLxg06js2cyt602uSPg4O9m9eQBgB6Qn9mYB1skzQW74DIdlMpz58M n/QyVV5jzuer97Znc8pehhojXbihX/dtzWZ7artWZpWzkuM2EoZu1rGVVunh9pI/WX3U HOJ/wlYyjFaO64wt0xLkNkmA8f3mMOmXqVubN3WQFY3htze4gPnJKQjzvTYIbB598Q8c p2mw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@amazon.com header.s=amazon201209 header.b=HNXn/hb0; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=amazon.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id f126si2294967pfg.175.2018.01.30.13.15.06; Tue, 30 Jan 2018 13:15:21 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@amazon.com header.s=amazon201209 header.b=HNXn/hb0; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=amazon.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753822AbeA3VCy (ORCPT + 99 others); Tue, 30 Jan 2018 16:02:54 -0500 Received: from smtp-fw-33001.amazon.com ([207.171.190.10]:5566 "EHLO smtp-fw-33001.amazon.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752419AbeA3VCv (ORCPT ); Tue, 30 Jan 2018 16:02:51 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amazon.com; i=@amazon.com; q=dns/txt; s=amazon201209; t=1517346171; x=1548882171; h=subject:to:cc:references:from:message-id:date: mime-version:in-reply-to:content-transfer-encoding; bh=Qn4JryW6clqScffvwXkMIy4127C/smLQrbaKe/mAhPg=; b=HNXn/hb0dGA3zfUNMegZDpYM74BGDsvvcBFhWxJzQV1++Ty+99WPn/8Q TOWlZpgDGr9e9OQw4ZZHgJ73fSXlIcXyeem5akHA+v9yv4/0pnVCgXiMQ 3Jj3pQ30cLfNoJKSWwNp6slSRpLZgfp6OuX30KhuD8nwCTtfq4dKSlegG M=; X-IronPort-AV: E=Sophos;i="5.46,436,1511827200"; d="scan'208";a="717588471" Received: from sea3-co-svc-lb6-vlan2.sea.amazon.com (HELO email-inbound-relay-2b-8cc5d68b.us-west-2.amazon.com) ([10.47.22.34]) by smtp-border-fw-out-33001.sea14.amazon.com with ESMTP/TLS/DHE-RSA-AES256-SHA; 30 Jan 2018 21:01:15 +0000 Received: from EX13MTAUEA001.ant.amazon.com (pdx1-ws-svc-p6-lb9-vlan2.pdx.amazon.com [10.236.137.194]) by email-inbound-relay-2b-8cc5d68b.us-west-2.amazon.com (8.14.7/8.14.7) with ESMTP id w0UL14UU029292 (version=TLSv1/SSLv3 cipher=AES256-SHA bits=256 verify=FAIL); Tue, 30 Jan 2018 21:01:09 GMT Received: from EX13D01EUB003.ant.amazon.com (10.43.166.248) by EX13MTAUEA001.ant.amazon.com (10.43.61.82) with Microsoft SMTP Server (TLS) id 15.0.1236.3; Tue, 30 Jan 2018 21:01:08 +0000 Received: from [10.85.97.79] (10.43.162.177) by EX13D01EUB003.ant.amazon.com (10.43.166.248) with Microsoft SMTP Server (TLS) id 15.0.1236.3; Tue, 30 Jan 2018 21:00:59 +0000 Subject: Re: [PATCH v3 4/4] KVM: VMX: Allow direct access to MSR_IA32_SPEC_CTRL To: Jim Mattson , KarimAllah Ahmed CC: kvm list , LKML , "the arch/x86 maintainers" , 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: <1517271028-15916-1-git-send-email-karahmed@amazon.de> <1517271028-15916-5-git-send-email-karahmed@amazon.de> From: KarimAllah Ahmed Message-ID: <43859417-ae76-ed1f-eb4f-8a84a35998fc@amazon.com> Date: Tue, 30 Jan 2018 22:00:54 +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: Content-Language: en-US X-Originating-IP: [10.43.162.177] X-ClientProxiedBy: EX13D04UWA004.ant.amazon.com (10.43.160.234) To EX13D01EUB003.ant.amazon.com (10.43.166.248) Content-Type: text/plain; charset="utf-8"; format="flowed" Content-Transfer-Encoding: base64 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org T24gMDEvMzAvMjAxOCAwNjo0OSBQTSwgSmltIE1hdHRzb24gd3JvdGU6Cj4gT24gTW9uLCBKYW4g MjksIDIwMTggYXQgNDoxMCBQTSwgS2FyaW1BbGxhaCBBaG1lZCA8a2FyYWhtZWRAYW1hem9uLmRl PiB3cm90ZToKPj4gWyBCYXNlZCBvbiBhIHBhdGNoIGZyb20gQXNob2sgUmFqIDxhc2hvay5yYWpA aW50ZWwuY29tPiBdCj4+Cj4+IEFkZCBkaXJlY3QgYWNjZXNzIHRvIE1TUl9JQTMyX1NQRUNfQ1RS TCBmb3IgZ3Vlc3RzLiBUaGlzIGlzIG5lZWRlZCBmb3IKPj4gZ3Vlc3RzIHRoYXQgd2lsbCBvbmx5 IG1pdGlnYXRlIFNwZWN0cmUgVjIgdGhyb3VnaCBJQlJTK0lCUEIgYW5kIHdpbGwgbm90Cj4+IGJl IHVzaW5nIGEgcmV0cG9saW5lK0lCUEIgYmFzZWQgYXBwcm9hY2guCj4+Cj4+IFRvIGF2b2lkIHRo ZSBvdmVyaGVhZCBvZiBhdG9taWNhbGx5IHNhdmluZyBhbmQgcmVzdG9yaW5nIHRoZQo+PiBNU1Jf SUEzMl9TUEVDX0NUUkwgZm9yIGd1ZXN0cyB0aGF0IGRvIG5vdCBhY3R1YWxseSB1c2UgdGhlIE1T Uiwgb25seQo+PiBhZGRfYXRvbWljX3N3aXRjaF9tc3Igd2hlbiBhIG5vbi16ZXJvIGlzIHdyaXR0 ZW4gdG8gaXQuCj4+Cj4+IE5vIGF0dGVtcHQgaXMgbWFkZSB0byBoYW5kbGUgU1RJQlAgaGVyZSwg aW50ZW50aW9uYWxseS4gRmlsdGVyaW5nIFNUSUJQCj4+IG1heSBiZSBhZGRlZCBpbiBhIGZ1dHVy ZSBwYXRjaCwgd2hpY2ggbWF5IHJlcXVpcmUgdHJhcHBpbmcgYWxsIHdyaXRlcwo+PiBpZiB3ZSBk b24ndCB3YW50IHRvIHBhc3MgaXQgdGhyb3VnaCBkaXJlY3RseSB0byB0aGUgZ3Vlc3QuCj4+Cj4+ IFtkd213MjogQ2xlYW4gdXAgQ1BVSUQgYml0cywgc2F2ZS9yZXN0b3JlIG1hbnVhbGx5LCBoYW5k bGUgcmVzZXRdCj4+Cj4+IENjOiBBc2l0IE1hbGxpY2sgPGFzaXQuay5tYWxsaWNrQGludGVsLmNv bT4KPj4gQ2M6IEFyamFuIFZhbiBEZSBWZW4gPGFyamFuLnZhbi5kZS52ZW5AaW50ZWwuY29tPgo+ PiBDYzogRGF2ZSBIYW5zZW4gPGRhdmUuaGFuc2VuQGludGVsLmNvbT4KPj4gQ2M6IEFuZGkgS2xl ZW4gPGFrQGxpbnV4LmludGVsLmNvbT4KPj4gQ2M6IEFuZHJlYSBBcmNhbmdlbGkgPGFhcmNhbmdl QHJlZGhhdC5jb20+Cj4+IENjOiBMaW51cyBUb3J2YWxkcyA8dG9ydmFsZHNAbGludXgtZm91bmRh dGlvbi5vcmc+Cj4+IENjOiBUaW0gQ2hlbiA8dGltLmMuY2hlbkBsaW51eC5pbnRlbC5jb20+Cj4+ IENjOiBUaG9tYXMgR2xlaXhuZXIgPHRnbHhAbGludXRyb25peC5kZT4KPj4gQ2M6IERhbiBXaWxs aWFtcyA8ZGFuLmoud2lsbGlhbXNAaW50ZWwuY29tPgo+PiBDYzogSnVuIE5ha2FqaW1hIDxqdW4u bmFrYWppbWFAaW50ZWwuY29tPgo+PiBDYzogUGFvbG8gQm9uemluaSA8cGJvbnppbmlAcmVkaGF0 LmNvbT4KPj4gQ2M6IERhdmlkIFdvb2Rob3VzZSA8ZHdtd0BhbWF6b24uY28udWs+Cj4+IENjOiBH cmVnIEtIIDxncmVna2hAbGludXhmb3VuZGF0aW9uLm9yZz4KPj4gQ2M6IEFuZHkgTHV0b21pcnNr aSA8bHV0b0BrZXJuZWwub3JnPgo+PiBDYzogQXNob2sgUmFqIDxhc2hvay5yYWpAaW50ZWwuY29t Pgo+PiBTaWduZWQtb2ZmLWJ5OiBLYXJpbUFsbGFoIEFobWVkIDxrYXJhaG1lZEBhbWF6b24uZGU+ Cj4+IFNpZ25lZC1vZmYtYnk6IERhdmlkIFdvb2Rob3VzZSA8ZHdtd0BhbWF6b24uY28udWs+Cj4+ IC0tLQo+PiB2MjoKPj4gLSByZW1vdmUgJ2hvc3Rfc3BlY19jdHJsJyBpbiBmYXZvciBvZiBvbmx5 IGEgY29tbWVudCAoZHdtd0ApLgo+PiAtIHNwZWNpYWwgY2FzZSB3cml0aW5nICcwJyBpbiBTUEVD X0NUUkwgdG8gYXZvaWQgY29uZnVzaW5nIGxpdmUtbWlncmF0aW9uCj4+ICAgIHdoZW4gdGhlIGlu c3RhbmNlIG5ldmVyIHVzZWQgdGhlIE1TUiAoZHdtd0ApLgo+PiAtIGRlcGVuZCBvbiBYODZfRkVB VFVSRV9JQlJTIGluc3RlYWQgb2YgWDg2X0ZFQVRVUkVfU1BFQ19DVFJMIChkd213QCkuCj4+IC0g YWRkIE1TUl9JQTMyX1NQRUNfQ1RSTCB0byB0aGUgbGlzdCBvZiBNU1JzIHRvIHNhdmUgKGRyb3Bw ZWQgaXQgYnkgYWNjaWRlbnQpLgo+PiB2MzoKPj4gLSBTYXZlL3Jlc3RvcmUgbWFudWFsbHkKPj4g LSBGaXggQ1BVSUQgaGFuZGxpbmcKPj4gLSBGaXggYSBjb3B5ICYgcGFzdGUgZXJyb3IgaW4gdGhl IG5hbWUgb2YgU1BFQ19DVFJMIE1TUiBpbgo+PiAgICBkaXNhYmxlX2ludGVyY2VwdC4KPj4gLSBz dXBwb3J0ICFjcHVfaGFzX3ZteF9tc3JfYml0bWFwKCkKPj4gLS0tCj4+ICAgYXJjaC94ODYva3Zt L2NwdWlkLmMgfCAgNyArKysrKy0tCj4+ICAgYXJjaC94ODYva3ZtL3ZteC5jICAgfCA1OSArKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCj4+ICAgYXJj aC94ODYva3ZtL3g4Ni5jICAgfCAgMiArLQo+PiAgIDMgZmlsZXMgY2hhbmdlZCwgNjUgaW5zZXJ0 aW9ucygrKSwgMyBkZWxldGlvbnMoLSkKPj4KPj4gZGlmZiAtLWdpdCBhL2FyY2gveDg2L2t2bS9j cHVpZC5jIGIvYXJjaC94ODYva3ZtL2NwdWlkLmMKPj4gaW5kZXggMTkwOTYzNS4uNjYyZDBjMCAx MDA2NDQKPj4gLS0tIGEvYXJjaC94ODYva3ZtL2NwdWlkLmMKPj4gKysrIGIvYXJjaC94ODYva3Zt L2NwdWlkLmMKPj4gQEAgLTM5NCw3ICszOTQsOCBAQCBzdGF0aWMgaW5saW5lIGludCBfX2RvX2Nw dWlkX2VudChzdHJ1Y3Qga3ZtX2NwdWlkX2VudHJ5MiAqZW50cnksIHUzMiBmdW5jdGlvbiwKPj4K Pj4gICAgICAgICAgLyogY3B1aWQgNy4wLmVkeCovCj4+ICAgICAgICAgIGNvbnN0IHUzMiBrdm1f Y3B1aWRfN18wX2VkeF94ODZfZmVhdHVyZXMgPQo+PiAtICAgICAgICAgICAgICAgRihBVlg1MTJf NFZOTklXKSB8IEYoQVZYNTEyXzRGTUFQUykgfCBGKEFSQ0hfQ0FQQUJJTElUSUVTKTsKPj4gKyAg ICAgICAgICAgICAgIEYoQVZYNTEyXzRWTk5JVykgfCBGKEFWWDUxMl80Rk1BUFMpIHwgRihTUEVD X0NUUkwpIHwKPj4gKyAgICAgICAgICAgICAgIEYoQVJDSF9DQVBBQklMSVRJRVMpOwo+Pgo+PiAg ICAgICAgICAvKiBhbGwgY2FsbHMgdG8gY3B1aWRfY291bnQoKSBzaG91bGQgYmUgbWFkZSBvbiB0 aGUgc2FtZSBjcHUgKi8KPj4gICAgICAgICAgZ2V0X2NwdSgpOwo+PiBAQCAtNjMwLDkgKzYzMSwx MSBAQCBzdGF0aWMgaW5saW5lIGludCBfX2RvX2NwdWlkX2VudChzdHJ1Y3Qga3ZtX2NwdWlkX2Vu dHJ5MiAqZW50cnksIHUzMiBmdW5jdGlvbiwKPj4gICAgICAgICAgICAgICAgICAgICAgICAgIGdf cGh5c19hcyA9IHBoeXNfYXM7Cj4+ICAgICAgICAgICAgICAgICAgZW50cnktPmVheCA9IGdfcGh5 c19hcyB8ICh2aXJ0X2FzIDw8IDgpOwo+PiAgICAgICAgICAgICAgICAgIGVudHJ5LT5lZHggPSAw Owo+PiAtICAgICAgICAgICAgICAgLyogSUJQQiBpc24ndCBuZWNlc3NhcmlseSBwcmVzZW50IGlu IGhhcmR3YXJlIGNwdWlkICovCj4+ICsgICAgICAgICAgICAgICAvKiBJQlJTIGFuZCBJQlBCIGFy ZW4ndCBuZWNlc3NhcmlseSBwcmVzZW50IGluIGhhcmR3YXJlIGNwdWlkICovCj4+ICAgICAgICAg ICAgICAgICAgaWYgKGJvb3RfY3B1X2hhcyhYODZfRkVBVFVSRV9JQlBCKSkKPj4gICAgICAgICAg ICAgICAgICAgICAgICAgIGVudHJ5LT5lYnggfD0gRihJQlBCKTsKPj4gKyAgICAgICAgICAgICAg IGlmIChib290X2NwdV9oYXMoWDg2X0ZFQVRVUkVfSUJSUykpCj4+ICsgICAgICAgICAgICAgICAg ICAgICAgIGVudHJ5LT5lYnggfD0gRihJQlJTKTsKPj4gICAgICAgICAgICAgICAgICBlbnRyeS0+ ZWJ4ICY9IGt2bV9jcHVpZF84MDAwXzAwMDhfZWJ4X3g4Nl9mZWF0dXJlczsKPj4gICAgICAgICAg ICAgICAgICBjcHVpZF9tYXNrKCZlbnRyeS0+ZWJ4LCBDUFVJRF84MDAwXzAwMDhfRUJYKTsKPj4g ICAgICAgICAgICAgICAgICBicmVhazsKPj4gZGlmZiAtLWdpdCBhL2FyY2gveDg2L2t2bS92bXgu YyBiL2FyY2gveDg2L2t2bS92bXguYwo+PiBpbmRleCA3OThhMDBiLi45YWM5NzQ3IDEwMDY0NAo+ PiAtLS0gYS9hcmNoL3g4Ni9rdm0vdm14LmMKPj4gKysrIGIvYXJjaC94ODYva3ZtL3ZteC5jCj4+ IEBAIC01ODIsNiArNTgyLDggQEAgc3RydWN0IHZjcHVfdm14IHsKPj4gICAgICAgICAgdTY0ICAg ICAgICAgICAgICAgICAgIG1zcl9ndWVzdF9rZXJuZWxfZ3NfYmFzZTsKPj4gICAjZW5kaWYKPj4g ICAgICAgICAgdTY0ICAgICAgICAgICAgICAgICAgIGFyY2hfY2FwYWJpbGl0aWVzOwo+PiArICAg ICAgIHU2NCAgICAgICAgICAgICAgICAgICBzcGVjX2N0cmw7Cj4+ICsgICAgICAgYm9vbCAgICAg ICAgICAgICAgICAgIHNhdmVfc3BlY19jdHJsX29uX2V4aXQ7Cj4+Cj4+ICAgICAgICAgIHUzMiB2 bV9lbnRyeV9jb250cm9sc19zaGFkb3c7Cj4+ICAgICAgICAgIHUzMiB2bV9leGl0X2NvbnRyb2xz X3NoYWRvdzsKPj4gQEAgLTkyMiw2ICs5MjQsOCBAQCBzdGF0aWMgdm9pZCB2bXhfc2V0X25taV9t YXNrKHN0cnVjdCBrdm1fdmNwdSAqdmNwdSwgYm9vbCBtYXNrZWQpOwo+PiAgIHN0YXRpYyBib29s IG5lc3RlZF92bXhfaXNfcGFnZV9mYXVsdF92bWV4aXQoc3RydWN0IHZtY3MxMiAqdm1jczEyLAo+ PiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1MTYgZXJyb3Jf Y29kZSk7Cj4+ICAgc3RhdGljIHZvaWQgdm14X3VwZGF0ZV9tc3JfYml0bWFwKHN0cnVjdCBrdm1f dmNwdSAqdmNwdSk7Cj4+ICtzdGF0aWMgdm9pZCBfX2Fsd2F5c19pbmxpbmUgdm14X2Rpc2FibGVf aW50ZXJjZXB0X2Zvcl9tc3IodW5zaWduZWQgbG9uZyAqbXNyX2JpdG1hcCwKPj4gKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHUzMiBtc3Is IGludCB0eXBlKTsKPj4KPj4gICBzdGF0aWMgREVGSU5FX1BFUl9DUFUoc3RydWN0IHZtY3MgKiwg dm14YXJlYSk7Cj4+ICAgc3RhdGljIERFRklORV9QRVJfQ1BVKHN0cnVjdCB2bWNzICosIGN1cnJl bnRfdm1jcyk7Cj4+IEBAIC0zMjI2LDYgKzMyMzAsMTMgQEAgc3RhdGljIGludCB2bXhfZ2V0X21z cihzdHJ1Y3Qga3ZtX3ZjcHUgKnZjcHUsIHN0cnVjdCBtc3JfZGF0YSAqbXNyX2luZm8pCj4+ICAg ICAgICAgIGNhc2UgTVNSX0lBMzJfVFNDOgo+PiAgICAgICAgICAgICAgICAgIG1zcl9pbmZvLT5k YXRhID0gZ3Vlc3RfcmVhZF90c2ModmNwdSk7Cj4+ICAgICAgICAgICAgICAgICAgYnJlYWs7Cj4+ ICsgICAgICAgY2FzZSBNU1JfSUEzMl9TUEVDX0NUUkw6Cj4+ICsgICAgICAgICAgICAgICBpZiAo IW1zcl9pbmZvLT5ob3N0X2luaXRpYXRlZCAmJgo+PiArICAgICAgICAgICAgICAgICAgICFndWVz dF9jcHVpZF9oYXModmNwdSwgWDg2X0ZFQVRVUkVfSUJSUykpCj4+ICsgICAgICAgICAgICAgICAg ICAgICAgIHJldHVybiAxOwo+PiArCj4+ICsgICAgICAgICAgICAgICBtc3JfaW5mby0+ZGF0YSA9 IHRvX3ZteCh2Y3B1KS0+c3BlY19jdHJsOwo+PiArICAgICAgICAgICAgICAgYnJlYWs7Cj4+ICAg ICAgICAgIGNhc2UgTVNSX0lBMzJfQVJDSF9DQVBBQklMSVRJRVM6Cj4+ICAgICAgICAgICAgICAg ICAgaWYgKCFtc3JfaW5mby0+aG9zdF9pbml0aWF0ZWQgJiYKPj4gICAgICAgICAgICAgICAgICAg ICAgIWd1ZXN0X2NwdWlkX2hhcyh2Y3B1LCBYODZfRkVBVFVSRV9BUkNIX0NBUEFCSUxJVElFUykp Cj4+IEBAIC0zMzM5LDYgKzMzNTAsMzEgQEAgc3RhdGljIGludCB2bXhfc2V0X21zcihzdHJ1Y3Qg a3ZtX3ZjcHUgKnZjcHUsIHN0cnVjdCBtc3JfZGF0YSAqbXNyX2luZm8pCj4+ICAgICAgICAgIGNh c2UgTVNSX0lBMzJfVFNDOgo+PiAgICAgICAgICAgICAgICAgIGt2bV93cml0ZV90c2ModmNwdSwg bXNyX2luZm8pOwo+PiAgICAgICAgICAgICAgICAgIGJyZWFrOwo+PiArICAgICAgIGNhc2UgTVNS X0lBMzJfU1BFQ19DVFJMOgo+PiArICAgICAgICAgICAgICAgaWYgKCFtc3JfaW5mby0+aG9zdF9p bml0aWF0ZWQgJiYKPj4gKyAgICAgICAgICAgICAgICAgICAhZ3Vlc3RfY3B1aWRfaGFzKHZjcHUs IFg4Nl9GRUFUVVJFX0lCUlMpKQo+PiArICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gMTsK Pj4gKwo+PiArICAgICAgICAgICAgICAgLyogVGhlIFNUSUJQIGJpdCBkb2Vzbid0IGZhdWx0IGV2 ZW4gaWYgaXQncyBub3QgYWR2ZXJ0aXNlZCAqLwo+PiArICAgICAgICAgICAgICAgaWYgKGRhdGEg JiB+KFNQRUNfQ1RSTF9JQlJTIHwgU1BFQ19DVFJMX1NUSUJQKSkKPj4gKyAgICAgICAgICAgICAg ICAgICAgICAgcmV0dXJuIDE7Cj4+ICsKPj4gKyAgICAgICAgICAgICAgIHZteC0+c3BlY19jdHJs ID0gZGF0YTsKPj4gKwo+PiArICAgICAgICAgICAgICAgLyoKPj4gKyAgICAgICAgICAgICAgICAq IFdoZW4gaXQncyB3cml0dGVuICh0byBub24temVybykgZm9yIHRoZSBmaXJzdCB0aW1lLCBwYXNz Cj4+ICsgICAgICAgICAgICAgICAgKiBpdCB0aHJvdWdoLiBUaGlzIG1lYW5zIHdlIGRvbid0IGhh dmUgdG8gdGFrZSB0aGUgcGVyZgo+PiArICAgICAgICAgICAgICAgICogaGl0IG9mIHNhdmluZyBp dCBvbiB2bWV4aXQgZm9yIHRoZSBjb21tb24gY2FzZSBvZiBndWVzdHMKPj4gKyAgICAgICAgICAg ICAgICAqIHRoYXQgZG9uJ3QgdXNlIGl0Lgo+PiArICAgICAgICAgICAgICAgICovCj4+ICsgICAg ICAgICAgICAgICBpZiAoY3B1X2hhc192bXhfbXNyX2JpdG1hcCgpICYmIGRhdGEgJiYKPj4gKyAg ICAgICAgICAgICAgICAgICAhdm14LT5zYXZlX3NwZWNfY3RybF9vbl9leGl0KSB7Cj4+ICsgICAg ICAgICAgICAgICAgICAgICAgIHZteC0+c2F2ZV9zcGVjX2N0cmxfb25fZXhpdCA9IHRydWU7Cj4+ ICsgICAgICAgICAgICAgICAgICAgICAgIHZteF9kaXNhYmxlX2ludGVyY2VwdF9mb3JfbXNyKHZt eC0+dm1jczAxLm1zcl9iaXRtYXAsCj4+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIE1TUl9JQTMyX1NQRUNfQ1RSTCwKPj4gKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTVNSX1RZUEVfUlcpOwo+ PiArICAgICAgICAgICAgICAgfQo+IAo+IFRoaXMgY29kZSBzZWVtcyB0byBhc3N1bWUgdGhhdCBM MSBpcyBjdXJyZW50bHkgYWN0aXZlLiBXaGF0IGlmIEwyIGlzCj4gY3VycmVudGx5IGFjdGl2ZT8K Ck9vb3BzISBJIGRpZCBub3QgdGhpbmsgYXQgYWxsIGFib3V0IG5lc3RlZCA6KQoKVGhpcyBzaG91 bGQgYmUgYWRkcmVzc2VkIG5vdywgSSBob3BlOgoKaHR0cDovL2dpdC5pbmZyYWRlYWQub3JnL2xp bnV4LXJldHBvbGluZS5naXQvY29tbWl0ZGlmZi9mN2YwY2JiYTNlMGNmZmNlZTA1MGE4YTVhOTU5 N2ExNjJkNTdlNTcyCgpJIGhhdmUgbm90IHRlc3RlZCBpdCB5ZXQgdGhvdWdoLgoKPiAKPj4gKyAg ICAgICAgICAgICAgIGJyZWFrOwo+PiAgICAgICAgICBjYXNlIE1TUl9JQTMyX1BSRURfQ01EOgo+ PiAgICAgICAgICAgICAgICAgIGlmICghbXNyX2luZm8tPmhvc3RfaW5pdGlhdGVkICYmCj4+ICAg ICAgICAgICAgICAgICAgICAgICFndWVzdF9jcHVpZF9oYXModmNwdSwgWDg2X0ZFQVRVUkVfSUJQ QikpCj4+IEBAIC01NjQ0LDYgKzU2ODAsNyBAQCBzdGF0aWMgdm9pZCB2bXhfdmNwdV9yZXNldChz dHJ1Y3Qga3ZtX3ZjcHUgKnZjcHUsIGJvb2wgaW5pdF9ldmVudCkKPj4gICAgICAgICAgdTY0IGNy MDsKPj4KPj4gICAgICAgICAgdm14LT5ybW9kZS52bTg2X2FjdGl2ZSA9IDA7Cj4+ICsgICAgICAg dm14LT5zcGVjX2N0cmwgPSAwOwo+Pgo+PiAgICAgICAgICB2bXgtPnZjcHUuYXJjaC5yZWdzW1ZD UFVfUkVHU19SRFhdID0gZ2V0X3JkeF9pbml0X3ZhbCgpOwo+PiAgICAgICAgICBrdm1fc2V0X2Ny OCh2Y3B1LCAwKTsKPj4gQEAgLTkzMTQsNiArOTM1MSwxNSBAQCBzdGF0aWMgdm9pZCBfX25vY2xv bmUgdm14X3ZjcHVfcnVuKHN0cnVjdCBrdm1fdmNwdSAqdmNwdSkKPj4KPj4gICAgICAgICAgdm14 X2FybV9odl90aW1lcih2Y3B1KTsKPj4KPj4gKyAgICAgICAvKgo+PiArICAgICAgICAqIElmIHRo aXMgdkNQVSBoYXMgdG91Y2hlZCBTUEVDX0NUUkwsIHJlc3RvcmUgdGhlIGd1ZXN0J3MgdmFsdWUg aWYKPj4gKyAgICAgICAgKiBpdCdzIG5vbi16ZXJvLiBTaW5jZSB2bWVudHJ5IGlzIHNlcmlhbGlz aW5nIG9uIGFmZmVjdGVkIENQVXMsIHRoZXJlCj4+ICsgICAgICAgICogaXMgbm8gbmVlZCB0byB3 b3JyeSBhYm91dCB0aGUgY29uZGl0aW9uYWwgYnJhbmNoIG92ZXIgdGhlIHdybXNyCj4+ICsgICAg ICAgICogYmVpbmcgc3BlY3VsYXRpdmVseSB0YWtlbi4KPj4gKyAgICAgICAgKi8KPj4gKyAgICAg ICBpZiAodm14LT5zcGVjX2N0cmwpCj4+ICsgICAgICAgICAgICAgICB3cm1zcmwoTVNSX0lBMzJf U1BFQ19DVFJMLCB2bXgtPnNwZWNfY3RybCk7Cj4+ICsKPj4gICAgICAgICAgdm14LT5fX2xhdW5j aGVkID0gdm14LT5sb2FkZWRfdm1jcy0+bGF1bmNoZWQ7Cj4+ICAgICAgICAgIGFzbSgKPj4gICAg ICAgICAgICAgICAgICAvKiBTdG9yZSBob3N0IHJlZ2lzdGVycyAqLwo+PiBAQCAtOTQyMCw2ICs5 NDY2LDE5IEBAIHN0YXRpYyB2b2lkIF9fbm9jbG9uZSB2bXhfdmNwdV9ydW4oc3RydWN0IGt2bV92 Y3B1ICp2Y3B1KQo+PiAgICNlbmRpZgo+PiAgICAgICAgICAgICAgICApOwo+Pgo+PiArICAgICAg IC8qCj4+ICsgICAgICAgICogV2UgZG8gbm90IHVzZSBJQlJTIGluIHRoZSBrZXJuZWwuIElmIHRo aXMgdkNQVSBoYXMgdXNlZCB0aGUKPj4gKyAgICAgICAgKiBTUEVDX0NUUkwgTVNSIGl0IG1heSBo YXZlIGxlZnQgaXQgb247IHNhdmUgdGhlIHZhbHVlIGFuZAo+PiArICAgICAgICAqIHR1cm4gaXQg b2ZmLiBUaGlzIGlzIG11Y2ggbW9yZSBlZmZpY2llbnQgdGhhbiBibGluZGx5IGFkZGluZwo+PiAr ICAgICAgICAqIGl0IHRvIHRoZSBhdG9taWMgc2F2ZS9yZXN0b3JlIGxpc3QuIEVzcGVjaWFsbHkg YXMgdGhlIGZvcm1lcgo+PiArICAgICAgICAqIChTYXZpbmcgZ3Vlc3QgTVNScyBvbiB2bWV4aXQp IGRvZXNuJ3QgZXZlbiBleGlzdCBpbiBLVk0uCj4+ICsgICAgICAgICovCj4+ICsgICAgICAgaWYg KHZteC0+c2F2ZV9zcGVjX2N0cmxfb25fZXhpdCkKPj4gKyAgICAgICAgICAgICAgIHJkbXNybChN U1JfSUEzMl9TUEVDX0NUUkwsIHZteC0+c3BlY19jdHJsKTsKPj4gKwo+PiArICAgICAgIGlmICh2 bXgtPnNwZWNfY3RybCkKPj4gKyAgICAgICAgICAgICAgIHdybXNybChNU1JfSUEzMl9TUEVDX0NU UkwsIDApOwo+PiArCj4+ICAgICAgICAgIC8qIEVsaW1pbmF0ZSBicmFuY2ggdGFyZ2V0IHByZWRp Y3Rpb25zIGZyb20gZ3Vlc3QgbW9kZSAqLwo+PiAgICAgICAgICB2bWV4aXRfZmlsbF9SU0IoKTsK Pj4KPj4gZGlmZiAtLWdpdCBhL2FyY2gveDg2L2t2bS94ODYuYyBiL2FyY2gveDg2L2t2bS94ODYu Ywo+PiBpbmRleCA4ZTg4OWRjLi5mYzk3MjRjIDEwMDY0NAo+PiAtLS0gYS9hcmNoL3g4Ni9rdm0v eDg2LmMKPj4gKysrIGIvYXJjaC94ODYva3ZtL3g4Ni5jCj4+IEBAIC0xMDA2LDcgKzEwMDYsNyBA QCBzdGF0aWMgdTMyIG1zcnNfdG9fc2F2ZVtdID0gewo+PiAgICNlbmRpZgo+PiAgICAgICAgICBN U1JfSUEzMl9UU0MsIE1TUl9JQTMyX0NSX1BBVCwgTVNSX1ZNX0hTQVZFX1BBLAo+PiAgICAgICAg ICBNU1JfSUEzMl9GRUFUVVJFX0NPTlRST0wsIE1TUl9JQTMyX0JORENGR1MsIE1TUl9UU0NfQVVY LAo+PiAtICAgICAgIE1TUl9JQTMyX0FSQ0hfQ0FQQUJJTElUSUVTCj4+ICsgICAgICAgTVNSX0lB MzJfU1BFQ19DVFJMLCBNU1JfSUEzMl9BUkNIX0NBUEFCSUxJVElFUwo+PiAgIH07Cj4+Cj4+ICAg c3RhdGljIHVuc2lnbmVkIG51bV9tc3JzX3RvX3NhdmU7Cj4+IC0tCj4+IDIuNy40Cj4+Cj4gCkFt YXpvbiBEZXZlbG9wbWVudCBDZW50ZXIgR2VybWFueSBHbWJICkJlcmxpbiAtIERyZXNkZW4gLSBB YWNoZW4KbWFpbiBvZmZpY2U6IEtyYXVzZW5zdHIuIDM4LCAxMDExNyBCZXJsaW4KR2VzY2hhZWZ0 c2Z1ZWhyZXI6IERyLiBSYWxmIEhlcmJyaWNoLCBDaHJpc3RpYW4gU2NobGFlZ2VyClVzdC1JRDog REUyODkyMzc4NzkKRWluZ2V0cmFnZW4gYW0gQW10c2dlcmljaHQgQ2hhcmxvdHRlbmJ1cmcgSFJC IDE0OTE3MyBCCg==