From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id B9B17EAC7 for ; Fri, 22 Sep 2023 10:08:40 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 3000CC433C7; Fri, 22 Sep 2023 10:08:40 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1695377320; bh=+nkvC+9xvHlUAEcQG/DhSghnfCoIhmHjwaRNqhkvr90=; h=Date:From:To:Cc:Subject:In-Reply-To:References:From; b=WkcLbHYK2YYPDXgLxBobTGGK6Ge/SzIV/+LnyJFCU4rKuq+iHSop5ULZ1QD6zSQqg yElFmYJo0xfHcGYHzYgzvnPtyvQjOstO4OhyS6ef92yPvTCIxTJIYPRIZx4ZYuJShG 4sWEMM3/1DoDVTMVCSE4e5rXua/8HErG6SacmSaN0xkP9poiuxH7q7QNvpxs6vk1YS px4fN8+w1AMS11V4f6v/1Y6H5peQSAIcGEc7I7ylxuOFb0pNZDXetN3nLVh2G17xVP cAQlOleNe7sBz+oBvknyUA9hf2Bw6msBbGGnIcVWgSfBIxYmZPjfq4adN7nH5HTK1v mil8QBAV3Dbug== Received: from sofa.misterjones.org ([185.219.108.64] helo=goblin-girl.misterjones.org) by disco-boy.misterjones.org with esmtpsa (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.95) (envelope-from ) id 1qjd5R-00FHZ0-AF; Fri, 22 Sep 2023 11:08:37 +0100 Date: Fri, 22 Sep 2023 11:08:30 +0100 Message-ID: <86y1gyo6zl.wl-maz@kernel.org> From: Marc Zyngier To: "Jitindar Singh, Suraj" Cc: "vdonnefort@google.com" , "philmd@linaro.org" , "james.morse@arm.com" , "suzuki.poulose@arm.com" , "oliver.upton@linux.dev" , "qperret@google.com" , "kvmarm@lists.linux.dev" , "catalin.marinas@arm.com" , "linux-arm-kernel@lists.infradead.org" , "kvmarm@lists.cs.columbia.edu" , "stable@vger.kernel.org" , "will@kernel.org" , "linux-kernel@vger.kernel.org" , "alexandru.elisei@arm.com" Subject: Re: [PATCH stable 6.1.y 1/2] KVM: arm64: Prevent the donation of no-map pages In-Reply-To: References: <20230920192729.694309-1-surajjs@amazon.com> <878r903snv.wl-maz@kernel.org> User-Agent: Wanderlust/2.15.9 (Almost Unreal) SEMI-EPG/1.14.7 (Harue) FLIM-LB/1.14.9 (=?UTF-8?B?R29qxY0=?=) APEL-LB/10.8 EasyPG/1.0.0 Emacs/29.1 (aarch64-unknown-linux-gnu) MULE/6.0 (HANACHIRUSATO) Precedence: bulk X-Mailing-List: kvmarm@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 (generated by SEMI-EPG 1.14.7 - "Harue") Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable X-SA-Exim-Connect-IP: 185.219.108.64 X-SA-Exim-Rcpt-To: surajjs@amazon.com, vdonnefort@google.com, philmd@linaro.org, james.morse@arm.com, suzuki.poulose@arm.com, oliver.upton@linux.dev, qperret@google.com, kvmarm@lists.linux.dev, catalin.marinas@arm.com, linux-arm-kernel@lists.infradead.org, kvmarm@lists.cs.columbia.edu, stable@vger.kernel.org, will@kernel.org, linux-kernel@vger.kernel.org, alexandru.elisei@arm.com X-SA-Exim-Mail-From: maz@kernel.org X-SA-Exim-Scanned: No (on disco-boy.misterjones.org); SAEximRunCond expanded to false On Thu, 21 Sep 2023 23:22:54 +0100, "Jitindar Singh, Suraj" wrote: >=20 > On Thu, 2023-09-21 at 08:13 +0100, Marc Zyngier wrote: > > On Wed, 20 Sep 2023 20:27:28 +0100, > > Suraj Jitindar Singh wrote: > > >=20 > > > From: Quentin Perret > > >=20 > > > commit 43c1ff8b75011bc3e3e923adf31ba815864a2494 upstream. > > >=20 > > > Memory regions marked as "no-map" in the host device-tree routinely > > > include TrustZone carev-outs and DMA pools. Although donating such > > > pages > > > to the hypervisor may not breach confidentiality, it could be used > > > to > > > corrupt its state in uncontrollable ways. To prevent this, let's > > > block > > > host-initiated memory transitions targeting "no-map" pages > > > altogether in > > > nVHE protected mode as there should be no valid reason to do this > > > in > > > current operation. > > >=20 > > > Thankfully, the pKVM EL2 hypervisor has a full copy of the host's > > > list > > > of memblock regions, so we can easily check for the presence of the > > > MEMBLOCK_NOMAP flag on a region containing pages being donated from > > > the > > > host. > > >=20 > > > Reviewed-by: Philippe Mathieu-Daud=C3=A9 > > > Tested-by: Vincent Donnefort > > > Signed-off-by: Quentin Perret > > > Signed-off-by: Will Deacon > > > Signed-off-by: Marc Zyngier > > > Link: > > > https://lore.kernel.org/r/20221110190259.26861-8-will@kernel.org > > > [ bp: clean ] > >=20 > > What is this? >=20 > Noting any details about the backport. In this case it was a clean > backport. I don't think this has anything to do here. If you want to add a note indicating what was changed in the patch, make it *extremely* visible in the commit message, and not hidden as some obscure form of metadata. >=20 > >=20 > > > Signed-off-by: Suraj Jitindar Singh > >=20 > > What is the rationale for backporting this? It wasn't tagged as Cc: > > to > > stable for a reason: pKVM isn't functional upstream, and won't be for > > the next couple of cycles *at least*. > >=20 > > So at it stands, I'm against such a backport. > >=20 >=20 > The 2 patches were backported to address CVE-2023-21264. > This one provides context for the proceeding patch. I care about CVEs as much as I care about holes in my socks (i.e. very little). If there is a concern, it should be brought up on the list as a discussion, and not as a consequence of some script kiddie automatically generating CVEs. > I wasn't aware that it's non functional. Does this mean that the code > won't be compiled or just that it can't actually be run currently from > the upstream codebase? This code is inactive unless you pass the correct option on the command line, and as it is brings zero benefit over standard KVM. The only place this matters is in the Android kernel, as it has full support for pKVM, and has the fix already. We carry it upstream at a courtesy to the pKVM developers, but that's about it. > I guess I'm trying to understand if the conditions of the CVE are a > real concern even if it isn't technically functional. This CVE is a waste of precious bytes, and I have no interest in seeing this backported. Thanks, M. --=20 Without deviation from the norm, progress is not possible. From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 1013FCD4F49 for ; Fri, 22 Sep 2023 10:09:14 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To: Subject:Cc:To:From:Message-ID:Date:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=mwvy+WAQpTktdmIzkcaVxgsS8nG2WJMR36OcpnpDkSA=; b=rCOEpzFU7/MhS9 quK5/4ogJI/UvB2RMUMlGtDeZL2uu8GVdMFAKihKDuQqtkK+Hbiu2MI+2AWPiXopBbd4m1W0ri0H+ Qv4SPID98varVXm2yqqhYz2DF+3rxS9XS669GLvU5W69DKM70v6+utRtwoP6MGKlAYgC0BnhVVwRg GD9VI4tLLvIH376XAKiVdtQvlcQnvDuDpAz09xHgLUMX8chLuEj5FlPRN8PlT+5myQ8cF8MoHLNeY srkQoPbrk7qlsTVH7nD5/oecpG4v0El+xaZ0UNLbbKk0I/eJ8TfeV7euQ6en3NNLxke+dhKBHuO4H qJP0Lw/t/sF+X82KvJxw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.96 #2 (Red Hat Linux)) id 1qjd5a-008gRx-1B; Fri, 22 Sep 2023 10:08:46 +0000 Received: from ams.source.kernel.org ([145.40.68.75]) by bombadil.infradead.org with esmtps (Exim 4.96 #2 (Red Hat Linux)) id 1qjd5X-008gQr-1f for linux-arm-kernel@lists.infradead.org; Fri, 22 Sep 2023 10:08:45 +0000 Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by ams.source.kernel.org (Postfix) with ESMTPS id 707A6B81F7B; Fri, 22 Sep 2023 10:08:41 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 3000CC433C7; Fri, 22 Sep 2023 10:08:40 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1695377320; bh=+nkvC+9xvHlUAEcQG/DhSghnfCoIhmHjwaRNqhkvr90=; h=Date:From:To:Cc:Subject:In-Reply-To:References:From; b=WkcLbHYK2YYPDXgLxBobTGGK6Ge/SzIV/+LnyJFCU4rKuq+iHSop5ULZ1QD6zSQqg yElFmYJo0xfHcGYHzYgzvnPtyvQjOstO4OhyS6ef92yPvTCIxTJIYPRIZx4ZYuJShG 4sWEMM3/1DoDVTMVCSE4e5rXua/8HErG6SacmSaN0xkP9poiuxH7q7QNvpxs6vk1YS px4fN8+w1AMS11V4f6v/1Y6H5peQSAIcGEc7I7ylxuOFb0pNZDXetN3nLVh2G17xVP cAQlOleNe7sBz+oBvknyUA9hf2Bw6msBbGGnIcVWgSfBIxYmZPjfq4adN7nH5HTK1v mil8QBAV3Dbug== Received: from sofa.misterjones.org ([185.219.108.64] helo=goblin-girl.misterjones.org) by disco-boy.misterjones.org with esmtpsa (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.95) (envelope-from ) id 1qjd5R-00FHZ0-AF; Fri, 22 Sep 2023 11:08:37 +0100 Date: Fri, 22 Sep 2023 11:08:30 +0100 Message-ID: <86y1gyo6zl.wl-maz@kernel.org> From: Marc Zyngier To: "Jitindar Singh, Suraj" Cc: "vdonnefort@google.com" , "philmd@linaro.org" , "james.morse@arm.com" , "suzuki.poulose@arm.com" , "oliver.upton@linux.dev" , "qperret@google.com" , "kvmarm@lists.linux.dev" , "catalin.marinas@arm.com" , "linux-arm-kernel@lists.infradead.org" , "kvmarm@lists.cs.columbia.edu" , "stable@vger.kernel.org" , "will@kernel.org" , "linux-kernel@vger.kernel.org" , "alexandru.elisei@arm.com" Subject: Re: [PATCH stable 6.1.y 1/2] KVM: arm64: Prevent the donation of no-map pages In-Reply-To: References: <20230920192729.694309-1-surajjs@amazon.com> <878r903snv.wl-maz@kernel.org> User-Agent: Wanderlust/2.15.9 (Almost Unreal) SEMI-EPG/1.14.7 (Harue) FLIM-LB/1.14.9 (=?UTF-8?B?R29qxY0=?=) APEL-LB/10.8 EasyPG/1.0.0 Emacs/29.1 (aarch64-unknown-linux-gnu) MULE/6.0 (HANACHIRUSATO) MIME-Version: 1.0 (generated by SEMI-EPG 1.14.7 - "Harue") X-SA-Exim-Connect-IP: 185.219.108.64 X-SA-Exim-Rcpt-To: surajjs@amazon.com, vdonnefort@google.com, philmd@linaro.org, james.morse@arm.com, suzuki.poulose@arm.com, oliver.upton@linux.dev, qperret@google.com, kvmarm@lists.linux.dev, catalin.marinas@arm.com, linux-arm-kernel@lists.infradead.org, kvmarm@lists.cs.columbia.edu, stable@vger.kernel.org, will@kernel.org, linux-kernel@vger.kernel.org, alexandru.elisei@arm.com X-SA-Exim-Mail-From: maz@kernel.org X-SA-Exim-Scanned: No (on disco-boy.misterjones.org); SAEximRunCond expanded to false X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20230922_030843_846110_C881642E X-CRM114-Status: GOOD ( 38.13 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org T24gVGh1LCAyMSBTZXAgMjAyMyAyMzoyMjo1NCArMDEwMCwKIkppdGluZGFyIFNpbmdoLCBTdXJh aiIgPHN1cmFqanNAYW1hem9uLmNvbT4gd3JvdGU6Cj4gCj4gT24gVGh1LCAyMDIzLTA5LTIxIGF0 IDA4OjEzICswMTAwLCBNYXJjIFp5bmdpZXIgd3JvdGU6Cj4gPiBPbiBXZWQsIDIwIFNlcCAyMDIz IDIwOjI3OjI4ICswMTAwLAo+ID4gU3VyYWogSml0aW5kYXIgU2luZ2ggPHN1cmFqanNAYW1hem9u LmNvbT4gd3JvdGU6Cj4gPiA+IAo+ID4gPiBGcm9tOiBRdWVudGluIFBlcnJldCA8cXBlcnJldEBn b29nbGUuY29tPgo+ID4gPiAKPiA+ID4gY29tbWl0IDQzYzFmZjhiNzUwMTFiYzNlM2U5MjNhZGYz MWJhODE1ODY0YTI0OTQgdXBzdHJlYW0uCj4gPiA+IAo+ID4gPiBNZW1vcnkgcmVnaW9ucyBtYXJr ZWQgYXMgIm5vLW1hcCIgaW4gdGhlIGhvc3QgZGV2aWNlLXRyZWUgcm91dGluZWx5Cj4gPiA+IGlu Y2x1ZGUgVHJ1c3Rab25lIGNhcmV2LW91dHMgYW5kIERNQSBwb29scy4gQWx0aG91Z2ggZG9uYXRp bmcgc3VjaAo+ID4gPiBwYWdlcwo+ID4gPiB0byB0aGUgaHlwZXJ2aXNvciBtYXkgbm90IGJyZWFj aCBjb25maWRlbnRpYWxpdHksIGl0IGNvdWxkIGJlIHVzZWQKPiA+ID4gdG8KPiA+ID4gY29ycnVw dCBpdHMgc3RhdGUgaW4gdW5jb250cm9sbGFibGUgd2F5cy4gVG8gcHJldmVudCB0aGlzLCBsZXQn cwo+ID4gPiBibG9jawo+ID4gPiBob3N0LWluaXRpYXRlZCBtZW1vcnkgdHJhbnNpdGlvbnMgdGFy Z2V0aW5nICJuby1tYXAiIHBhZ2VzCj4gPiA+IGFsdG9nZXRoZXIgaW4KPiA+ID4gblZIRSBwcm90 ZWN0ZWQgbW9kZSBhcyB0aGVyZSBzaG91bGQgYmUgbm8gdmFsaWQgcmVhc29uIHRvIGRvIHRoaXMK PiA+ID4gaW4KPiA+ID4gY3VycmVudCBvcGVyYXRpb24uCj4gPiA+IAo+ID4gPiBUaGFua2Z1bGx5 LCB0aGUgcEtWTSBFTDIgaHlwZXJ2aXNvciBoYXMgYSBmdWxsIGNvcHkgb2YgdGhlIGhvc3Qncwo+ ID4gPiBsaXN0Cj4gPiA+IG9mIG1lbWJsb2NrIHJlZ2lvbnMsIHNvIHdlIGNhbiBlYXNpbHkgY2hl Y2sgZm9yIHRoZSBwcmVzZW5jZSBvZiB0aGUKPiA+ID4gTUVNQkxPQ0tfTk9NQVAgZmxhZyBvbiBh IHJlZ2lvbiBjb250YWluaW5nIHBhZ2VzIGJlaW5nIGRvbmF0ZWQgZnJvbQo+ID4gPiB0aGUKPiA+ ID4gaG9zdC4KPiA+ID4gCj4gPiA+IFJldmlld2VkLWJ5OiBQaGlsaXBwZSBNYXRoaWV1LURhdWTD qSA8cGhpbG1kQGxpbmFyby5vcmc+Cj4gPiA+IFRlc3RlZC1ieTogVmluY2VudCBEb25uZWZvcnQg PHZkb25uZWZvcnRAZ29vZ2xlLmNvbT4KPiA+ID4gU2lnbmVkLW9mZi1ieTogUXVlbnRpbiBQZXJy ZXQgPHFwZXJyZXRAZ29vZ2xlLmNvbT4KPiA+ID4gU2lnbmVkLW9mZi1ieTogV2lsbCBEZWFjb24g PHdpbGxAa2VybmVsLm9yZz4KPiA+ID4gU2lnbmVkLW9mZi1ieTogTWFyYyBaeW5naWVyIDxtYXpA a2VybmVsLm9yZz4KPiA+ID4gTGluazoKPiA+ID4gaHR0cHM6Ly9sb3JlLmtlcm5lbC5vcmcvci8y MDIyMTExMDE5MDI1OS4yNjg2MS04LXdpbGxAa2VybmVsLm9yZwo+ID4gPiBbIGJwOiBjbGVhbiBd Cj4gPiAKPiA+IFdoYXQgaXMgdGhpcz8KPiAKPiBOb3RpbmcgYW55IGRldGFpbHMgYWJvdXQgdGhl IGJhY2twb3J0LiBJbiB0aGlzIGNhc2UgaXQgd2FzIGEgY2xlYW4KPiBiYWNrcG9ydC4KCkkgZG9u J3QgdGhpbmsgdGhpcyBoYXMgYW55dGhpbmcgdG8gZG8gaGVyZS4gSWYgeW91IHdhbnQgdG8gYWRk IGEgbm90ZQppbmRpY2F0aW5nIHdoYXQgd2FzIGNoYW5nZWQgaW4gdGhlIHBhdGNoLCBtYWtlIGl0 ICpleHRyZW1lbHkqIHZpc2libGUKaW4gdGhlIGNvbW1pdCBtZXNzYWdlLCBhbmQgbm90IGhpZGRl biBhcyBzb21lIG9ic2N1cmUgZm9ybSBvZgptZXRhZGF0YS4KCj4gCj4gPiAKPiA+ID4gU2lnbmVk LW9mZi1ieTogU3VyYWogSml0aW5kYXIgU2luZ2ggPHN1cmFqanNAYW1hem9uLmNvbT4KPiA+IAo+ ID4gV2hhdCBpcyB0aGUgcmF0aW9uYWxlIGZvciBiYWNrcG9ydGluZyB0aGlzPyBJdCB3YXNuJ3Qg dGFnZ2VkIGFzIENjOgo+ID4gdG8KPiA+IHN0YWJsZSBmb3IgYSByZWFzb246IHBLVk0gaXNuJ3Qg ZnVuY3Rpb25hbCB1cHN0cmVhbSwgYW5kIHdvbid0IGJlIGZvcgo+ID4gdGhlIG5leHQgY291cGxl IG9mIGN5Y2xlcyAqYXQgbGVhc3QqLgo+ID4gCj4gPiBTbyBhdCBpdCBzdGFuZHMsIEknbSBhZ2Fp bnN0IHN1Y2ggYSBiYWNrcG9ydC4KPiA+IAo+IAo+IFRoZSAyIHBhdGNoZXMgd2VyZSBiYWNrcG9y dGVkIHRvIGFkZHJlc3MgQ1ZFLTIwMjMtMjEyNjQuCj4gVGhpcyBvbmUgcHJvdmlkZXMgY29udGV4 dCBmb3IgdGhlIHByb2NlZWRpbmcgcGF0Y2guCgpJIGNhcmUgYWJvdXQgQ1ZFcyBhcyBtdWNoIGFz IEkgY2FyZSBhYm91dCBob2xlcyBpbiBteSBzb2NrcyAoaS5lLiB2ZXJ5CmxpdHRsZSkuIElmIHRo ZXJlIGlzIGEgY29uY2VybiwgaXQgc2hvdWxkIGJlIGJyb3VnaHQgdXAgb24gdGhlIGxpc3QgYXMK YSBkaXNjdXNzaW9uLCBhbmQgbm90IGFzIGEgY29uc2VxdWVuY2Ugb2Ygc29tZSBzY3JpcHQga2lk ZGllCmF1dG9tYXRpY2FsbHkgZ2VuZXJhdGluZyBDVkVzLgoKPiBJIHdhc24ndCBhd2FyZSB0aGF0 IGl0J3Mgbm9uIGZ1bmN0aW9uYWwuIERvZXMgdGhpcyBtZWFuIHRoYXQgdGhlIGNvZGUKPiB3b24n dCBiZSBjb21waWxlZCBvciBqdXN0IHRoYXQgaXQgY2FuJ3QgYWN0dWFsbHkgYmUgcnVuIGN1cnJl bnRseSBmcm9tCj4gdGhlIHVwc3RyZWFtIGNvZGViYXNlPwoKVGhpcyBjb2RlIGlzIGluYWN0aXZl IHVubGVzcyB5b3UgcGFzcyB0aGUgY29ycmVjdCBvcHRpb24gb24gdGhlCmNvbW1hbmQgbGluZSwg YW5kIGFzIGl0IGlzIGJyaW5ncyB6ZXJvIGJlbmVmaXQgb3ZlciBzdGFuZGFyZCBLVk0uICBUaGUK b25seSBwbGFjZSB0aGlzIG1hdHRlcnMgaXMgaW4gdGhlIEFuZHJvaWQga2VybmVsLCBhcyBpdCBo YXMgZnVsbApzdXBwb3J0IGZvciBwS1ZNLCBhbmQgaGFzIHRoZSBmaXggYWxyZWFkeS4gV2UgY2Fy cnkgaXQgdXBzdHJlYW0gYXQgYQpjb3VydGVzeSB0byB0aGUgcEtWTSBkZXZlbG9wZXJzLCBidXQg dGhhdCdzIGFib3V0IGl0LgoKPiBJIGd1ZXNzIEknbSB0cnlpbmcgdG8gdW5kZXJzdGFuZCBpZiB0 aGUgY29uZGl0aW9ucyBvZiB0aGUgQ1ZFIGFyZSBhCj4gcmVhbCBjb25jZXJuIGV2ZW4gaWYgaXQg aXNuJ3QgdGVjaG5pY2FsbHkgZnVuY3Rpb25hbC4KClRoaXMgQ1ZFIGlzIGEgd2FzdGUgb2YgcHJl Y2lvdXMgYnl0ZXMsIGFuZCBJIGhhdmUgbm8gaW50ZXJlc3QgaW4Kc2VlaW5nIHRoaXMgYmFja3Bv cnRlZC4KClRoYW5rcywKCglNLgoKLS0gCldpdGhvdXQgZGV2aWF0aW9uIGZyb20gdGhlIG5vcm0s IHByb2dyZXNzIGlzIG5vdCBwb3NzaWJsZS4KCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fCmxpbnV4LWFybS1rZXJuZWwgbWFpbGluZyBsaXN0CmxpbnV4LWFy bS1rZXJuZWxAbGlzdHMuaW5mcmFkZWFkLm9yZwpodHRwOi8vbGlzdHMuaW5mcmFkZWFkLm9yZy9t YWlsbWFuL2xpc3RpbmZvL2xpbnV4LWFybS1rZXJuZWwK