Message ID | 1389932728-25178-1-git-send-email-haokexin@gmail.com (mailing list archive) |
---|---|
State | Accepted |
Delegated to: | Benjamin Herrenschmidt |
Headers | show |
On Fri, Jan 17, 2014 at 12:25:28PM +0800, Kevin Hao wrote: > Guenter Roeck has got the following call trace on a p2020 board: > Kernel stack overflow in process eb3e5a00, r1=eb79df90 > CPU: 0 PID: 2838 Comm: ssh Not tainted 3.13.0-rc8-juniper-00146-g19eca00 #4 > task: eb3e5a00 ti: c0616000 task.ti: ef440000 > NIP: c003a420 LR: c003a410 CTR: c0017518 > REGS: eb79dee0 TRAP: 0901 Not tainted (3.13.0-rc8-juniper-00146-g19eca00) > MSR: 00029000 <CE,EE,ME> CR: 24008444 XER: 00000000 > GPR00: c003a410 eb79df90 eb3e5a00 00000000 eb05d900 00000001 65d87646 00000000 > GPR08: 00000000 020b8000 00000000 00000000 44008442 > NIP [c003a420] __do_softirq+0x94/0x1ec > LR [c003a410] __do_softirq+0x84/0x1ec > Call Trace: > [eb79df90] [c003a410] __do_softirq+0x84/0x1ec (unreliable) > [eb79dfe0] [c003a970] irq_exit+0xbc/0xc8 > [eb79dff0] [c000cc1c] call_do_irq+0x24/0x3c > [ef441f20] [c00046a8] do_IRQ+0x8c/0xf8 > [ef441f40] [c000e7f4] ret_from_except+0x0/0x18 > --- Exception: 501 at 0xfcda524 > LR = 0x10024900 > Instruction dump: > 7c781b78 3b40000a 3a73b040 543c0024 3a800000 3b3913a0 7ef5bb78 48201bf9 > 5463103a 7d3b182e 7e89b92e 7c008146 <3ba00000> 7e7e9b78 48000014 57fff87f > Kernel panic - not syncing: kernel stack overflow > CPU: 0 PID: 2838 Comm: ssh Not tainted 3.13.0-rc8-juniper-00146-g19eca00 #4 > Call Trace: > > The reason is that we have used the wrong register to calculate the > ksp_limit in commit cbc9565ee826 (powerpc: Remove ksp_limit on ppc64). > Just fix it. > > As suggested by Benjamin Herrenschmidt, also add the C prototype of the > function in the comment in order to avoid such kind of errors in the > future. > Was this patch accepted, or are there any problems with it ? I didn't see any comments, and it still isn't upstream nor in linux-next. Thanks, Guenter
On Tue, 2014-01-21 at 08:14 -0800, Guenter Roeck wrote: > On Fri, Jan 17, 2014 at 12:25:28PM +0800, Kevin Hao wrote: > > Guenter Roeck has got the following call trace on a p2020 board: > > Kernel stack overflow in process eb3e5a00, r1=eb79df90 > > CPU: 0 PID: 2838 Comm: ssh Not tainted 3.13.0-rc8-juniper-00146-g19eca00 #4 > > task: eb3e5a00 ti: c0616000 task.ti: ef440000 > > NIP: c003a420 LR: c003a410 CTR: c0017518 > > REGS: eb79dee0 TRAP: 0901 Not tainted (3.13.0-rc8-juniper-00146-g19eca00) > > MSR: 00029000 <CE,EE,ME> CR: 24008444 XER: 00000000 > > GPR00: c003a410 eb79df90 eb3e5a00 00000000 eb05d900 00000001 65d87646 00000000 > > GPR08: 00000000 020b8000 00000000 00000000 44008442 > > NIP [c003a420] __do_softirq+0x94/0x1ec > > LR [c003a410] __do_softirq+0x84/0x1ec > > Call Trace: > > [eb79df90] [c003a410] __do_softirq+0x84/0x1ec (unreliable) > > [eb79dfe0] [c003a970] irq_exit+0xbc/0xc8 > > [eb79dff0] [c000cc1c] call_do_irq+0x24/0x3c > > [ef441f20] [c00046a8] do_IRQ+0x8c/0xf8 > > [ef441f40] [c000e7f4] ret_from_except+0x0/0x18 > > --- Exception: 501 at 0xfcda524 > > LR = 0x10024900 > > Instruction dump: > > 7c781b78 3b40000a 3a73b040 543c0024 3a800000 3b3913a0 7ef5bb78 48201bf9 > > 5463103a 7d3b182e 7e89b92e 7c008146 <3ba00000> 7e7e9b78 48000014 57fff87f > > Kernel panic - not syncing: kernel stack overflow > > CPU: 0 PID: 2838 Comm: ssh Not tainted 3.13.0-rc8-juniper-00146-g19eca00 #4 > > Call Trace: > > > > The reason is that we have used the wrong register to calculate the > > ksp_limit in commit cbc9565ee826 (powerpc: Remove ksp_limit on ppc64). > > Just fix it. > > > > As suggested by Benjamin Herrenschmidt, also add the C prototype of the > > function in the comment in order to avoid such kind of errors in the > > future. > > > Was this patch accepted, or are there any problems with it ? > I didn't see any comments, and it still isn't upstream nor in linux-next. It will be merged when I come back from vacation. It was too late for 3.13 so I'll send it to Linus next week and will CC -stable. Cheers, Ben.
On Wed, Jan 22, 2014 at 08:48:48AM +1100, Benjamin Herrenschmidt wrote: > It will be merged when I come back from vacation. It was too late for > 3.13 so I'll send it to Linus next week and will CC -stable. Hi Ben, Any reason why this is still not merged yet? Thanks, Kevin > > Cheers, > Ben. > >
On Wed, 2014-02-12 at 13:51 +0800, Kevin Hao wrote: > On Wed, Jan 22, 2014 at 08:48:48AM +1100, Benjamin Herrenschmidt wrote: > > It will be merged when I come back from vacation. It was too late for > > 3.13 so I'll send it to Linus next week and will CC -stable. > > Hi Ben, > > Any reason why this is still not merged yet? No other than for some reason I missed it in patchwork when I did my shopping from it yesterday. I've added it to a bundle so I won't forget on my next round. Cheers, Ben.
diff --git a/arch/powerpc/kernel/misc_32.S b/arch/powerpc/kernel/misc_32.S index e47d268727a4..7025c30a139a 100644 --- a/arch/powerpc/kernel/misc_32.S +++ b/arch/powerpc/kernel/misc_32.S @@ -57,11 +57,14 @@ _GLOBAL(call_do_softirq) mtlr r0 blr +/* + * void call_do_irq(struct pt_regs *regs, struct thread_info *irqtp); + */ _GLOBAL(call_do_irq) mflr r0 stw r0,4(r1) lwz r10,THREAD+KSP_LIMIT(r2) - addi r11,r3,THREAD_INFO_GAP + addi r11,r4,THREAD_INFO_GAP stwu r1,THREAD_SIZE-STACK_FRAME_OVERHEAD(r4) mr r1,r4 stw r10,8(r1)