]> www.infradead.org Git - users/dwmw2/linux.git/commitdiff
KVM: arm64: timer: Drop warning on failed interrupt signalling
authorMarc Zyngier <maz@kernel.org>
Wed, 12 Feb 2025 18:25:57 +0000 (18:25 +0000)
committerMarc Zyngier <maz@kernel.org>
Thu, 13 Feb 2025 18:03:54 +0000 (18:03 +0000)
We currently spit out a warning if making a timer interrupt pending
fails. But not only this is loud and easy to trigger from userspace,
we also fail to do anything useful with that information.

Dropping the warning is the easiest thing to do for now. We can
always add error reporting if we really want in the future.

Reported-by: Alexander Potapenko <glider@google.com>
Reviewed-by: Oliver Upton <oliver.upton@linux.dev>
Link: https://lore.kernel.org/r/20250212182558.2865232-2-maz@kernel.org
Signed-off-by: Marc Zyngier <maz@kernel.org>
arch/arm64/kvm/arch_timer.c

index 231c0cd9c7b4b87b844d393bf835cee5809f1e01..70802e4c91cf5815bece9134c705dba202250b91 100644 (file)
@@ -447,21 +447,19 @@ static void kvm_timer_update_status(struct arch_timer_context *ctx, bool level)
 static void kvm_timer_update_irq(struct kvm_vcpu *vcpu, bool new_level,
                                 struct arch_timer_context *timer_ctx)
 {
-       int ret;
-
        kvm_timer_update_status(timer_ctx, new_level);
 
        timer_ctx->irq.level = new_level;
        trace_kvm_timer_update_irq(vcpu->vcpu_id, timer_irq(timer_ctx),
                                   timer_ctx->irq.level);
 
-       if (!userspace_irqchip(vcpu->kvm)) {
-               ret = kvm_vgic_inject_irq(vcpu->kvm, vcpu,
-                                         timer_irq(timer_ctx),
-                                         timer_ctx->irq.level,
-                                         timer_ctx);
-               WARN_ON(ret);
-       }
+       if (userspace_irqchip(vcpu->kvm))
+               return;
+
+       kvm_vgic_inject_irq(vcpu->kvm, vcpu,
+                           timer_irq(timer_ctx),
+                           timer_ctx->irq.level,
+                           timer_ctx);
 }
 
 /* Only called for a fully emulated timer */