From c89f1e49300a953ffb905a304104a9c1337fa7b8 Mon Sep 17 00:00:00 2001 From: Xiangyou Xie Date: Fri, 26 Nov 2021 16:26:57 +0800 Subject: [PATCH] KVM: arm/arm64: vgic-its: Do not execute invalidate MSI-LPI translation cache on movi command euleros inclusion category: feature bugzilla: https://gitee.com/openeuler/kernel/issues/I4J0W7 CVE: NA ------------------------------------------------- It is not necessary to invalidate the lpi translation cache when the virtual machine executes the movi instruction to adjust the affinity of the interrupt. Irqbalance will adjust the interrupt affinity in a short period of time to achieve the purpose of interrupting load balancing, but this does not affect the contents of the lpi translation cache. Signed-off-by: Xiangyou Xie Reviewed-by: Hailiang Zhang Signed-off-by: Xiangyou Xie Signed-off-by: Yang Yingliang Signed-off-by: Chaochao Xing Reviewed-by: Xiangyou Xie Signed-off-by: Zheng Zengkai --- arch/arm64/kvm/vgic/vgic-its.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/arch/arm64/kvm/vgic/vgic-its.c b/arch/arm64/kvm/vgic/vgic-its.c index ff5880c3dc78..ec6d5b9fc57c 100644 --- a/arch/arm64/kvm/vgic/vgic-its.c +++ b/arch/arm64/kvm/vgic/vgic-its.c @@ -921,7 +921,8 @@ static int vgic_its_cmd_handle_movi(struct kvm *kvm, struct vgic_its *its, ite->collection = collection; vcpu = kvm_get_vcpu(kvm, collection->target_addr); - vgic_its_invalidate_cache(kvm); + if (!vcpu->arch.vgic_cpu.lpis_enabled) + vgic_its_invalidate_cache(kvm); return update_affinity(ite->irq, vcpu); } -- GitLab