Kyle, > are available in the git repository at: > > /pub/scm/linux/kernel/git/kyle/parisc-2.6.git master I built a SMP PA8800 configuration from this respository yesterday. Aside from the timeout issue that I've mentioned before, I've experienced erratic login behavior with this new kernel. I see this in the debug log: Dec 16 11:28:39 mx3210 kernel: Dec 16 11:28:39 mx3210 kernel: do_page_fault() pid=1460 command='login' type=15 address=0xff0ca4e0 Dec 16 11:28:39 mx3210 kernel: vm_start = 0xfaf7d000, vm_end = 0xfaf93000 Dec 16 11:28:39 mx3210 kernel: Dec 16 11:28:39 mx3210 kernel: YZrvWESTHLNXBCVMcbcbcbcbOGFRQPDI Dec 16 11:28:39 mx3210 kernel: PSW: 00000000000011001000000000001111 Not tainted Dec 16 11:28:39 mx3210 kernel: r00-03 000000ff000c800f 0000000000000000 0000000 0405f3eeb 00000000faf80bc0 Dec 16 11:28:39 mx3210 kernel: r04-07 0000000040631d74 000000006e6f626f 0000000 0ffffffff 0000000000000000 Dec 16 11:28:39 mx3210 kernel: r08-11 0000000000000003 00000000faf80c88 0000000000000000 0000000040002130 Dec 16 11:28:39 mx3210 kernel: r12-15 0000000040634454 0000000000000000 00000000ffffffff 00000000ffffffff Dec 16 11:28:39 mx3210 kernel: r16-19 000000006e6f626f 0000000040633574 0000000041111008 0000000040631d74 Dec 16 11:28:39 mx3210 kernel: r20-23 0000000004149814 0000000000000000 0000000004149814 0000000000004000 Dec 16 11:28:39 mx3210 kernel: r24-27 0000000000000018 000000004525a820 000000004525a820 0000000000019014 Dec 16 11:28:39 mx3210 kernel: r28-31 0000000004149840 000000000000636b 00000000ff0ca500 0000000041052605 Dec 16 11:28:39 mx3210 kernel: sr00-03 000000000f9f7000 0000000000000000 0000000000000000 000000000f9f7000 Dec 16 11:28:39 mx3210 kernel: sr04-07 000000000f9f7000 000000000f9f7000 000000000f9f7000 000000000f9f7000 Dec 16 11:28:39 mx3210 kernel: Dec 16 11:28:39 mx3210 kernel: VZOUICununcqcqcqcqcqcrmunTDVZOUI Dec 16 11:28:39 mx3210 kernel: FPSR: 00001000000000000000000000000000 Dec 16 11:28:39 mx3210 kernel: FPER1: 00000000 Dec 16 11:28:39 mx3210 kernel: fr00-03 0800000000000000 0000000000000000 0000000000000000 0000000000000000 Dec 16 11:28:39 mx3210 kernel: fr04-07 00000000405cc000 00000000404b3780 00000000404a9780 00000000404a94c0 Dec 16 06:47:38 mx3210 identd[6240]: started Dec 16 11:28:39 mx3210 kernel: Dec 16 11:28:39 mx3210 kernel: do_page_fault() pid=1460 command='login' type=15 address=0xff0ca4e0 Dec 16 11:28:39 mx3210 kernel: vm_start = 0xfaf7d000, vm_end = 0xfaf93000 Dec 16 06:47:38 mx3210 identd[6240]: started Dec 16 11:28:39 mx3210 kernel: Dec 16 11:28:39 mx3210 kernel: do_page_fault() pid=1460 command='login' type=15 address=0xff0ca4e0 Dec 16 11:28:39 mx3210 kernel: vm_start = 0xfaf7d000, vm_end = 0xfaf93000 Dec 16 11:28:39 mx3210 kernel: Dec 16 11:28:39 mx3210 kernel: YZrvWESTHLNXBCVMcbcbcbcbOGFRQPDI Dec 16 11:28:39 mx3210 kernel: PSW: 00000000000011001000000000001111 Not tainted Dec 16 11:28:39 mx3210 kernel: r00-03 000000ff000c800f 0000000000000000 0000000 0405f3eeb 00000000faf80bc0 Dec 16 11:28:39 mx3210 kernel: r04-07 0000000040631d74 000000006e6f626f 0000000 0ffffffff 0000000000000000 Dec 16 11:28:39 mx3210 kernel: r08-11 0000000000000003 00000000faf80c88 0000000000000000 0000000040002130 Dec 16 11:28:39 mx3210 kernel: r12-15 0000000040634454 0000000000000000 00000000ffffffff 00000000ffffffff Dec 16 11:28:39 mx3210 kernel: r16-19 000000006e6f626f 0000000040633574 0000000041111008 0000000040631d74 Dec 16 11:28:39 mx3210 kernel: r20-23 0000000004149814 0000000000000000 0000000004149814 0000000000004000 Dec 16 11:28:39 mx3210 kernel: r24-27 0000000000000018 000000004525a820 000000004525a820 0000000000019014 Dec 16 11:28:39 mx3210 kernel: r28-31 0000000004149840 000000000000636b 00000000ff0ca500 0000000041052605 Dec 16 11:28:39 mx3210 kernel: sr00-03 000000000f9f7000 0000000000000000 0000000000000000 000000000f9f7000 Dec 16 11:28:39 mx3210 kernel: sr04-07 000000000f9f7000 000000000f9f7000 000000000f9f7000 000000000f9f7000 Dec 16 11:28:39 mx3210 kernel: Dec 16 11:28:39 mx3210 kernel: VZOUICununcqcqcqcqcqcrmunTDVZOUI Dec 16 11:28:39 mx3210 kernel: FPSR: 00001000000000000000000000000000 Dec 16 11:28:39 mx3210 kernel: FPER1: 00000000 Dec 16 11:28:39 mx3210 kernel: fr00-03 0800000000000000 0000000000000000 0000000000000000 0000000000000000 Dec 16 11:28:39 mx3210 kernel: fr04-07 00000000405cc000 00000000404b3780 00000000404a9780 00000000404a94c0 Dec 16 11:28:39 mx3210 kernel: fr08-11 00000000401b195c 0000000000000001 00000000405b9540 0000000000000802 Dec 16 11:28:39 mx3210 kernel: fr12-15 0000000000000001 00000000404a94c0 000000007fc40108 00000000405f3b40 Dec 16 11:28:39 mx3210 kernel: fr16-19 00000000405ef528 fffffffffffff000 0000000000000000 0000000000000802 Dec 16 11:28:39 mx3210 kernel: fr20-23 000000007f4fa000 000000007fc403a8 0000000000000000 00000000cccccccd Dec 16 11:28:39 mx3210 kernel: fr24-27 000000a355555556 3fe0000000000000 412e848000000000 00000000001e8480 Dec 16 11:28:39 mx3210 kernel: fr28-31 0000000000000802 000000007f4fa000 000000007fc403a8 00000000405b9540 Dec 16 11:28:39 mx3210 kernel: Dec 16 11:28:39 mx3210 kernel: IASQ: 000000000f9f7000 000000000f9f7000 IAOQ: 00000000405f428b 00000000405f422b Dec 16 11:28:39 mx3210 kernel: IIR: 6bd33fc1 ISR: 000000000f9f7000 IOR: 00000000ff0ca4e0 Dec 16 11:28:39 mx3210 kernel: CPU: 1 CR30: 000000007e380000 CR31: fffffff0f0e098e0 Dec 16 11:28:39 mx3210 kernel: ORIG_R28: 0000000000000000 Dec 16 11:28:39 mx3210 kernel: IAOQ[0]: per_cpu__runqueues+0x748/0x14c0 Dec 16 11:28:39 mx3210 kernel: IAOQ[1]: per_cpu__runqueues+0x6e8/0x14c0 Dec 16 11:28:39 mx3210 kernel: RP(r2): per_cpu__runqueues+0x3a8/0x14c0 dave@hiauly6:~$ disasm 0x6bd33fc1 0: 6b d3 3f c1 stw r19,-20(sp) This insn saves the PIC register. Typically, this save occurs in a function's prologue after the new frame is allocated. The stack pointer (0xff0ca500) is clearly bad: (gdb) p 0xff0ca500 - 0xfaf7d000 $1 = 68474112 (0x414d500) (gdb) p 0xff0ca4e0 - 0xfaf7d000 $2 = 68474080 (gdb) p 0xfaf93000 - 0xfaf7d000 $3 = 90112 $ ulimit -s 16384 (kbytes) It's not clear how the stack pointer got corrupted but it is correctly rounded. I haven't seen this problem with my 2.6.22 builds. I think the following code is the problem. We seem to just have done an alloca: (gdb) disass 0x405f4258 0x405f4298 Dump of assembler code from 0x405f4258 to 0x405f4298: 0x405f4258 <nscd_getgr_r+1628>: cmpb,= r5,ret0,0x405f3fec <nscd_getgr_r+1008> 0x405f425c <nscd_getgr_r+1632>: copy r4,r19 0x405f4260 <nscd_getgr_r+1636>: b,l 0x405f3f14 <nscd_getgr_r+792>,r0 0x405f4264 <nscd_getgr_r+1640>: copy r15,r7 0x405f4268 <nscd_getgr_r+1644>: ldo -38(sp),ret0 0x405f426c <nscd_getgr_r+1648>: depw,z r31,29,30,r20 0x405f4270 <nscd_getgr_r+1652>: stw r20,3c(r3) 0x405f4274 <nscd_getgr_r+1656>: copy ret0,r9 0x405f4278 <nscd_getgr_r+1660>: ldo 46(r20),ret0 0x405f427c <nscd_getgr_r+1664>: depwi 0,31,6,ret0 0x405f4280 <nscd_getgr_r+1668>: add,l sp,ret0,sp 0x405f4284 <nscd_getgr_r+1672>: b,l 0x405f4228 <nscd_getgr_r+1580>,r0 0x405f4288 <nscd_getgr_r+1676>: stw r19,-20(sp) 0x405f428c <nscd_getgr_r+1680>: ldo 46(r22),r20 0x405f4290 <nscd_getgr_r+1684>: depwi 0,31,6,r20 0x405f4294 <nscd_getgr_r+1688>: add,l sp,r20,sp ret0 is 0x4149840. So, the previous stack pointer was 0xfaf80cc0. This is in the vm range. ret0 is set from r31. It's not clear what sets r31 as this block is entered with a branch. I wasn't able to get an assembly dump with symbols. We have the following libraries: (gdb) info shared