Nicholas Piggin <npig...@gmail.com> writes: > diff --git a/arch/powerpc/include/asm/thread_info.h > b/arch/powerpc/include/asm/thread_info.h > index a941cc6fc3e9..5995e4b2996d 100644 > --- a/arch/powerpc/include/asm/thread_info.h > +++ b/arch/powerpc/include/asm/thread_info.h > @@ -62,6 +63,24 @@ struct thread_info { > > #define THREAD_SIZE_ORDER (THREAD_SHIFT - PAGE_SHIFT) > > +/* > + * Emergency stacks are used for a range of things, from asynchronous > + * NMIs (system reset, machine check) to synchronous, process context. > + * Set HARDIRQ_OFFSET because we don't know exactly what context we > + * come from or if it had a valid stack, which is about the best we > + * can do. > + * TODO: what to do with accounting? > + */ > +#define emstack_init_thread_info(ti, c) \ > +do { \ > + (ti)->task = NULL; \ > + (ti)->cpu = (c); \ > + (ti)->preempt_count = HARDIRQ_OFFSET; \ > + (ti)->local_flags = 0; \ > + (ti)->flags = 0; \ > + klp_init_thread_info(ti); \ > +} while (0)
Why don't we just bzero() the whole thing? Like we do for the other stacks? cheers