Thread (23 messages) 23 messages, 2 authors, 2021-06-04

Re: [PATCH v13 4/8] KVM: arm64: Introduce MTE VM feature

From: Catalin Marinas <catalin.marinas@arm.com>
Date: 2021-06-04 14:05:55
Also in: kvmarm, lkml, qemu-devel

On Fri, Jun 04, 2021 at 01:51:38PM +0100, Steven Price wrote:
On 04/06/2021 12:36, Catalin Marinas wrote:
quoted
On Fri, Jun 04, 2021 at 11:42:11AM +0100, Steven Price wrote:
quoted
On 03/06/2021 17:00, Catalin Marinas wrote:
quoted
On Mon, May 24, 2021 at 11:45:09AM +0100, Steven Price wrote:
quoted
@@ -971,8 +1007,13 @@ static int user_mem_abort(struct kvm_vcpu *vcpu, phys_addr_t fault_ipa,
 	if (writable)
 		prot |= KVM_PGTABLE_PROT_W;
 
-	if (fault_status != FSC_PERM && !device)
+	if (fault_status != FSC_PERM && !device) {
+		ret = sanitise_mte_tags(kvm, pfn, vma_pagesize);
+		if (ret)
+			goto out_unlock;
Maybe it was discussed in a previous version, why do we need this in
addition to kvm_set_spte_gfn()?
kvm_set_spte_gfn() is only used for the MMU notifier path (e.g. if a
memslot is changed by the VMM). For the initial access we will normally
fault the page into stage 2 with user_mem_abort().
Right. Can we move the sanitise_mte_tags() call to
kvm_pgtable_stage2_map() instead or we don't have the all the
information needed?
I tried that before: kvm_pgtable_stage2_map() is shared with the
hypervisor so sadly we can't go poking around in the host as this breaks
on nVHE. I mentioned it in the v12 cover letter but it was in a wall of
text:
Ah, I missed this in the cover letter (haven't read it).

So, apart from the nitpick with the early return for less indentation,
feel free to add:

Reviewed-by: Catalin Marinas <catalin.marinas@arm.com>

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help