On Wed, 5 Sep 2018, Guo Ren wrote: > +static void (*handle_arch_irq)(struct pt_regs *regs) = NULL; > + > +void __init set_handle_irq(void (*handle_irq)(struct pt_regs *)) > +{ > + if (handle_arch_irq) > + return; > + > + handle_arch_irq = handle_irq; > +} Please don't introduce yet another variant of that. Please use CONFIG_GENERIC_IRQ_MULTI_HANDLER which provides that in the generic code. Btw, some of your patches have tab vs. space inconsistencies, e.g. + siginfo_t info; + int fault; + unsigned long address = mmu_meh & PAGE_MASK; Thanks, tglx