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

From: Li, Xin3
Date: Thu Nov 10 2022 - 13:04:07 EST


> > +__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.

Make sense.

What about having it return a signed integer?