mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-01-07 13:53:24 +00:00
powerpc: Set stack limit properly in crit_transfer_to_handler
Commit 9778b696a0
incorrectly
changes the code setting the stack limit on entry to the
kernel to mark the thread_info at the bottom of the stack
out of bounds anymore. This fixes it.
Signed-off-by: Stuart Yoder <stuart.yoder@freescale.com>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
This commit is contained in:
parent
bdc0077af5
commit
1f8b0bc81a
@ -89,10 +89,14 @@ crit_transfer_to_handler:
|
||||
mfspr r0,SPRN_SRR1
|
||||
stw r0,_SRR1(r11)
|
||||
|
||||
/* set the stack limit to the current stack
|
||||
* and set the limit to protect the thread_info
|
||||
* struct
|
||||
*/
|
||||
mfspr r8,SPRN_SPRG_THREAD
|
||||
lwz r0,KSP_LIMIT(r8)
|
||||
stw r0,SAVED_KSP_LIMIT(r11)
|
||||
CURRENT_THREAD_INFO(r0, r1)
|
||||
rlwimi r0,r1,0,0,(31-THREAD_SHIFT)
|
||||
stw r0,KSP_LIMIT(r8)
|
||||
/* fall through */
|
||||
#endif
|
||||
@ -109,10 +113,14 @@ crit_transfer_to_handler:
|
||||
mfspr r0,SPRN_SRR1
|
||||
stw r0,crit_srr1@l(0)
|
||||
|
||||
/* set the stack limit to the current stack
|
||||
* and set the limit to protect the thread_info
|
||||
* struct
|
||||
*/
|
||||
mfspr r8,SPRN_SPRG_THREAD
|
||||
lwz r0,KSP_LIMIT(r8)
|
||||
stw r0,saved_ksp_limit@l(0)
|
||||
CURRENT_THREAD_INFO(r0, r1)
|
||||
rlwimi r0,r1,0,0,(31-THREAD_SHIFT)
|
||||
stw r0,KSP_LIMIT(r8)
|
||||
/* fall through */
|
||||
#endif
|
||||
|
Loading…
Reference in New Issue
Block a user