next, irq stacks are not in .data, but percpu allocated. also interrupt context is always associated with a task, the one that was interrupted, it's just not something specific the irq handler can rely on so it has to schedule work in process context if it needs such.