Re: [RESEND PATCH 4/6] x86/traps: add external_interrupt() to dispatch external interrupts

From: Sean Christopherson
Date: Thu Nov 10 2022 - 11:24:52 EST


On Wed, Nov 09, 2022, Xin Li wrote:
> +__visible noinstr void external_interrupt(struct pt_regs *regs,
> + unsigned int vector)
> +{
> + unsigned int sysvec = vector - FIRST_SYSTEM_VECTOR;
> +
> + BUG_ON(vector < FIRST_EXTERNAL_VECTOR);

Why not return an error up the stack? KVM and/or CPU bugs aren't unheard of.
Dropping an IRQ obviously isn't ideal, but there's a non-zero chance that letting
KVM WARN and kill the VM will keep the host alive and thus other VMs running. A
somewhat sophisticated setup might even react to the VM being killed by migrating
other VMs off the system and initiating host maintenance.