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