[PATCH] powerpc/64: Initialise thread_info for emergency stacks
Abdul Haleem
abdhalee at linux.vnet.ibm.com
Wed Jun 21 19:25:29 AEST 2017
On Tue, 2017-06-20 at 23:58 +1000, Nicholas Piggin wrote:
> Emergency stacks have their thread_info mostly uninitialised, which in
> particular means garbage preempt_count values.
>
> Emergency stack code runs with interrupts disabled entirely, and is
> used very rarely, so this has been unnoticed so far. It was found by a
> proposed new powerpc watchdog that takes a soft-NMI directly from the
> masked_interrupt handler and using the emergency stack. That crashed at
> BUG_ON(in_nmi()) in nmi_enter(). preempt_count()s were found to be
> garbage.
>
> Reported-by: Abdul Haleem <abdhalee at linux.vnet.ibm.com>
> Signed-off-by: Nicholas Piggin <npiggin at gmail.com>
> ---
>
> FYI, this bug looks to be breaking linux-next on some powerpc
> boxes due to interaction with a proposed new powerpc watchdog
> driver Andrew has in his tree:
>
> http://marc.info/?l=linuxppc-embedded&m=149794320519941&w=2
>
> arch/powerpc/include/asm/thread_info.h | 19 +++++++++++++++++++
> arch/powerpc/kernel/setup_64.c | 6 +++---
> 2 files changed, 22 insertions(+), 3 deletions(-)
Hi Nicholas,
Thanks for the patch, Verified on next-20170621 and PowerPC bare-metal
boots fine with your patch
Tested-by: Abdul Haleem <abdhalee at linux.vnet.ibm.com>
Thanks for all your support.
--
Regard's
Abdul Haleem
IBM Linux Technology Centre
More information about the Linuxppc-dev
mailing list