]> git.kernelconcepts.de Git - karo-tx-linux.git/commit
powerpc: Remove ksp_limit on ppc64
authorBenjamin Herrenschmidt <benh@kernel.crashing.org>
Tue, 24 Sep 2013 05:17:21 +0000 (15:17 +1000)
committerBenjamin Herrenschmidt <benh@kernel.crashing.org>
Wed, 25 Sep 2013 04:15:51 +0000 (14:15 +1000)
commitcbc9565ee82694dec31d8137dec975b83175183b
tree7740d7f8f0372e80c067ee2e867bb69ab7b15eec
parent0366a1c70b89efed4f9d590216bb004a16effbed
powerpc: Remove ksp_limit on ppc64

We've been keeping that field in thread_struct for a while, it contains
the "limit" of the current stack pointer and is meant to be used for
detecting stack overflows.

It has a few problems however:

 - First, it was never actually *used* on 64-bit. Set and updated but
not actually exploited

 - When switching stack to/from irq and softirq stacks, it's update
is racy unless we hard disable interrupts, which is costly. This
is fine on 32-bit as we don't soft-disable there but not on 64-bit.

Thus rather than fixing 2 in order to implement 1 in some hypothetical
future, let's remove the code completely from 64-bit. In order to avoid
a clutter of ifdef's, we remove the updates from C code completely
during interrupt stack switching, and instead maintain it from the
asm helper that is used to do the stack switching in the first place.

Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
arch/powerpc/include/asm/processor.h
arch/powerpc/kernel/asm-offsets.c
arch/powerpc/kernel/irq.c
arch/powerpc/kernel/misc_32.S
arch/powerpc/kernel/process.c
arch/powerpc/lib/sstep.c