mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
synced 2025-01-10 07:50:04 +00:00
sparc64: Fix stack debugging IRQ stack regression.
Commit 4f70f7a91bffdcc39f088748dc678953eb9a3fbd (sparc64: Implement IRQ stacks.) has two bugs. First, the softirq range check forgets to subtract STACK_BIAS before comparing with %sp. Next, on failure the wrong label is jumped to, resulting in a bogus stack being loaded. Reported-by: Igor Kovalenko <igor.v.kovalenko@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
4230fa3b89
commit
166e553a57
@ -64,8 +64,9 @@ mcount:
|
||||
2: sethi %hi(softirq_stack), %g3
|
||||
or %g3, %lo(softirq_stack), %g3
|
||||
ldx [%g3 + %g1], %g7
|
||||
sub %g7, STACK_BIAS, %g7
|
||||
cmp %sp, %g7
|
||||
bleu,pt %xcc, 2f
|
||||
bleu,pt %xcc, 3f
|
||||
sethi %hi(THREAD_SIZE), %g3
|
||||
add %g7, %g3, %g7
|
||||
cmp %sp, %g7
|
||||
@ -75,7 +76,7 @@ mcount:
|
||||
* again, we are already trying to output the stack overflow
|
||||
* message.
|
||||
*/
|
||||
sethi %hi(ovstack), %g7 ! cant move to panic stack fast enough
|
||||
3: sethi %hi(ovstack), %g7 ! cant move to panic stack fast enough
|
||||
or %g7, %lo(ovstack), %g7
|
||||
add %g7, OVSTACKSIZE, %g3
|
||||
sub %g3, STACK_BIAS + 192, %g3
|
||||
|
Loading…
x
Reference in New Issue
Block a user