On Sat, 3 Jun 2017, Christoph Hellwig wrote: > +static void irq_affinity_online_irq(unsigned int irq, struct irq_desc *desc, > + unsigned int cpu) > +{ > + const struct cpumask *affinity; > + struct irq_data *data; > + struct irq_chip *chip; > + unsigned long flags; > + cpumask_var_t mask; > + > + if (!desc) > + return; > + if (!zalloc_cpumask_var(&mask, GFP_KERNEL)) > + return; That's silly. Why want you to do that for each irq descriptor? That's outright silly. Either you allocated it in irq_affinity_[on|off]line_cpu() once or just make it a static cpumask. Lemme fix that up. Thanks, tglx