Received: by 10.213.65.16 with SMTP id m16csp239778imf; Mon, 12 Mar 2018 01:57:17 -0700 (PDT) X-Google-Smtp-Source: AG47ELscmhiz/O+A0whqCLbjKbvRTip+3XXU120DrMgBiVEM2K45m4A7NICBWfcd/+zRQ+MPzEXI X-Received: by 10.101.83.136 with SMTP id x8mr4107413pgq.288.1520845037072; Mon, 12 Mar 2018 01:57:17 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1520845037; cv=none; d=google.com; s=arc-20160816; b=N0nFqjIK1x3jdYVRdW9SbvjlCQQm/sHr6ipxqFSX0N27ZwEGYWxxELZxSbWGTrtjVL zjbfBJr3tQejozfxTej/+/NfexI4XDMyDXy0rXPd57xHQLqfZncUjqvUdZbMEiMXeGFw S6bGwqC2lepgZurhXx+fNcrRf3mZa5HJv/KUjEUOn3A3/drTxGBMVuCYINMtobRzHVUg LhmpzQkjI5yjRhkgtMAf6nVB4hsPAhm5WheIKeFEMWgu97vEx/CM3ZyVpsWFsbYaux1f J7SGivn4uiMnusm+5OVOfsGFqWyUCN4gr5Ro8z9t2R61VJ3jRmYCZ+LhpfTwpN1x7P0C cnMA== 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:mime-version :content-id:content-language:accept-language:in-reply-to:references :message-id:date:thread-index:thread-topic:subject:cc:to:from :dkim-signature:arc-authentication-results; bh=DnlJANhcK67iQ9Y+/ZH79s0yzGMu4IRWuLGGpxODDPc=; b=JuXwMJqR6N3kgS3BfIqmSYF9Aj6cHvmUcQvfeUQ+n2K+IhrA7eYrcu84sRrMIQc1TE Wu2Jz0zP7TpYp8CSqSudt5bFB/TGUW5dU9dd/tn5+Q2LQ1cp/kq6HgxGKOJzEi7ufceo QkX1haJV/1Dn7ragbw0eBo1LYF07us1XhgiFWELAboduFWAX8f7ktsM5ZWJmPgL9yZN1 A6eI7jMb8JY+fup1ChWICO+yIpOqpwqx76nAgB9umKbrEQS/uJ/YqH6iuPVJZFWk9gx+ 7w/L6rk8ZlR9tGZD6XAULJ0IUcBRxZGFB84dK+qaVxjHsywgSHQt09JFLxUXNTxXAwm7 J8YQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@amazon.de header.s=amazon201209 header.b=sG9rtREd; 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.de Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id 30-v6si1004044plf.665.2018.03.12.01.57.02; Mon, 12 Mar 2018 01:57:17 -0700 (PDT) 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.de header.s=amazon201209 header.b=sG9rtREd; 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.de Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932171AbeCLIzy (ORCPT + 99 others); Mon, 12 Mar 2018 04:55:54 -0400 Received: from smtp-fw-4101.amazon.com ([72.21.198.25]:52371 "EHLO smtp-fw-4101.amazon.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750752AbeCLIzu (ORCPT ); Mon, 12 Mar 2018 04:55:50 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amazon.de; i=@amazon.de; q=dns/txt; s=amazon201209; t=1520844950; x=1552380950; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-id:mime-version: content-transfer-encoding; bh=DnlJANhcK67iQ9Y+/ZH79s0yzGMu4IRWuLGGpxODDPc=; b=sG9rtREdRpRlBoaQfXi+HaO/zr+2FlvSwyH7kQfDHSnlLwkx4s9OCJmf LU5iw2q5IklW7L9MsGU4P58hxtir8wUDVxScUWKRlepU7VTRjoa+NPALI FFDDFPAkqTymHlPxvAAbdJAoQ+QughLRuCgPx06JH7Im8ZiGJqoAxCapv A=; X-IronPort-AV: E=Sophos;i="5.47,460,1515456000"; d="scan'208";a="711501477" Received: from iad6-co-svc-p1-lb1-vlan3.amazon.com (HELO email-inbound-relay-2a-7c3c5f85.us-west-2.amazon.com) ([10.124.125.6]) by smtp-border-fw-out-4101.iad4.amazon.com with ESMTP/TLS/DHE-RSA-AES256-SHA; 12 Mar 2018 08:55:48 +0000 Received: from EX13MTAUEA001.ant.amazon.com (pdx1-ws-svc-p6-lb9-vlan3.pdx.amazon.com [10.236.137.198]) by email-inbound-relay-2a-7c3c5f85.us-west-2.amazon.com (8.14.7/8.14.7) with ESMTP id w2C8tiJt056220 (version=TLSv1/SSLv3 cipher=AES256-SHA bits=256 verify=FAIL); Mon, 12 Mar 2018 08:55:46 GMT Received: from EX13D01EUB002.ant.amazon.com (10.43.166.113) by EX13MTAUEA001.ant.amazon.com (10.43.61.82) with Microsoft SMTP Server (TLS) id 15.0.1236.3; Mon, 12 Mar 2018 08:55:46 +0000 Received: from EX13D01EUB003.ant.amazon.com (10.43.166.248) by EX13D01EUB002.ant.amazon.com (10.43.166.113) with Microsoft SMTP Server (TLS) id 15.0.1236.3; Mon, 12 Mar 2018 08:55:45 +0000 Received: from EX13D01EUB003.ant.amazon.com ([10.43.166.248]) by EX13D01EUB003.ant.amazon.com ([10.43.166.248]) with mapi id 15.00.1236.000; Mon, 12 Mar 2018 08:55:45 +0000 From: "Raslan, KarimAllah" To: "linux-kernel@vger.kernel.org" , "kvm@vger.kernel.org" , "pbonzini@redhat.com" , "x86@kernel.org" CC: "tglx@linutronix.de" , "hpa@zytor.com" , "rkrcmar@redhat.com" , "mingo@redhat.com" Subject: Re: [PATCH] X86/KVM: Update the exit_qualification access bits while walking an address Thread-Topic: [PATCH] X86/KVM: Update the exit_qualification access bits while walking an address Thread-Index: AQHTsL7uN8i8BkmWakqL1gIWWZ5a16O9OeOAgAKougCADHrsAIAAAMgA Date: Mon, 12 Mar 2018 08:55:44 +0000 Message-ID: <1520844944.8021.7.camel@amazon.de> References: <1519841208-23349-1-git-send-email-karahmed@amazon.de> <1520158672.28771.4.camel@amazon.de> <1520844776.8021.6.camel@amazon.de> In-Reply-To: <1520844776.8021.6.camel@amazon.de> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ms-exchange-transport-fromentityheader: Hosted x-originating-ip: [10.43.165.101] Content-Type: text/plain; charset="utf-8" Content-ID: MIME-Version: 1.0 Content-Transfer-Encoding: base64 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org T24gTW9uLCAyMDE4LTAzLTEyIGF0IDA4OjUyICswMDAwLCBSYXNsYW4sIEthcmltQWxsYWggd3Jv dGU6DQo+IE9uIFN1biwgMjAxOC0wMy0wNCBhdCAxMDoxNyArMDAwMCwgUmFzbGFuLCBLYXJpbUFs bGFoIHdyb3RlOg0KPiA+IA0KPiA+IE9uIEZyaSwgMjAxOC0wMy0wMiBhdCAxODo0MSArMDEwMCwg UGFvbG8gQm9uemluaSB3cm90ZToNCj4gPiA+IA0KPiA+ID4gDQo+ID4gPiBPbiAyOC8wMi8yMDE4 IDE5OjA2LCBLYXJpbUFsbGFoIEFobWVkIHdyb3RlOg0KPiA+ID4gPiANCj4gPiA+ID4gDQo+ID4g PiA+IA0KPiA+ID4gPiAuLi4gdG8gYXZvaWQgaGF2aW5nIGEgc3RhbGUgdmFsdWUgd2hlbiBoYW5k bGluZyBhbiBFUFQgbWlzY29uZmlnIGZvciBNTUlPDQo+ID4gPiA+IHJlZ2lvbnMuDQo+ID4gPiA+ IA0KPiA+ID4gPiBNTUlPIHJlZ2lvbnMgdGhhdCBhcmUgbm90IHBhc3NlZC10aHJvdWdoIHRvIHRo ZSBndWVzdCBhcmUgaGFuZGxlZCB0aHJvdWdoDQo+ID4gPiA+IEVQVCBtaXNjb25maWdzLiBUaGUg Zmlyc3QgdGltZSBhIGNlcnRhaW4gTU1JTyBwYWdlIGlzIHRvdWNoZWQgaXQgY2F1c2VzIGFuDQo+ ID4gPiA+IEVQVCB2aW9sYXRpb24sIHRoZW4gS1ZNIG1hcmtzIHRoZSBFUFQgZW50cnkgdG8gY2F1 c2UgYW4gRVBUIG1pc2NvbmZpZw0KPiA+ID4gPiBpbnN0ZWFkLiBBbnkgc3Vic2VxdWVudCBhY2Nl c3NlcyB0byB0aGUgZW50cnkgd2lsbCBnZW5lcmF0ZSBhbiBFUFQNCj4gPiA+ID4gbWlzY29uZmln Lg0KPiA+ID4gPiANCj4gPiA+ID4gVGhpbmdzIGdldHMgc2xpZ2h0bHkgY29tcGxpY2F0ZWQgd2l0 aCBuZXN0ZWQgZ3Vlc3QgaGFuZGxpbmcgZm9yIE1NSU8NCj4gPiA+ID4gcmVnaW9ucyB0aGF0IGFy ZSBub3QgcGFzc2VkIHRocm91Z2ggZnJvbSBMMCAoaS5lLiBlbXVsYXRlZCBieSBMMA0KPiA+ID4g PiB1c2VyLXNwYWNlKS4NCj4gPiA+ID4gDQo+ID4gPiA+IEFuIEVQVCB2aW9sYXRpb24gZm9yIG9u ZSBvZiB0aGVzZSBNTUlPIHJlZ2lvbnMgZnJvbSBMMiwgZXhpdHMgdG8gTDANCj4gPiA+ID4gaHlw ZXJ2aXNvci4gTDAgd291bGQgdGhlbiBsb29rIGF0IHRoZSBFUFQxMiBtYXBwaW5nIGZvciBMMSBo eXBlcnZpc29yIGFuZA0KPiA+ID4gPiByZWFsaXplIGl0IGlzIG5vdCBwcmVzZW50IChvciBub3Qg c3VmZmljaWVudCB0byBzZXJ2ZSB0aGUgcmVxdWVzdCkuIFRoZW4gTDANCj4gPiA+ID4gaW5qZWN0 cyBhbiBFUFQgdmlvbGF0aW9uIHRvIEwxLiBMMSB3b3VsZCB0aGVuIHVwZGF0ZSBpdHMgRVBUIG1h cHBpbmdzLiBUaGUNCj4gPiA+ID4gRVhJVF9RVUFMSUZJQ0FUSU9OIHZhbHVlIGZvciBMMSB3b3Vs ZCBjb21lIGZyb20gZXhpdF9xdWFsaWZpY2F0aW9uIHZhcmlhYmxlDQo+ID4gPiA+IGluICJzdHJ1 Y3QgdmNwdSIuIFRoZSBwcm9ibGVtIGlzIHRoYXQgdGhpcyB2YXJpYWJsZSBpcyBvbmx5IHVwZGF0 ZWQgb24gRVBUDQo+ID4gPiA+IHZpb2xhdGlvbiBhbmQgbm90IG9uIEVQVCBtaXNjb25maWcuIFNv IGlmIGFuIEVQVCB2aW9sYXRpb24gYmVjYXVzZSBvZiBhDQo+ID4gPiA+IHJlYWQgaGFwcGVuZWQg Zmlyc3QsIHRoZW4gYW4gRVBUIG1pc2NvbmZpZyBiZWNhdXNlIG9mIGEgd3JpdGUgaGFwcGVuZWQN Cj4gPiA+ID4gYWZ0ZXJ3YXJkcy4gVGhlIEwwIGh5cGVydmlzb3Igd2lsbCBzdGlsbCBjb250YWlu IGV4aXRfcXVhbGlmaWNhdGlvbiB2YWx1ZQ0KPiA+ID4gPiBmcm9tIHRoZSBwcmV2aW91cyByZWFk IGluc3RlYWQgb2YgdGhlIHdyaXRlIGFuZCBlbmQgdXAgaW5qZWN0aW5nIGFuIEVQVA0KPiA+ID4g PiB2aW9sYXRpb24gdG8gdGhlIEwxIGh5cGVydmlzb3Igd2l0aCBhbiBvdXQgb2YgZGF0ZSBFWElU X1FVQUxJRklDQVRJT04uDQo+ID4gPiA+IA0KPiA+ID4gPiBUaGUgRVBUIHZpb2xhdGlvbiB0aGF0 IGlzIGluamVjdGVkIGZyb20gTDAgdG8gTDEgbmVlZHMgdG8gaGF2ZSB0aGUgY29ycmVjdA0KPiA+ ID4gPiBFWElUX1FVQUxJRklDQVRJT04gc3BlY2lhbGx5IGZvciB0aGUgYWNjZXNzIGJpdHMgYmVj YXVzZSB0aGUgaW5kaXZpZHVhbA0KPiA+ID4gPiBhY2Nlc3MgYml0cyBmb3IgTU1JTyBFUFRzIGFy ZSB1cGRhdGVkIG9ubHkgb24gYWN0dWFsIGFjY2VzcyBvZiB0aGlzDQo+ID4gPiA+IHNwZWNpZmlj IHR5cGUuIFNvIGZvciB0aGUgZXhhbXBsZSBhYm92ZSwgdGhlIEwxIGh5cGVydmlzb3Igd2lsbCBr ZWVwDQo+ID4gPiA+IHVwZGF0aW5nIG9ubHkgdGhlIHJlYWQgYml0IGluIHRoZSBFUFQgdGhlbiBy ZXN1bWUgdGhlIEwyIGd1ZXN0LiBUaGUgTDINCj4gPiA+ID4gZ3Vlc3Qgd291bGQgZW5kIHVwIGNh dXNpbmcgYW5vdGhlciBleGl0IHdoZXJlIHRoZSBMMCAqYWdhaW4qIHdpbGwgaW5qZWN0DQo+ID4g PiA+IGFub3RoZXIgRVBUIHZpb2xhdGlvbiB0byBMMSBoeXBlcnZpc29yIHdpdGggKmFnYWluKiBh biBvdXQgb2YgZGF0ZQ0KPiA+ID4gPiBleGl0X3F1YWxpZmljYXRpb24gd2hpY2ggaW5kaWNhdGVz IGEgcmVhZCBhbmQgbm90IGEgd3JpdGUuIFRoZW4gdGhpcw0KPiA+ID4gPiBwaW5nLXBvbmcganVz dCBrZWVwcyBoYXBwZW5pbmcgd2l0aG91dCBtYWtpbmcgYW55IGZvcndhcmQgcHJvZ3Jlc3MuDQo+ ID4gPiA+IA0KPiA+ID4gPiBUaGUgYmVoYXZpb3Igb2YgbWFwcGluZyBNTUlPIHJlZ2lvbnMgY2hh bmdlZCBpbjoNCj4gPiA+ID4gDQo+ID4gPiA+ICAgIGNvbW1pdCBhMzQwYjNlMjI5YjI0ICgia3Zt OiBNYXAgUEZOLXR5cGUgbWVtb3J5IHJlZ2lvbnMgYXMgd3JpdGFibGUgKGlmIHBvc3NpYmxlKSIp DQo+ID4gPiA+IA0KPiA+ID4gPiAuLi4gd2hlcmUgYW4gRVBUIHZpb2xhdGlvbiBmb3IgYSByZWFk IHdvdWxkIGFsc28gZml4dXAgdGhlIHdyaXRlIGJpdHMgdG8NCj4gPiA+ID4gYXZvaWQgYW5vdGhl ciBFUFQgdmlvbGF0aW9uIHdoaWNoIGJ5IGFjY2lkZGVudCB3b3VsZCBmaXggdGhlIGJ1ZyBtZW50 aW9uZWQNCj4gPiA+ID4gYWJvdmUuDQo+ID4gPiA+IA0KPiA+ID4gPiBUaGlzIGNvbW1pdCBmaXhl cyB0aGlzIHNpdHVhdGlvbiBhbmQgZW5zdXJlcyB0aGF0IHRoZSBhY2Nlc3MgYml0cyBmb3IgdGhl DQo+ID4gPiA+IGV4aXRfcXVhbGlmY2F0aW9uIGlzIHVwIHRvIGRhdGUuIFRoYXQgZW5zdXJlcyB0 aGF0IGV2ZW4gTDEgaHlwZXJ2aXNvcg0KPiA+ID4gPiBydW5uaW5nIHdpdGggYSBLVk0gdmVyc2lv biBiZWZvcmUgdGhlIGNvbW1pdCBtZW50aW9uZWQgYWJvdmUgd291bGQgc3RpbGwNCj4gPiA+ID4g d29yay4NCj4gPiA+ID4gDQo+ID4gPiA+ICggVGhlIGRlc2NyaXB0aW9uIGFib3ZlIGFzc3VtZXMg RVBUIHRvIGJlIGF2YWlsYWJsZSBhbmQgdXNlZCBieSBMMQ0KPiA+ID4gPiAgIGh5cGVydmlzb3Ig KyB0aGUgTDEgaHlwZXJ2aXNvciBpcyBwYXNzaW5nIHRocm91Z2ggdGhlIE1NSU8gcmVnaW9uIHRv IHRoZSBMMg0KPiA+ID4gPiAgIGd1ZXN0IHdoaWxlIHRoaXMgTU1JTyByZWdpb24gaXMgZW11bGF0 ZWQgYnkgdGhlIEwwIHVzZXItc3BhY2UgKS4NCj4gPiA+IA0KPiA+ID4gVGhpcyBsb29rcyBva2F5 LiAgV291bGQgaXQgYmUgcG9zc2libGUgdG8gYWRkIGEga3ZtLXVuaXQtdGVzdHMgdGVzdGNhc2UN Cj4gPiA+IGZvciB0aGlzPw0KPiA+IA0KPiA+IFl1cCwgbWFrZXMgc2Vuc2UuIEp1c3Qgc2VudCBv dXQgYSBwYXRjaCBmb3Iga3ZtLXVuaXQtdGVzdHMuDQo+IA0KPiBXYXMgdGhlIGt2bS11bml0LXRl c3QgdGhhdCBJIHBvc3RlZCBzdWZmaWNpZW50Pw0KDQpOZXZlciBtaW5kLCBJIGp1c3Qgbm90aWNl ZCB0aGF0IFJhZGltIGFscmVhZHkgcHVsbGVkIHRoaXMgZml4IHRvIHRoZcKgDQprdm0vcXVldWUu DQoNClRoYW5rcyBSYWRpbSA6KQ0KDQo+IA0KPiA+IA0KPiA+IA0KPiA+IFRoYW5rcy4NCj4gPiAN Cj4gPiA+IA0KPiA+ID4gDQo+ID4gPiANCj4gPiA+IFRoYW5rcywNCj4gPiA+IA0KPiA+ID4gUGFv bG8NCj4gPiA+IA0KPiA+ID4gPiANCj4gPiA+ID4gDQo+ID4gPiA+IA0KPiA+ID4gPiBDYzogUGFv bG8gQm9uemluaSA8cGJvbnppbmlAcmVkaGF0LmNvbT4NCj4gPiA+ID4gQ2M6IFJhZGltIEtyxI1t w6HFmSA8cmtyY21hckByZWRoYXQuY29tPg0KPiA+ID4gPiBDYzogVGhvbWFzIEdsZWl4bmVyIDx0 Z2x4QGxpbnV0cm9uaXguZGU+DQo+ID4gPiA+IENjOiBJbmdvIE1vbG5hciA8bWluZ29AcmVkaGF0 LmNvbT4NCj4gPiA+ID4gQ2M6IEguIFBldGVyIEFudmluIDxocGFAenl0b3IuY29tPg0KPiA+ID4g PiBDYzogeDg2QGtlcm5lbC5vcmcNCj4gPiA+ID4gQ2M6IGt2bUB2Z2VyLmtlcm5lbC5vcmcNCj4g PiA+ID4gQ2M6IGxpbnV4LWtlcm5lbEB2Z2VyLmtlcm5lbC5vcmcNCj4gPiA+ID4gU2lnbmVkLW9m Zi1ieTogS2FyaW1BbGxhaCBBaG1lZCA8a2FyYWhtZWRAYW1hem9uLmRlPg0KPiA+ID4gPiAtLS0N Cj4gPiA+ID4gIGFyY2gveDg2L2t2bS9wYWdpbmdfdG1wbC5oIHwgMTEgKysrKysrKysrLS0NCj4g PiA+ID4gIDEgZmlsZSBjaGFuZ2VkLCA5IGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pDQo+ ID4gPiA+IA0KPiA+ID4gPiBkaWZmIC0tZ2l0IGEvYXJjaC94ODYva3ZtL3BhZ2luZ190bXBsLmgg Yi9hcmNoL3g4Ni9rdm0vcGFnaW5nX3RtcGwuaA0KPiA+ID4gPiBpbmRleCA1YWJhZTcyLi42Mjg4 ZTlkIDEwMDY0NA0KPiA+ID4gPiAtLS0gYS9hcmNoL3g4Ni9rdm0vcGFnaW5nX3RtcGwuaA0KPiA+ ID4gPiArKysgYi9hcmNoL3g4Ni9rdm0vcGFnaW5nX3RtcGwuaA0KPiA+ID4gPiBAQCAtNDUyLDE0 ICs0NTIsMjEgQEAgc3RhdGljIGludCBGTkFNRSh3YWxrX2FkZHJfZ2VuZXJpYykoc3RydWN0IGd1 ZXN0X3dhbGtlciAqd2Fsa2VyLA0KPiA+ID4gPiAgCSAqIGRvbmUgYnkgaXNfcnN2ZF9iaXRzX3Nl dCgpIGFib3ZlLg0KPiA+ID4gPiAgCSAqDQo+ID4gPiA+ICAJICogV2Ugc2V0IHVwIHRoZSB2YWx1 ZSBvZiBleGl0X3F1YWxpZmljYXRpb24gdG8gaW5qZWN0Og0KPiA+ID4gPiAtCSAqIFsyOjBdIC0g RGVyaXZlIGZyb20gWzI6MF0gb2YgcmVhbCBleGl0X3F1YWxpZmljYXRpb24gYXQgRVBUIHZpb2xh dGlvbg0KPiA+ID4gPiArCSAqIFsyOjBdIC0gRGVyaXZlIGZyb20gdGhlIGFjY2VzcyBiaXRzLiBU aGUgZXhpdF9xdWFsaWZpY2F0aW9uIG1pZ2h0IGJlDQo+ID4gPiA+ICsJICogICAgICAgICBvdXQg b2YgZGF0ZSBpZiBpdCBpcyBzZXJ2aW5nIGFuIEVQVCBtaXNjb25maWd1cmF0aW9uLg0KPiA+ID4g PiAgCSAqIFs1OjNdIC0gQ2FsY3VsYXRlZCBieSB0aGUgcGFnZSB3YWxrIG9mIHRoZSBndWVzdCBF UFQgcGFnZSB0YWJsZXMNCj4gPiA+ID4gIAkgKiBbNzo4XSAtIERlcml2ZWQgZnJvbSBbNzo4XSBv ZiByZWFsIGV4aXRfcXVhbGlmaWNhdGlvbg0KPiA+ID4gPiAgCSAqDQo+ID4gPiA+ICAJICogVGhl IG90aGVyIGJpdHMgYXJlIHNldCB0byAwLg0KPiA+ID4gPiAgCSAqLw0KPiA+ID4gPiAgCWlmICgh KGVycmNvZGUgJiBQRkVSUl9SU1ZEX01BU0spKSB7DQo+ID4gPiA+IC0JCXZjcHUtPmFyY2guZXhp dF9xdWFsaWZpY2F0aW9uICY9IDB4MTg3Ow0KPiA+ID4gPiArCQl2Y3B1LT5hcmNoLmV4aXRfcXVh bGlmaWNhdGlvbiAmPSAweDE4MDsNCj4gPiA+ID4gKwkJaWYgKHdyaXRlX2ZhdWx0KQ0KPiA+ID4g PiArCQkJdmNwdS0+YXJjaC5leGl0X3F1YWxpZmljYXRpb24gfD0gRVBUX1ZJT0xBVElPTl9BQ0Nf V1JJVEU7DQo+ID4gPiA+ICsJCWlmICh1c2VyX2ZhdWx0KQ0KPiA+ID4gPiArCQkJdmNwdS0+YXJj aC5leGl0X3F1YWxpZmljYXRpb24gfD0gRVBUX1ZJT0xBVElPTl9BQ0NfUkVBRDsNCj4gPiA+ID4g KwkJaWYgKGZldGNoX2ZhdWx0KQ0KPiA+ID4gPiArCQkJdmNwdS0+YXJjaC5leGl0X3F1YWxpZmlj YXRpb24gfD0gRVBUX1ZJT0xBVElPTl9BQ0NfSU5TVFI7DQo+ID4gPiA+ICAJCXZjcHUtPmFyY2gu ZXhpdF9xdWFsaWZpY2F0aW9uIHw9IChwdGVfYWNjZXNzICYgMHg3KSA8PCAzOw0KPiA+ID4gPiAg CX0NCj4gPiA+ID4gICNlbmRpZg0KPiA+ID4gPiANCj4gPiA+IA0KPiA+ID4gDQpBbWF6b24gRGV2 ZWxvcG1lbnQgQ2VudGVyIEdlcm1hbnkgR21iSApCZXJsaW4gLSBEcmVzZGVuIC0gQWFjaGVuCm1h aW4gb2ZmaWNlOiBLcmF1c2Vuc3RyLiAzOCwgMTAxMTcgQmVybGluCkdlc2NoYWVmdHNmdWVocmVy OiBEci4gUmFsZiBIZXJicmljaCwgQ2hyaXN0aWFuIFNjaGxhZWdlcgpVc3QtSUQ6IERFMjg5MjM3 ODc5CkVpbmdldHJhZ2VuIGFtIEFtdHNnZXJpY2h0IENoYXJsb3R0ZW5idXJnIEhSQiAxNDkxNzMg Qgo=