[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <yq5amsfxtrlw.fsf@kernel.org>
Date: Sat, 11 Jan 2025 18:49:55 +0530
From: Aneesh Kumar K.V <aneesh.kumar@...nel.org>
To: Catalin Marinas <catalin.marinas@....com>
Cc: linux-kernel@...r.kernel.org, linux-arm-kernel@...ts.infradead.org,
kvmarm@...ts.linux.dev, Suzuki K Poulose <Suzuki.Poulose@....com>,
Steven Price <steven.price@....com>,
Will Deacon <will@...nel.org>, Marc Zyngier <maz@...nel.org>,
Mark Rutland <mark.rutland@....com>,
Oliver Upton <oliver.upton@...ux.dev>,
Joey Gouly <joey.gouly@....com>,
Zenghui Yu <yuzenghui@...wei.com>
Subject: Re: [PATCH v2 5/7] KVM: arm64: MTE: Use stage-2 NoTagAccess memory
attribute if supported
Catalin Marinas <catalin.marinas@....com> writes:
> On Fri, Jan 10, 2025 at 04:30:21PM +0530, Aneesh Kumar K.V (Arm) wrote:
>> Currently, the kernel won't start a guest if the MTE feature is enabled
...
>> @@ -2152,7 +2162,8 @@ int kvm_arch_prepare_memory_region(struct kvm *kvm,
>> if (!vma)
>> break;
>>
>> - if (kvm_has_mte(kvm) && !kvm_vma_mte_allowed(vma)) {
>> + if (kvm_has_mte(kvm) &&
>> + !kvm_has_mte_perm(kvm) && !kvm_vma_mte_allowed(vma)) {
>> ret = -EINVAL;
>> break;
>> }
>
> I don't think we should change this, or at least not how it's done above
> (Suzuki raised a related issue internally relaxing this for VM_PFNMAP).
>
> For standard memory slots, we want to reject them upfront rather than
> deferring to the fault handler. An example here is file mmap() passed as
> standard RAM to the VM. It's an unnecessary change in behaviour IMHO.
> I'd only relax this for VM_PFNMAP mappings further down in this
> function (and move the VM_PFNMAP check above; see Suzuki's internal
> patch, unless he posted it publicly already).
>
But we want to handle memslots backed by pagecache pages for virtio-shm
here (virtiofs dax use case). With MTE_PERM, we can essentially skip the
kvm_vma_mte_allowed(vma) check because we handle all types in the fault
handler.
-aneesh
Powered by blists - more mailing lists