[PATCH] KVM: arm/arm64: GICv4: Do not perform an map to a mapped vLPI

Kunkun Jiang jiangkunkun at huawei.com
Thu Nov 16 04:52:15 PST 2023


Before performing an unmap, let's check whether the vLPI has been
mapped. This corresponds to checking whether a vLPI is valid before
unmap it.

Signed-off-by: Kunkun Jiang <jiangkunkun at huawei.com>
---
 arch/arm64/kvm/vgic/vgic-v4.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/arch/arm64/kvm/vgic/vgic-v4.c b/arch/arm64/kvm/vgic/vgic-v4.c
index 339a55194b2c..824f4baf50ee 100644
--- a/arch/arm64/kvm/vgic/vgic-v4.c
+++ b/arch/arm64/kvm/vgic/vgic-v4.c
@@ -436,6 +436,11 @@ int kvm_vgic_v4_set_forwarding(struct kvm *kvm, int virq,
 	if (ret)
 		goto out;
 
+	if (irq->hw) {
+		ret = -EBUSY;
+		goto out;
+	}
+
 	/*
 	 * Emit the mapping request. If it fails, the ITS probably
 	 * isn't v4 compatible, so let's silently bail out. Holding
-- 
2.33.0




More information about the linux-arm-kernel mailing list