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 vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 82D8EC433EF for ; Sat, 4 Jun 2022 08:26:21 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232870AbiFDI0U (ORCPT ); Sat, 4 Jun 2022 04:26:20 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:42660 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231295AbiFDI0S (ORCPT ); Sat, 4 Jun 2022 04:26:18 -0400 Received: from dfw.source.kernel.org (dfw.source.kernel.org [IPv6:2604:1380:4641:c500::1]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id B6AF0562E3 for ; Sat, 4 Jun 2022 01:26:17 -0700 (PDT) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id 46B5360F0F for ; Sat, 4 Jun 2022 08:26:17 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 80187C385B8; Sat, 4 Jun 2022 08:26:16 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1654331176; bh=XB9XNCUnz60TeYIewtZ/Z+5jYs1vpZbLifBhN25MVEE=; h=Date:From:To:Cc:Subject:In-Reply-To:References:From; b=BOKrKDdE3n6ydBKz5NZgm9MaI+P7AVSsruHomByISL45xwrgTca665UeLaiELINLR E6r3L6zyIYO/GLBA/4rF1CSwoq1B92Vowh3y7IwK8y6ZyluSueD/CL+AyAbSpc6Pb8 q3B1m4BulIZ8du5AE7QE1El4Bw3xj3qK1dQBBAz5MR6Bv6VZa078wMVrfH11UtTSK/ gcC+wXsBe6QSBJqT5uE6wWd72AX6GDOSrSzkgkv11fn+lMyr3piWK3kv6aMNPJ/Lmq gTGEfj7ey4H5QKR7uVLXLcGS6Qq2rXE/hlavHMA6XOUx0ShGR+ILIWVf5h9Mgc1d8t 14rSqcTJ5v2ug== Received: from host217-45-173-31.in-addr.btopenworld.com ([217.45.173.31] helo=wait-a-minute.misterjones.org) by disco-boy.misterjones.org with esmtpsa (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1nxP6s-00FaKq-0z; Sat, 04 Jun 2022 09:26:14 +0100 Date: Sat, 04 Jun 2022 09:26:13 +0100 Message-ID: <87v8tgltqy.wl-maz@kernel.org> From: Marc Zyngier To: Peter Collingbourne Cc: Fuad Tabba , Will Deacon , kvmarm@lists.cs.columbia.edu, Ard Biesheuvel , Sean Christopherson , Alexandru Elisei , Andy Lutomirski , Catalin Marinas , James Morse , Chao Peng , Quentin Perret , Suzuki K Poulose , Michael Roth , Mark Rutland , Oliver Upton , kernel-team@android.com, kvm@vger.kernel.org, Linux ARM Subject: Re: [PATCH 59/89] KVM: arm64: Do not support MTE for protected VMs In-Reply-To: References: <20220519134204.5379-1-will@kernel.org> <20220519134204.5379-60-will@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/27.1 (x86_64-pc-linux-gnu) MULE/6.0 (HANACHIRUSATO) 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: 217.45.173.31 X-SA-Exim-Rcpt-To: pcc@google.com, tabba@google.com, will@kernel.org, kvmarm@lists.cs.columbia.edu, ardb@kernel.org, seanjc@google.com, alexandru.elisei@arm.com, luto@amacapital.net, catalin.marinas@arm.com, james.morse@arm.com, chao.p.peng@linux.intel.com, qperret@google.com, suzuki.poulose@arm.com, michael.roth@amd.com, mark.rutland@arm.com, oupton@google.com, kernel-team@android.com, kvm@vger.kernel.org, linux-arm-kernel@lists.infradead.org X-SA-Exim-Mail-From: maz@kernel.org X-SA-Exim-Scanned: No (on disco-boy.misterjones.org); SAEximRunCond expanded to false Precedence: bulk List-ID: X-Mailing-List: kvm@vger.kernel.org On Fri, 03 Jun 2022 04:00:29 +0100, Peter Collingbourne wrote: >=20 > Hi Fuad, >=20 > On Fri, May 27, 2022 at 08:55:42AM +0100, Fuad Tabba wrote: > > Hi Peter, > >=20 > > On Thu, May 26, 2022 at 9:08 PM Peter Collingbourne wr= ote: > > > > > > On Thu, May 19, 2022 at 7:40 AM Will Deacon wrote: > > > > > > > > From: Fuad Tabba > > > > > > > > Return an error (-EINVAL) if trying to enable MTE on a protected > > > > vm. > > > > > > I think this commit message needs more explanation as to why MTE is > > > not currently supported in protected VMs. > >=20 > > Yes, we need to explain this more. Basically this is an extension of > > restricting features for protected VMs done earlier [*]. > >=20 > > Various VM feature configurations are allowed in KVM/arm64, each requir= ing > > specific handling logic to deal with traps, context-switching and poten= tially > > emulation. Achieving feature parity in pKVM therefore requires either e= levating > > this logic to EL2 (and substantially increasing the TCB) or continuing = to trust > > the host handlers at EL1. Since neither of these options are especially > > appealing, pKVM instead limits the CPU features exposed to a guest to a= fixed > > configuration based on the underlying hardware and which can mostly be = provided > > straightforwardly by EL2. > >=20 > > This of course can change in the future and we can support more > > features for protected VMs as needed. We'll expand on this commit > > message when we respin. > >=20 > > Also note that this only applies to protected VMs. Non-protected VMs > > in protected mode support MTE. >=20 > I see. In this case unless I'm missing something the=C2=A0EL2 side seems > quite trivial though (flipping some bits in HCR_EL2). The patch below > (in place of this one) seems to make MTE work in my test environment > (patched [1] crosvm on Android in MTE-enabled QEMU). >=20 > [1] https://chromium-review.googlesource.com/c/chromiumos/platform/crosvm= /+/3689015 >=20 > From c87965cd14515586d487872486e7670874209113 Mon Sep 17 00:00:00 2001 > From: Peter Collingbourne > Date: Thu, 2 Jun 2022 19:16:02 -0700 > Subject: [PATCH] arm64: support MTE in protected VMs >=20 > Enable HCR_EL2.ATA while running a vCPU with MTE enabled. >=20 > To avoid exposing MTE tags from the host to protected VMs, sanitize > tags before donating pages. >=20 > Signed-off-by: Peter Collingbourne > --- > arch/arm64/include/asm/kvm_pkvm.h | 4 +++- > arch/arm64/kvm/hyp/nvhe/pkvm.c | 6 +++--- > arch/arm64/kvm/mmu.c | 4 +++- > 3 files changed, 9 insertions(+), 5 deletions(-) >=20 > diff --git a/arch/arm64/include/asm/kvm_pkvm.h b/arch/arm64/include/asm/k= vm_pkvm.h > index 952e3c3fa32d..9ca9296f2a25 100644 > --- a/arch/arm64/include/asm/kvm_pkvm.h > +++ b/arch/arm64/include/asm/kvm_pkvm.h > @@ -73,10 +73,12 @@ void kvm_shadow_destroy(struct kvm *kvm); > * Allow for protected VMs: > * - Branch Target Identification > * - Speculative Store Bypassing > + * - Memory Tagging Extension > */ > #define PVM_ID_AA64PFR1_ALLOW (\ > ARM64_FEATURE_MASK(ID_AA64PFR1_BT) | \ > - ARM64_FEATURE_MASK(ID_AA64PFR1_SSBS) \ > + ARM64_FEATURE_MASK(ID_AA64PFR1_SSBS) | \ > + ARM64_FEATURE_MASK(ID_AA64PFR1_MTE) \ > ) > =20 > /* > diff --git a/arch/arm64/kvm/hyp/nvhe/pkvm.c b/arch/arm64/kvm/hyp/nvhe/pkv= m.c > index e33ba9067d7b..46ddd9093ac7 100644 > --- a/arch/arm64/kvm/hyp/nvhe/pkvm.c > +++ b/arch/arm64/kvm/hyp/nvhe/pkvm.c > @@ -88,7 +88,7 @@ static void pvm_init_traps_aa64pfr1(struct kvm_vcpu *vc= pu) > /* Memory Tagging: Trap and Treat as Untagged if not supported. */ > if (!FIELD_GET(ARM64_FEATURE_MASK(ID_AA64PFR1_MTE), feature_ids)) { > hcr_set |=3D HCR_TID5; > - hcr_clear |=3D HCR_DCT | HCR_ATA; > + hcr_clear |=3D HCR_ATA; > } > =20 > vcpu->arch.hcr_el2 |=3D hcr_set; > @@ -179,8 +179,8 @@ static void pvm_init_trap_regs(struct kvm_vcpu *vcpu) > * - Feature id registers: to control features exposed to guests > * - Implementation-defined features > */ > - vcpu->arch.hcr_el2 =3D HCR_GUEST_FLAGS | > - HCR_TID3 | HCR_TACR | HCR_TIDCP | HCR_TID1; > + vcpu->arch.hcr_el2 =3D HCR_GUEST_FLAGS | HCR_TID3 | HCR_TACR | HCR_TIDC= P | > + HCR_TID1 | HCR_ATA; > =20 > if (cpus_have_const_cap(ARM64_HAS_RAS_EXTN)) { > /* route synchronous external abort exceptions to EL2 */ > diff --git a/arch/arm64/kvm/mmu.c b/arch/arm64/kvm/mmu.c > index 392ff7b2362d..f513852357f7 100644 > --- a/arch/arm64/kvm/mmu.c > +++ b/arch/arm64/kvm/mmu.c > @@ -1206,8 +1206,10 @@ static int pkvm_mem_abort(struct kvm_vcpu *vcpu, p= hys_addr_t fault_ipa, > goto dec_account; > } > =20 > - write_lock(&kvm->mmu_lock); > pfn =3D page_to_pfn(page); > + sanitise_mte_tags(kvm, pfn, PAGE_SIZE); > + > + write_lock(&kvm->mmu_lock); Is it really safe to rely on the host to clear the tags? My guts feeling says that it isn't. If it is required, we cannot leave this responsibility to the host, and this logic must be moved to EL2. And if it isn't, then we should drop it. > ret =3D pkvm_host_map_guest(pfn, fault_ipa >> PAGE_SHIFT); > if (ret) { > if (ret =3D=3D -EAGAIN) But the bigger picture here is what ensures that the host cannot mess with the guest tags? I don't think we have a any mechanism to guarantee that, specially on systems where the tags are only a memory carve-out, which the host could map and change at will. In any case, this isn't the time to pile new features on top of pKVM. The current plan is to not support MTE at all, and only do it once we have a definitive story on page donation (which as you may have noticed, is pretty hacky). I don't see any compelling reason to add MTE to the mix until this is solved. 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 mm01.cs.columbia.edu (mm01.cs.columbia.edu [128.59.11.253]) by smtp.lore.kernel.org (Postfix) with ESMTP id 00788C43334 for ; Sat, 4 Jun 2022 08:26:22 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by mm01.cs.columbia.edu (Postfix) with ESMTP id 83B5F4B175; Sat, 4 Jun 2022 04:26:22 -0400 (EDT) X-Virus-Scanned: at lists.cs.columbia.edu Authentication-Results: mm01.cs.columbia.edu (amavisd-new); dkim=softfail (fail, message has been altered) header.i=@kernel.org Received: from mm01.cs.columbia.edu ([127.0.0.1]) by localhost (mm01.cs.columbia.edu [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id nDPwESyT6U7k; Sat, 4 Jun 2022 04:26:21 -0400 (EDT) Received: from mm01.cs.columbia.edu (localhost [127.0.0.1]) by mm01.cs.columbia.edu (Postfix) with ESMTP id 1464E4B133; Sat, 4 Jun 2022 04:26:21 -0400 (EDT) Received: from localhost (localhost [127.0.0.1]) by mm01.cs.columbia.edu (Postfix) with ESMTP id 91E574B12E for ; Sat, 4 Jun 2022 04:26:19 -0400 (EDT) X-Virus-Scanned: at lists.cs.columbia.edu Received: from mm01.cs.columbia.edu ([127.0.0.1]) by localhost (mm01.cs.columbia.edu [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id uLEBmxVdcpiY for ; Sat, 4 Jun 2022 04:26:18 -0400 (EDT) Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217]) by mm01.cs.columbia.edu (Postfix) with ESMTPS id F30E74B105 for ; Sat, 4 Jun 2022 04:26:17 -0400 (EDT) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id 3E5CB60BAA; Sat, 4 Jun 2022 08:26:17 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 80187C385B8; Sat, 4 Jun 2022 08:26:16 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1654331176; bh=XB9XNCUnz60TeYIewtZ/Z+5jYs1vpZbLifBhN25MVEE=; h=Date:From:To:Cc:Subject:In-Reply-To:References:From; b=BOKrKDdE3n6ydBKz5NZgm9MaI+P7AVSsruHomByISL45xwrgTca665UeLaiELINLR E6r3L6zyIYO/GLBA/4rF1CSwoq1B92Vowh3y7IwK8y6ZyluSueD/CL+AyAbSpc6Pb8 q3B1m4BulIZ8du5AE7QE1El4Bw3xj3qK1dQBBAz5MR6Bv6VZa078wMVrfH11UtTSK/ gcC+wXsBe6QSBJqT5uE6wWd72AX6GDOSrSzkgkv11fn+lMyr3piWK3kv6aMNPJ/Lmq gTGEfj7ey4H5QKR7uVLXLcGS6Qq2rXE/hlavHMA6XOUx0ShGR+ILIWVf5h9Mgc1d8t 14rSqcTJ5v2ug== Received: from host217-45-173-31.in-addr.btopenworld.com ([217.45.173.31] helo=wait-a-minute.misterjones.org) by disco-boy.misterjones.org with esmtpsa (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1nxP6s-00FaKq-0z; Sat, 04 Jun 2022 09:26:14 +0100 Date: Sat, 04 Jun 2022 09:26:13 +0100 Message-ID: <87v8tgltqy.wl-maz@kernel.org> From: Marc Zyngier To: Peter Collingbourne Subject: Re: [PATCH 59/89] KVM: arm64: Do not support MTE for protected VMs In-Reply-To: References: <20220519134204.5379-1-will@kernel.org> <20220519134204.5379-60-will@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/27.1 (x86_64-pc-linux-gnu) MULE/6.0 (HANACHIRUSATO) MIME-Version: 1.0 (generated by SEMI-EPG 1.14.7 - "Harue") X-SA-Exim-Connect-IP: 217.45.173.31 X-SA-Exim-Rcpt-To: pcc@google.com, tabba@google.com, will@kernel.org, kvmarm@lists.cs.columbia.edu, ardb@kernel.org, seanjc@google.com, alexandru.elisei@arm.com, luto@amacapital.net, catalin.marinas@arm.com, james.morse@arm.com, chao.p.peng@linux.intel.com, qperret@google.com, suzuki.poulose@arm.com, michael.roth@amd.com, mark.rutland@arm.com, oupton@google.com, kernel-team@android.com, kvm@vger.kernel.org, linux-arm-kernel@lists.infradead.org X-SA-Exim-Mail-From: maz@kernel.org X-SA-Exim-Scanned: No (on disco-boy.misterjones.org); SAEximRunCond expanded to false Cc: kernel-team@android.com, kvm@vger.kernel.org, Will Deacon , Linux ARM , Michael Roth , Catalin Marinas , Chao Peng , Andy Lutomirski , kvmarm@lists.cs.columbia.edu X-BeenThere: kvmarm@lists.cs.columbia.edu X-Mailman-Version: 2.1.14 Precedence: list List-Id: Where KVM/ARM decisions are made List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: kvmarm-bounces@lists.cs.columbia.edu Sender: kvmarm-bounces@lists.cs.columbia.edu T24gRnJpLCAwMyBKdW4gMjAyMiAwNDowMDoyOSArMDEwMCwKUGV0ZXIgQ29sbGluZ2JvdXJuZSA8 cGNjQGdvb2dsZS5jb20+IHdyb3RlOgo+IAo+IEhpIEZ1YWQsCj4gCj4gT24gRnJpLCBNYXkgMjcs IDIwMjIgYXQgMDg6NTU6NDJBTSArMDEwMCwgRnVhZCBUYWJiYSB3cm90ZToKPiA+IEhpIFBldGVy LAo+ID4gCj4gPiBPbiBUaHUsIE1heSAyNiwgMjAyMiBhdCA5OjA4IFBNIFBldGVyIENvbGxpbmdi b3VybmUgPHBjY0Bnb29nbGUuY29tPiB3cm90ZToKPiA+ID4KPiA+ID4gT24gVGh1LCBNYXkgMTks IDIwMjIgYXQgNzo0MCBBTSBXaWxsIERlYWNvbiA8d2lsbEBrZXJuZWwub3JnPiB3cm90ZToKPiA+ ID4gPgo+ID4gPiA+IEZyb206IEZ1YWQgVGFiYmEgPHRhYmJhQGdvb2dsZS5jb20+Cj4gPiA+ID4K PiA+ID4gPiBSZXR1cm4gYW4gZXJyb3IgKC1FSU5WQUwpIGlmIHRyeWluZyB0byBlbmFibGUgTVRF IG9uIGEgcHJvdGVjdGVkCj4gPiA+ID4gdm0uCj4gPiA+Cj4gPiA+IEkgdGhpbmsgdGhpcyBjb21t aXQgbWVzc2FnZSBuZWVkcyBtb3JlIGV4cGxhbmF0aW9uIGFzIHRvIHdoeSBNVEUgaXMKPiA+ID4g bm90IGN1cnJlbnRseSBzdXBwb3J0ZWQgaW4gcHJvdGVjdGVkIFZNcy4KPiA+IAo+ID4gWWVzLCB3 ZSBuZWVkIHRvIGV4cGxhaW4gdGhpcyBtb3JlLiBCYXNpY2FsbHkgdGhpcyBpcyBhbiBleHRlbnNp b24gb2YKPiA+IHJlc3RyaWN0aW5nIGZlYXR1cmVzIGZvciBwcm90ZWN0ZWQgVk1zIGRvbmUgZWFy bGllciBbKl0uCj4gPiAKPiA+IFZhcmlvdXMgVk0gZmVhdHVyZSBjb25maWd1cmF0aW9ucyBhcmUg YWxsb3dlZCBpbiBLVk0vYXJtNjQsIGVhY2ggcmVxdWlyaW5nCj4gPiBzcGVjaWZpYyBoYW5kbGlu ZyBsb2dpYyB0byBkZWFsIHdpdGggdHJhcHMsIGNvbnRleHQtc3dpdGNoaW5nIGFuZCBwb3RlbnRp YWxseQo+ID4gZW11bGF0aW9uLiBBY2hpZXZpbmcgZmVhdHVyZSBwYXJpdHkgaW4gcEtWTSB0aGVy ZWZvcmUgcmVxdWlyZXMgZWl0aGVyIGVsZXZhdGluZwo+ID4gdGhpcyBsb2dpYyB0byBFTDIgKGFu ZCBzdWJzdGFudGlhbGx5IGluY3JlYXNpbmcgdGhlIFRDQikgb3IgY29udGludWluZyB0byB0cnVz dAo+ID4gdGhlIGhvc3QgaGFuZGxlcnMgYXQgRUwxLiBTaW5jZSBuZWl0aGVyIG9mIHRoZXNlIG9w dGlvbnMgYXJlIGVzcGVjaWFsbHkKPiA+IGFwcGVhbGluZywgcEtWTSBpbnN0ZWFkIGxpbWl0cyB0 aGUgQ1BVIGZlYXR1cmVzIGV4cG9zZWQgdG8gYSBndWVzdCB0byBhIGZpeGVkCj4gPiBjb25maWd1 cmF0aW9uIGJhc2VkIG9uIHRoZSB1bmRlcmx5aW5nIGhhcmR3YXJlIGFuZCB3aGljaCBjYW4gbW9z dGx5IGJlIHByb3ZpZGVkCj4gPiBzdHJhaWdodGZvcndhcmRseSBieSBFTDIuCj4gPiAKPiA+IFRo aXMgb2YgY291cnNlIGNhbiBjaGFuZ2UgaW4gdGhlIGZ1dHVyZSBhbmQgd2UgY2FuIHN1cHBvcnQg bW9yZQo+ID4gZmVhdHVyZXMgZm9yIHByb3RlY3RlZCBWTXMgYXMgbmVlZGVkLiBXZSdsbCBleHBh bmQgb24gdGhpcyBjb21taXQKPiA+IG1lc3NhZ2Ugd2hlbiB3ZSByZXNwaW4uCj4gPiAKPiA+IEFs c28gbm90ZSB0aGF0IHRoaXMgb25seSBhcHBsaWVzIHRvIHByb3RlY3RlZCBWTXMuIE5vbi1wcm90 ZWN0ZWQgVk1zCj4gPiBpbiBwcm90ZWN0ZWQgbW9kZSBzdXBwb3J0IE1URS4KPiAKPiBJIHNlZS4g SW4gdGhpcyBjYXNlIHVubGVzcyBJJ20gbWlzc2luZyBzb21ldGhpbmcgdGhlwqBFTDIgc2lkZSBz ZWVtcwo+IHF1aXRlIHRyaXZpYWwgdGhvdWdoIChmbGlwcGluZyBzb21lIGJpdHMgaW4gSENSX0VM MikuIFRoZSBwYXRjaCBiZWxvdwo+IChpbiBwbGFjZSBvZiB0aGlzIG9uZSkgc2VlbXMgdG8gbWFr ZSBNVEUgd29yayBpbiBteSB0ZXN0IGVudmlyb25tZW50Cj4gKHBhdGNoZWQgWzFdIGNyb3N2bSBv biBBbmRyb2lkIGluIE1URS1lbmFibGVkIFFFTVUpLgo+IAo+IFsxXSBodHRwczovL2Nocm9taXVt LXJldmlldy5nb29nbGVzb3VyY2UuY29tL2MvY2hyb21pdW1vcy9wbGF0Zm9ybS9jcm9zdm0vKy8z Njg5MDE1Cj4gCj4gRnJvbSBjODc5NjVjZDE0NTE1NTg2ZDQ4Nzg3MjQ4NmU3NjcwODc0MjA5MTEz IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQo+IEZyb206IFBldGVyIENvbGxpbmdib3VybmUgPHBj Y0Bnb29nbGUuY29tPgo+IERhdGU6IFRodSwgMiBKdW4gMjAyMiAxOToxNjowMiAtMDcwMAo+IFN1 YmplY3Q6IFtQQVRDSF0gYXJtNjQ6IHN1cHBvcnQgTVRFIGluIHByb3RlY3RlZCBWTXMKPiAKPiBF bmFibGUgSENSX0VMMi5BVEEgd2hpbGUgcnVubmluZyBhIHZDUFUgd2l0aCBNVEUgZW5hYmxlZC4K PiAKPiBUbyBhdm9pZCBleHBvc2luZyBNVEUgdGFncyBmcm9tIHRoZSBob3N0IHRvIHByb3RlY3Rl ZCBWTXMsIHNhbml0aXplCj4gdGFncyBiZWZvcmUgZG9uYXRpbmcgcGFnZXMuCj4gCj4gU2lnbmVk LW9mZi1ieTogUGV0ZXIgQ29sbGluZ2JvdXJuZSA8cGNjQGdvb2dsZS5jb20+Cj4gLS0tCj4gIGFy Y2gvYXJtNjQvaW5jbHVkZS9hc20va3ZtX3Brdm0uaCB8IDQgKysrLQo+ICBhcmNoL2FybTY0L2t2 bS9oeXAvbnZoZS9wa3ZtLmMgICAgfCA2ICsrKy0tLQo+ICBhcmNoL2FybTY0L2t2bS9tbXUuYyAg ICAgICAgICAgICAgfCA0ICsrKy0KPiAgMyBmaWxlcyBjaGFuZ2VkLCA5IGluc2VydGlvbnMoKyks IDUgZGVsZXRpb25zKC0pCj4gCj4gZGlmZiAtLWdpdCBhL2FyY2gvYXJtNjQvaW5jbHVkZS9hc20v a3ZtX3Brdm0uaCBiL2FyY2gvYXJtNjQvaW5jbHVkZS9hc20va3ZtX3Brdm0uaAo+IGluZGV4IDk1 MmUzYzNmYTMyZC4uOWNhOTI5NmYyYTI1IDEwMDY0NAo+IC0tLSBhL2FyY2gvYXJtNjQvaW5jbHVk ZS9hc20va3ZtX3Brdm0uaAo+ICsrKyBiL2FyY2gvYXJtNjQvaW5jbHVkZS9hc20va3ZtX3Brdm0u aAo+IEBAIC03MywxMCArNzMsMTIgQEAgdm9pZCBrdm1fc2hhZG93X2Rlc3Ryb3koc3RydWN0IGt2 bSAqa3ZtKTsKPiAgICogQWxsb3cgZm9yIHByb3RlY3RlZCBWTXM6Cj4gICAqIC0gQnJhbmNoIFRh cmdldCBJZGVudGlmaWNhdGlvbgo+ICAgKiAtIFNwZWN1bGF0aXZlIFN0b3JlIEJ5cGFzc2luZwo+ ICsgKiAtIE1lbW9yeSBUYWdnaW5nIEV4dGVuc2lvbgo+ICAgKi8KPiAgI2RlZmluZSBQVk1fSURf QUE2NFBGUjFfQUxMT1cgKFwKPiAgCUFSTTY0X0ZFQVRVUkVfTUFTSyhJRF9BQTY0UEZSMV9CVCkg fCBcCj4gLQlBUk02NF9GRUFUVVJFX01BU0soSURfQUE2NFBGUjFfU1NCUykgXAo+ICsJQVJNNjRf RkVBVFVSRV9NQVNLKElEX0FBNjRQRlIxX1NTQlMpIHwgXAo+ICsJQVJNNjRfRkVBVFVSRV9NQVNL KElEX0FBNjRQRlIxX01URSkgXAo+ICAJKQo+ICAKPiAgLyoKPiBkaWZmIC0tZ2l0IGEvYXJjaC9h cm02NC9rdm0vaHlwL252aGUvcGt2bS5jIGIvYXJjaC9hcm02NC9rdm0vaHlwL252aGUvcGt2bS5j Cj4gaW5kZXggZTMzYmE5MDY3ZDdiLi40NmRkZDkwOTNhYzcgMTAwNjQ0Cj4gLS0tIGEvYXJjaC9h cm02NC9rdm0vaHlwL252aGUvcGt2bS5jCj4gKysrIGIvYXJjaC9hcm02NC9rdm0vaHlwL252aGUv cGt2bS5jCj4gQEAgLTg4LDcgKzg4LDcgQEAgc3RhdGljIHZvaWQgcHZtX2luaXRfdHJhcHNfYWE2 NHBmcjEoc3RydWN0IGt2bV92Y3B1ICp2Y3B1KQo+ICAJLyogTWVtb3J5IFRhZ2dpbmc6IFRyYXAg YW5kIFRyZWF0IGFzIFVudGFnZ2VkIGlmIG5vdCBzdXBwb3J0ZWQuICovCj4gIAlpZiAoIUZJRUxE X0dFVChBUk02NF9GRUFUVVJFX01BU0soSURfQUE2NFBGUjFfTVRFKSwgZmVhdHVyZV9pZHMpKSB7 Cj4gIAkJaGNyX3NldCB8PSBIQ1JfVElENTsKPiAtCQloY3JfY2xlYXIgfD0gSENSX0RDVCB8IEhD Ul9BVEE7Cj4gKwkJaGNyX2NsZWFyIHw9IEhDUl9BVEE7Cj4gIAl9Cj4gIAo+ICAJdmNwdS0+YXJj aC5oY3JfZWwyIHw9IGhjcl9zZXQ7Cj4gQEAgLTE3OSw4ICsxNzksOCBAQCBzdGF0aWMgdm9pZCBw dm1faW5pdF90cmFwX3JlZ3Moc3RydWN0IGt2bV92Y3B1ICp2Y3B1KQo+ICAJICogLSBGZWF0dXJl IGlkIHJlZ2lzdGVyczogdG8gY29udHJvbCBmZWF0dXJlcyBleHBvc2VkIHRvIGd1ZXN0cwo+ICAJ ICogLSBJbXBsZW1lbnRhdGlvbi1kZWZpbmVkIGZlYXR1cmVzCj4gIAkgKi8KPiAtCXZjcHUtPmFy Y2guaGNyX2VsMiA9IEhDUl9HVUVTVF9GTEFHUyB8Cj4gLQkJCSAgICAgSENSX1RJRDMgfCBIQ1Jf VEFDUiB8IEhDUl9USURDUCB8IEhDUl9USUQxOwo+ICsJdmNwdS0+YXJjaC5oY3JfZWwyID0gSENS X0dVRVNUX0ZMQUdTIHwgSENSX1RJRDMgfCBIQ1JfVEFDUiB8IEhDUl9USURDUCB8Cj4gKwkJCSAg ICAgSENSX1RJRDEgfCBIQ1JfQVRBOwo+ICAKPiAgCWlmIChjcHVzX2hhdmVfY29uc3RfY2FwKEFS TTY0X0hBU19SQVNfRVhUTikpIHsKPiAgCQkvKiByb3V0ZSBzeW5jaHJvbm91cyBleHRlcm5hbCBh Ym9ydCBleGNlcHRpb25zIHRvIEVMMiAqLwo+IGRpZmYgLS1naXQgYS9hcmNoL2FybTY0L2t2bS9t bXUuYyBiL2FyY2gvYXJtNjQva3ZtL21tdS5jCj4gaW5kZXggMzkyZmY3YjIzNjJkLi5mNTEzODUy MzU3ZjcgMTAwNjQ0Cj4gLS0tIGEvYXJjaC9hcm02NC9rdm0vbW11LmMKPiArKysgYi9hcmNoL2Fy bTY0L2t2bS9tbXUuYwo+IEBAIC0xMjA2LDggKzEyMDYsMTAgQEAgc3RhdGljIGludCBwa3ZtX21l bV9hYm9ydChzdHJ1Y3Qga3ZtX3ZjcHUgKnZjcHUsIHBoeXNfYWRkcl90IGZhdWx0X2lwYSwKPiAg CQlnb3RvIGRlY19hY2NvdW50Owo+ICAJfQo+ICAKPiAtCXdyaXRlX2xvY2soJmt2bS0+bW11X2xv Y2spOwo+ICAJcGZuID0gcGFnZV90b19wZm4ocGFnZSk7Cj4gKwlzYW5pdGlzZV9tdGVfdGFncyhr dm0sIHBmbiwgUEFHRV9TSVpFKTsKPiArCj4gKwl3cml0ZV9sb2NrKCZrdm0tPm1tdV9sb2NrKTsK CklzIGl0IHJlYWxseSBzYWZlIHRvIHJlbHkgb24gdGhlIGhvc3QgdG8gY2xlYXIgdGhlIHRhZ3M/ IE15IGd1dHMKZmVlbGluZyBzYXlzIHRoYXQgaXQgaXNuJ3QuIElmIGl0IGlzIHJlcXVpcmVkLCB3 ZSBjYW5ub3QgbGVhdmUgdGhpcwpyZXNwb25zaWJpbGl0eSB0byB0aGUgaG9zdCwgYW5kIHRoaXMg bG9naWMgbXVzdCBiZSBtb3ZlZCB0byBFTDIuIEFuZAppZiBpdCBpc24ndCwgdGhlbiB3ZSBzaG91 bGQgZHJvcCBpdC4KCj4gIAlyZXQgPSBwa3ZtX2hvc3RfbWFwX2d1ZXN0KHBmbiwgZmF1bHRfaXBh ID4+IFBBR0VfU0hJRlQpOwo+ICAJaWYgKHJldCkgewo+ICAJCWlmIChyZXQgPT0gLUVBR0FJTikK CkJ1dCB0aGUgYmlnZ2VyIHBpY3R1cmUgaGVyZSBpcyB3aGF0IGVuc3VyZXMgdGhhdCB0aGUgaG9z dCBjYW5ub3QgbWVzcwp3aXRoIHRoZSBndWVzdCB0YWdzPyBJIGRvbid0IHRoaW5rIHdlIGhhdmUg YSBhbnkgbWVjaGFuaXNtIHRvCmd1YXJhbnRlZSB0aGF0LCBzcGVjaWFsbHkgb24gc3lzdGVtcyB3 aGVyZSB0aGUgdGFncyBhcmUgb25seSBhIG1lbW9yeQpjYXJ2ZS1vdXQsIHdoaWNoIHRoZSBob3N0 IGNvdWxkIG1hcCBhbmQgY2hhbmdlIGF0IHdpbGwuCgpJbiBhbnkgY2FzZSwgdGhpcyBpc24ndCB0 aGUgdGltZSB0byBwaWxlIG5ldyBmZWF0dXJlcyBvbiB0b3Agb2YKcEtWTS4gVGhlIGN1cnJlbnQg cGxhbiBpcyB0byBub3Qgc3VwcG9ydCBNVEUgYXQgYWxsLCBhbmQgb25seSBkbyBpdApvbmNlIHdl IGhhdmUgYSBkZWZpbml0aXZlIHN0b3J5IG9uIHBhZ2UgZG9uYXRpb24gKHdoaWNoIGFzIHlvdSBt YXkKaGF2ZSBub3RpY2VkLCBpcyBwcmV0dHkgaGFja3kpLiBJIGRvbid0IHNlZSBhbnkgY29tcGVs bGluZyByZWFzb24gdG8KYWRkIE1URSB0byB0aGUgbWl4IHVudGlsIHRoaXMgaXMgc29sdmVkLgoK VGhhbmtzLAoKCU0uCgotLSAKV2l0aG91dCBkZXZpYXRpb24gZnJvbSB0aGUgbm9ybSwgcHJvZ3Jl c3MgaXMgbm90IHBvc3NpYmxlLgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fXwprdm1hcm0gbWFpbGluZyBsaXN0Cmt2bWFybUBsaXN0cy5jcy5jb2x1bWJpYS5l ZHUKaHR0cHM6Ly9saXN0cy5jcy5jb2x1bWJpYS5lZHUvbWFpbG1hbi9saXN0aW5mby9rdm1hcm0K 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 7597AC433EF for ; Sat, 4 Jun 2022 08:27:26 +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=9V1yaHHv17vVyK0/rMZnxSBGNThRQYjUBe2/DC6aLCA=; b=Zwo4ZFGHplLY71 cPIe7rIyzi/AMGV/NjIWSABqLonMF/5eGaT+70F2hgZzVYKVMF9+AzrTvwnjnRn5wYN2XAJrS01s5 qDhw8VsgkRY2PmP29LPLDbM0LM7Re8LYUCMM8aPLL9qVnv6Ta/pEaHRw3aqNWHAdH1eceD1YCNxdd eY+QZg+UhdtPw/muS7B/Ic4tpc8U313U1iRzWsHXXYDpezLkRufibI9PtYZPKSrNVQS+IqVBUOvnP 6slnP8KYKiutuf3JBKv1cxHv2TWV0lZFyGClgY2IkV0HP3vSnFoHg9awo0WR4XMC/sSrWGYhZx35y /9hnajcQCNdZRUrgB+Pg==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1nxP6z-00ApaU-BN; Sat, 04 Jun 2022 08:26:21 +0000 Received: from dfw.source.kernel.org ([139.178.84.217]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1nxP6v-00ApYt-Ue for linux-arm-kernel@lists.infradead.org; Sat, 04 Jun 2022 08:26:19 +0000 Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id 3E5CB60BAA; Sat, 4 Jun 2022 08:26:17 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 80187C385B8; Sat, 4 Jun 2022 08:26:16 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1654331176; bh=XB9XNCUnz60TeYIewtZ/Z+5jYs1vpZbLifBhN25MVEE=; h=Date:From:To:Cc:Subject:In-Reply-To:References:From; b=BOKrKDdE3n6ydBKz5NZgm9MaI+P7AVSsruHomByISL45xwrgTca665UeLaiELINLR E6r3L6zyIYO/GLBA/4rF1CSwoq1B92Vowh3y7IwK8y6ZyluSueD/CL+AyAbSpc6Pb8 q3B1m4BulIZ8du5AE7QE1El4Bw3xj3qK1dQBBAz5MR6Bv6VZa078wMVrfH11UtTSK/ gcC+wXsBe6QSBJqT5uE6wWd72AX6GDOSrSzkgkv11fn+lMyr3piWK3kv6aMNPJ/Lmq gTGEfj7ey4H5QKR7uVLXLcGS6Qq2rXE/hlavHMA6XOUx0ShGR+ILIWVf5h9Mgc1d8t 14rSqcTJ5v2ug== Received: from host217-45-173-31.in-addr.btopenworld.com ([217.45.173.31] helo=wait-a-minute.misterjones.org) by disco-boy.misterjones.org with esmtpsa (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1nxP6s-00FaKq-0z; Sat, 04 Jun 2022 09:26:14 +0100 Date: Sat, 04 Jun 2022 09:26:13 +0100 Message-ID: <87v8tgltqy.wl-maz@kernel.org> From: Marc Zyngier To: Peter Collingbourne Cc: Fuad Tabba , Will Deacon , kvmarm@lists.cs.columbia.edu, Ard Biesheuvel , Sean Christopherson , Alexandru Elisei , Andy Lutomirski , Catalin Marinas , James Morse , Chao Peng , Quentin Perret , Suzuki K Poulose , Michael Roth , Mark Rutland , Oliver Upton , kernel-team@android.com, kvm@vger.kernel.org, Linux ARM Subject: Re: [PATCH 59/89] KVM: arm64: Do not support MTE for protected VMs In-Reply-To: References: <20220519134204.5379-1-will@kernel.org> <20220519134204.5379-60-will@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/27.1 (x86_64-pc-linux-gnu) MULE/6.0 (HANACHIRUSATO) MIME-Version: 1.0 (generated by SEMI-EPG 1.14.7 - "Harue") X-SA-Exim-Connect-IP: 217.45.173.31 X-SA-Exim-Rcpt-To: pcc@google.com, tabba@google.com, will@kernel.org, kvmarm@lists.cs.columbia.edu, ardb@kernel.org, seanjc@google.com, alexandru.elisei@arm.com, luto@amacapital.net, catalin.marinas@arm.com, james.morse@arm.com, chao.p.peng@linux.intel.com, qperret@google.com, suzuki.poulose@arm.com, michael.roth@amd.com, mark.rutland@arm.com, oupton@google.com, kernel-team@android.com, kvm@vger.kernel.org, linux-arm-kernel@lists.infradead.org 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-20220604_012618_107385_C412A95A X-CRM114-Status: GOOD ( 47.87 ) 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 T24gRnJpLCAwMyBKdW4gMjAyMiAwNDowMDoyOSArMDEwMCwKUGV0ZXIgQ29sbGluZ2JvdXJuZSA8 cGNjQGdvb2dsZS5jb20+IHdyb3RlOgo+IAo+IEhpIEZ1YWQsCj4gCj4gT24gRnJpLCBNYXkgMjcs IDIwMjIgYXQgMDg6NTU6NDJBTSArMDEwMCwgRnVhZCBUYWJiYSB3cm90ZToKPiA+IEhpIFBldGVy LAo+ID4gCj4gPiBPbiBUaHUsIE1heSAyNiwgMjAyMiBhdCA5OjA4IFBNIFBldGVyIENvbGxpbmdi b3VybmUgPHBjY0Bnb29nbGUuY29tPiB3cm90ZToKPiA+ID4KPiA+ID4gT24gVGh1LCBNYXkgMTks IDIwMjIgYXQgNzo0MCBBTSBXaWxsIERlYWNvbiA8d2lsbEBrZXJuZWwub3JnPiB3cm90ZToKPiA+ ID4gPgo+ID4gPiA+IEZyb206IEZ1YWQgVGFiYmEgPHRhYmJhQGdvb2dsZS5jb20+Cj4gPiA+ID4K PiA+ID4gPiBSZXR1cm4gYW4gZXJyb3IgKC1FSU5WQUwpIGlmIHRyeWluZyB0byBlbmFibGUgTVRF IG9uIGEgcHJvdGVjdGVkCj4gPiA+ID4gdm0uCj4gPiA+Cj4gPiA+IEkgdGhpbmsgdGhpcyBjb21t aXQgbWVzc2FnZSBuZWVkcyBtb3JlIGV4cGxhbmF0aW9uIGFzIHRvIHdoeSBNVEUgaXMKPiA+ID4g bm90IGN1cnJlbnRseSBzdXBwb3J0ZWQgaW4gcHJvdGVjdGVkIFZNcy4KPiA+IAo+ID4gWWVzLCB3 ZSBuZWVkIHRvIGV4cGxhaW4gdGhpcyBtb3JlLiBCYXNpY2FsbHkgdGhpcyBpcyBhbiBleHRlbnNp b24gb2YKPiA+IHJlc3RyaWN0aW5nIGZlYXR1cmVzIGZvciBwcm90ZWN0ZWQgVk1zIGRvbmUgZWFy bGllciBbKl0uCj4gPiAKPiA+IFZhcmlvdXMgVk0gZmVhdHVyZSBjb25maWd1cmF0aW9ucyBhcmUg YWxsb3dlZCBpbiBLVk0vYXJtNjQsIGVhY2ggcmVxdWlyaW5nCj4gPiBzcGVjaWZpYyBoYW5kbGlu ZyBsb2dpYyB0byBkZWFsIHdpdGggdHJhcHMsIGNvbnRleHQtc3dpdGNoaW5nIGFuZCBwb3RlbnRp YWxseQo+ID4gZW11bGF0aW9uLiBBY2hpZXZpbmcgZmVhdHVyZSBwYXJpdHkgaW4gcEtWTSB0aGVy ZWZvcmUgcmVxdWlyZXMgZWl0aGVyIGVsZXZhdGluZwo+ID4gdGhpcyBsb2dpYyB0byBFTDIgKGFu ZCBzdWJzdGFudGlhbGx5IGluY3JlYXNpbmcgdGhlIFRDQikgb3IgY29udGludWluZyB0byB0cnVz dAo+ID4gdGhlIGhvc3QgaGFuZGxlcnMgYXQgRUwxLiBTaW5jZSBuZWl0aGVyIG9mIHRoZXNlIG9w dGlvbnMgYXJlIGVzcGVjaWFsbHkKPiA+IGFwcGVhbGluZywgcEtWTSBpbnN0ZWFkIGxpbWl0cyB0 aGUgQ1BVIGZlYXR1cmVzIGV4cG9zZWQgdG8gYSBndWVzdCB0byBhIGZpeGVkCj4gPiBjb25maWd1 cmF0aW9uIGJhc2VkIG9uIHRoZSB1bmRlcmx5aW5nIGhhcmR3YXJlIGFuZCB3aGljaCBjYW4gbW9z dGx5IGJlIHByb3ZpZGVkCj4gPiBzdHJhaWdodGZvcndhcmRseSBieSBFTDIuCj4gPiAKPiA+IFRo aXMgb2YgY291cnNlIGNhbiBjaGFuZ2UgaW4gdGhlIGZ1dHVyZSBhbmQgd2UgY2FuIHN1cHBvcnQg bW9yZQo+ID4gZmVhdHVyZXMgZm9yIHByb3RlY3RlZCBWTXMgYXMgbmVlZGVkLiBXZSdsbCBleHBh bmQgb24gdGhpcyBjb21taXQKPiA+IG1lc3NhZ2Ugd2hlbiB3ZSByZXNwaW4uCj4gPiAKPiA+IEFs c28gbm90ZSB0aGF0IHRoaXMgb25seSBhcHBsaWVzIHRvIHByb3RlY3RlZCBWTXMuIE5vbi1wcm90 ZWN0ZWQgVk1zCj4gPiBpbiBwcm90ZWN0ZWQgbW9kZSBzdXBwb3J0IE1URS4KPiAKPiBJIHNlZS4g SW4gdGhpcyBjYXNlIHVubGVzcyBJJ20gbWlzc2luZyBzb21ldGhpbmcgdGhlwqBFTDIgc2lkZSBz ZWVtcwo+IHF1aXRlIHRyaXZpYWwgdGhvdWdoIChmbGlwcGluZyBzb21lIGJpdHMgaW4gSENSX0VM MikuIFRoZSBwYXRjaCBiZWxvdwo+IChpbiBwbGFjZSBvZiB0aGlzIG9uZSkgc2VlbXMgdG8gbWFr ZSBNVEUgd29yayBpbiBteSB0ZXN0IGVudmlyb25tZW50Cj4gKHBhdGNoZWQgWzFdIGNyb3N2bSBv biBBbmRyb2lkIGluIE1URS1lbmFibGVkIFFFTVUpLgo+IAo+IFsxXSBodHRwczovL2Nocm9taXVt LXJldmlldy5nb29nbGVzb3VyY2UuY29tL2MvY2hyb21pdW1vcy9wbGF0Zm9ybS9jcm9zdm0vKy8z Njg5MDE1Cj4gCj4gRnJvbSBjODc5NjVjZDE0NTE1NTg2ZDQ4Nzg3MjQ4NmU3NjcwODc0MjA5MTEz IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQo+IEZyb206IFBldGVyIENvbGxpbmdib3VybmUgPHBj Y0Bnb29nbGUuY29tPgo+IERhdGU6IFRodSwgMiBKdW4gMjAyMiAxOToxNjowMiAtMDcwMAo+IFN1 YmplY3Q6IFtQQVRDSF0gYXJtNjQ6IHN1cHBvcnQgTVRFIGluIHByb3RlY3RlZCBWTXMKPiAKPiBF bmFibGUgSENSX0VMMi5BVEEgd2hpbGUgcnVubmluZyBhIHZDUFUgd2l0aCBNVEUgZW5hYmxlZC4K PiAKPiBUbyBhdm9pZCBleHBvc2luZyBNVEUgdGFncyBmcm9tIHRoZSBob3N0IHRvIHByb3RlY3Rl ZCBWTXMsIHNhbml0aXplCj4gdGFncyBiZWZvcmUgZG9uYXRpbmcgcGFnZXMuCj4gCj4gU2lnbmVk LW9mZi1ieTogUGV0ZXIgQ29sbGluZ2JvdXJuZSA8cGNjQGdvb2dsZS5jb20+Cj4gLS0tCj4gIGFy Y2gvYXJtNjQvaW5jbHVkZS9hc20va3ZtX3Brdm0uaCB8IDQgKysrLQo+ICBhcmNoL2FybTY0L2t2 bS9oeXAvbnZoZS9wa3ZtLmMgICAgfCA2ICsrKy0tLQo+ICBhcmNoL2FybTY0L2t2bS9tbXUuYyAg ICAgICAgICAgICAgfCA0ICsrKy0KPiAgMyBmaWxlcyBjaGFuZ2VkLCA5IGluc2VydGlvbnMoKyks IDUgZGVsZXRpb25zKC0pCj4gCj4gZGlmZiAtLWdpdCBhL2FyY2gvYXJtNjQvaW5jbHVkZS9hc20v a3ZtX3Brdm0uaCBiL2FyY2gvYXJtNjQvaW5jbHVkZS9hc20va3ZtX3Brdm0uaAo+IGluZGV4IDk1 MmUzYzNmYTMyZC4uOWNhOTI5NmYyYTI1IDEwMDY0NAo+IC0tLSBhL2FyY2gvYXJtNjQvaW5jbHVk ZS9hc20va3ZtX3Brdm0uaAo+ICsrKyBiL2FyY2gvYXJtNjQvaW5jbHVkZS9hc20va3ZtX3Brdm0u aAo+IEBAIC03MywxMCArNzMsMTIgQEAgdm9pZCBrdm1fc2hhZG93X2Rlc3Ryb3koc3RydWN0IGt2 bSAqa3ZtKTsKPiAgICogQWxsb3cgZm9yIHByb3RlY3RlZCBWTXM6Cj4gICAqIC0gQnJhbmNoIFRh cmdldCBJZGVudGlmaWNhdGlvbgo+ICAgKiAtIFNwZWN1bGF0aXZlIFN0b3JlIEJ5cGFzc2luZwo+ ICsgKiAtIE1lbW9yeSBUYWdnaW5nIEV4dGVuc2lvbgo+ICAgKi8KPiAgI2RlZmluZSBQVk1fSURf QUE2NFBGUjFfQUxMT1cgKFwKPiAgCUFSTTY0X0ZFQVRVUkVfTUFTSyhJRF9BQTY0UEZSMV9CVCkg fCBcCj4gLQlBUk02NF9GRUFUVVJFX01BU0soSURfQUE2NFBGUjFfU1NCUykgXAo+ICsJQVJNNjRf RkVBVFVSRV9NQVNLKElEX0FBNjRQRlIxX1NTQlMpIHwgXAo+ICsJQVJNNjRfRkVBVFVSRV9NQVNL KElEX0FBNjRQRlIxX01URSkgXAo+ICAJKQo+ICAKPiAgLyoKPiBkaWZmIC0tZ2l0IGEvYXJjaC9h cm02NC9rdm0vaHlwL252aGUvcGt2bS5jIGIvYXJjaC9hcm02NC9rdm0vaHlwL252aGUvcGt2bS5j Cj4gaW5kZXggZTMzYmE5MDY3ZDdiLi40NmRkZDkwOTNhYzcgMTAwNjQ0Cj4gLS0tIGEvYXJjaC9h cm02NC9rdm0vaHlwL252aGUvcGt2bS5jCj4gKysrIGIvYXJjaC9hcm02NC9rdm0vaHlwL252aGUv cGt2bS5jCj4gQEAgLTg4LDcgKzg4LDcgQEAgc3RhdGljIHZvaWQgcHZtX2luaXRfdHJhcHNfYWE2 NHBmcjEoc3RydWN0IGt2bV92Y3B1ICp2Y3B1KQo+ICAJLyogTWVtb3J5IFRhZ2dpbmc6IFRyYXAg YW5kIFRyZWF0IGFzIFVudGFnZ2VkIGlmIG5vdCBzdXBwb3J0ZWQuICovCj4gIAlpZiAoIUZJRUxE X0dFVChBUk02NF9GRUFUVVJFX01BU0soSURfQUE2NFBGUjFfTVRFKSwgZmVhdHVyZV9pZHMpKSB7 Cj4gIAkJaGNyX3NldCB8PSBIQ1JfVElENTsKPiAtCQloY3JfY2xlYXIgfD0gSENSX0RDVCB8IEhD Ul9BVEE7Cj4gKwkJaGNyX2NsZWFyIHw9IEhDUl9BVEE7Cj4gIAl9Cj4gIAo+ICAJdmNwdS0+YXJj aC5oY3JfZWwyIHw9IGhjcl9zZXQ7Cj4gQEAgLTE3OSw4ICsxNzksOCBAQCBzdGF0aWMgdm9pZCBw dm1faW5pdF90cmFwX3JlZ3Moc3RydWN0IGt2bV92Y3B1ICp2Y3B1KQo+ICAJICogLSBGZWF0dXJl IGlkIHJlZ2lzdGVyczogdG8gY29udHJvbCBmZWF0dXJlcyBleHBvc2VkIHRvIGd1ZXN0cwo+ICAJ ICogLSBJbXBsZW1lbnRhdGlvbi1kZWZpbmVkIGZlYXR1cmVzCj4gIAkgKi8KPiAtCXZjcHUtPmFy Y2guaGNyX2VsMiA9IEhDUl9HVUVTVF9GTEFHUyB8Cj4gLQkJCSAgICAgSENSX1RJRDMgfCBIQ1Jf VEFDUiB8IEhDUl9USURDUCB8IEhDUl9USUQxOwo+ICsJdmNwdS0+YXJjaC5oY3JfZWwyID0gSENS X0dVRVNUX0ZMQUdTIHwgSENSX1RJRDMgfCBIQ1JfVEFDUiB8IEhDUl9USURDUCB8Cj4gKwkJCSAg ICAgSENSX1RJRDEgfCBIQ1JfQVRBOwo+ICAKPiAgCWlmIChjcHVzX2hhdmVfY29uc3RfY2FwKEFS TTY0X0hBU19SQVNfRVhUTikpIHsKPiAgCQkvKiByb3V0ZSBzeW5jaHJvbm91cyBleHRlcm5hbCBh Ym9ydCBleGNlcHRpb25zIHRvIEVMMiAqLwo+IGRpZmYgLS1naXQgYS9hcmNoL2FybTY0L2t2bS9t bXUuYyBiL2FyY2gvYXJtNjQva3ZtL21tdS5jCj4gaW5kZXggMzkyZmY3YjIzNjJkLi5mNTEzODUy MzU3ZjcgMTAwNjQ0Cj4gLS0tIGEvYXJjaC9hcm02NC9rdm0vbW11LmMKPiArKysgYi9hcmNoL2Fy bTY0L2t2bS9tbXUuYwo+IEBAIC0xMjA2LDggKzEyMDYsMTAgQEAgc3RhdGljIGludCBwa3ZtX21l bV9hYm9ydChzdHJ1Y3Qga3ZtX3ZjcHUgKnZjcHUsIHBoeXNfYWRkcl90IGZhdWx0X2lwYSwKPiAg CQlnb3RvIGRlY19hY2NvdW50Owo+ICAJfQo+ICAKPiAtCXdyaXRlX2xvY2soJmt2bS0+bW11X2xv Y2spOwo+ICAJcGZuID0gcGFnZV90b19wZm4ocGFnZSk7Cj4gKwlzYW5pdGlzZV9tdGVfdGFncyhr dm0sIHBmbiwgUEFHRV9TSVpFKTsKPiArCj4gKwl3cml0ZV9sb2NrKCZrdm0tPm1tdV9sb2NrKTsK CklzIGl0IHJlYWxseSBzYWZlIHRvIHJlbHkgb24gdGhlIGhvc3QgdG8gY2xlYXIgdGhlIHRhZ3M/ IE15IGd1dHMKZmVlbGluZyBzYXlzIHRoYXQgaXQgaXNuJ3QuIElmIGl0IGlzIHJlcXVpcmVkLCB3 ZSBjYW5ub3QgbGVhdmUgdGhpcwpyZXNwb25zaWJpbGl0eSB0byB0aGUgaG9zdCwgYW5kIHRoaXMg bG9naWMgbXVzdCBiZSBtb3ZlZCB0byBFTDIuIEFuZAppZiBpdCBpc24ndCwgdGhlbiB3ZSBzaG91 bGQgZHJvcCBpdC4KCj4gIAlyZXQgPSBwa3ZtX2hvc3RfbWFwX2d1ZXN0KHBmbiwgZmF1bHRfaXBh ID4+IFBBR0VfU0hJRlQpOwo+ICAJaWYgKHJldCkgewo+ICAJCWlmIChyZXQgPT0gLUVBR0FJTikK CkJ1dCB0aGUgYmlnZ2VyIHBpY3R1cmUgaGVyZSBpcyB3aGF0IGVuc3VyZXMgdGhhdCB0aGUgaG9z dCBjYW5ub3QgbWVzcwp3aXRoIHRoZSBndWVzdCB0YWdzPyBJIGRvbid0IHRoaW5rIHdlIGhhdmUg YSBhbnkgbWVjaGFuaXNtIHRvCmd1YXJhbnRlZSB0aGF0LCBzcGVjaWFsbHkgb24gc3lzdGVtcyB3 aGVyZSB0aGUgdGFncyBhcmUgb25seSBhIG1lbW9yeQpjYXJ2ZS1vdXQsIHdoaWNoIHRoZSBob3N0 IGNvdWxkIG1hcCBhbmQgY2hhbmdlIGF0IHdpbGwuCgpJbiBhbnkgY2FzZSwgdGhpcyBpc24ndCB0 aGUgdGltZSB0byBwaWxlIG5ldyBmZWF0dXJlcyBvbiB0b3Agb2YKcEtWTS4gVGhlIGN1cnJlbnQg cGxhbiBpcyB0byBub3Qgc3VwcG9ydCBNVEUgYXQgYWxsLCBhbmQgb25seSBkbyBpdApvbmNlIHdl IGhhdmUgYSBkZWZpbml0aXZlIHN0b3J5IG9uIHBhZ2UgZG9uYXRpb24gKHdoaWNoIGFzIHlvdSBt YXkKaGF2ZSBub3RpY2VkLCBpcyBwcmV0dHkgaGFja3kpLiBJIGRvbid0IHNlZSBhbnkgY29tcGVs bGluZyByZWFzb24gdG8KYWRkIE1URSB0byB0aGUgbWl4IHVudGlsIHRoaXMgaXMgc29sdmVkLgoK VGhhbmtzLAoKCU0uCgotLSAKV2l0aG91dCBkZXZpYXRpb24gZnJvbSB0aGUgbm9ybSwgcHJvZ3Jl c3MgaXMgbm90IHBvc3NpYmxlLgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX18KbGludXgtYXJtLWtlcm5lbCBtYWlsaW5nIGxpc3QKbGludXgtYXJtLWtlcm5l bEBsaXN0cy5pbmZyYWRlYWQub3JnCmh0dHA6Ly9saXN0cy5pbmZyYWRlYWQub3JnL21haWxtYW4v bGlzdGluZm8vbGludXgtYXJtLWtlcm5lbAo=