Re: [PATCH 4/6] KVM: arm64: Correctly handle end of VA space TLBI invalidation

Marc Zyngier <[email protected]> Sat, 01 Aug 2026 14:40:57 +0100
Newsgroups dev.linux.lists.sashiko-reviews,dev.linux.lists.kvmarm,org.kernel.vger.kvm
Message-ID <[email protected]>
On Sat, 01 Aug 2026 14:03:37 +0100,
[email protected] wrote:
> 
> Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider:
> 
> Pre-existing issues:
> - [High] Missing sign-extension in `decode_range_tlbi()` breaks
> - Stage-1 range TLB invalidations (e.g., `TLBI RVAE1`) for TTBR1
> - addresses.

Yup, that's yet another bug. I'll queue this:

diff --git a/arch/arm64/include/asm/kvm_nested.h b/arch/arm64/include/asm/kvm_nested.h
index cc48817a5bf7a..f1ce0d9fd50ef 100644
--- a/arch/arm64/include/asm/kvm_nested.h
+++ b/arch/arm64/include/asm/kvm_nested.h
@@ -290,6 +290,7 @@ static inline u64 decode_range_tlbi(u64 val, u64 *range, u16 *asid)
 	}
 
 	base	= (val & GENMASK(36, 0)) << shift;
+	base	= (u64)sign_extend64(base, 48);
 
 	if (asid)
 		*asid = FIELD_GET(TLBIR_ASID_MASK, val);

Thanks,

	M.

-- 
Jazz isn't dead. It just smells funny.