kernel BUG at arch/sparc/mm/fault_64.c:270!

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi

I have found a data corruption on Ultra 5 onboard CMD646 IDE controller 
--- when both channels read data simultaneously and SSD is connected to 
one of the channels, the reads on the other channel are corrupted (flipped 
bits 1->0 or corrupted 32-bit words).

Many userspace programs were crashing while running in this state - the 
problem is that when testing for this, I experienced this BUG in 
fault_64.c. There is no way how corrupted disk data could crash the kernel 
(unless you are loading kernel modules or fimware, which I didn't), so my 
suspicion is that there is a bug that executing instruction stream with 
randomly corrupted bits or words can cause a kernel crash.

The fault_code variable that triggered is in l2, it's 0xfe, the fault 
address is in l3. Do you have any idea how this could (or couldn't) 
happen?

Mikulas


hda: task_pio_intr: status=0x7b { DriveReady DeviceFault SeekComplete 
DataRequest Index Error }
hda: task_pio_intr: error=0x00 { }
hda: possibly failed opcode: 0x20
ide0: reset: success
EXT2-fs error (device hda1): ext2_check_page: bad entry in directory 
#154914: : unaligned directory entry - offset=236, inode=219901, 
rec_len=17487, name_len=79Remounting filesystem read-only
eth0: Happy Meal out of receive descriptors, packet dropped.
eth0: Happy Meal out of receive descriptors, packet dropped.
eth0: Happy Meal out of receive descriptors, packet dropped.
eth0: Happy Meal out of receive descriptors, packet dropped.
eth0: Happy Meal out of receive descriptors, packet dropped.
kernel BUG at arch/sparc/mm/fault_64.c:270!
              \|/ ____ \|/
              "@'/ .. \`@"
              /_| \__/ |_\
                 \__U_/
vmstat(28277): Kernel bad sw trap 5 [#1]
TSTATE: 0000000811001605 TPC: 0000000000443d50 TNPC: 0000000000443d54 Y: 
00000001    Not tainted
TPC: <do_sparc64_fault+0x570/0x680>
g0: 00000000000007ec g1: 0000000000000000 g2: 0000000004000000 g3: 
0000000000000000
g4: fffff8003f2cfae0 g5: 0000000000000000 g6: fffff8003068c000 g7: 
fffff8003f49f520
o0: 000000000000002f o1: 0000000000686bf0 o2: 000000000000010e o3: 
fffff8003068ff60
o4: 00000000ffeab848 o5: 00000000f7f8044c sp: fffff8003068f4e1 ret_pc: 
0000000000443d48
RPC: <do_sparc64_fault+0x568/0x680>
l0: fffff8003f138060 l1: fffff80033133000 l2: 00000000000000ef l3: 
0000000000100009
l4: 00000000ffeab848 l5: 0000000000000000 l6: 0000000000000000 l7: 
00000000f7f7e000
i0: fffff8003068ff60 i1: 00000000004af930 i2: 000000007cb06064 i3: 
0000000000000000
i4: 0000000000000000 i5: 0000000000000000 i6: fffff8003068f6a1 i7: 
0000000000404cb8
I7: <user_rtt_fill_fixup+0x54/0x64>
Disabling lock debugging due to kernel taint
Caller[0000000000404cb8]: user_rtt_fill_fixup+0x54/0x64
Caller[0000000000000000]: (null)
Instruction DUMP: 9210210e  7fff98ae  901223f0 <91d02005> 808a2001  
12600022  808a2002  02600034  93352000
kernel BUG at arch/sparc/mm/fault_64.c:270!
              \|/ ____ \|/
              "@'/ .. \`@"
              /_| \__/ |_\
                 \__U_/
vmstat(28278): Kernel bad sw trap 5 [#2]
TSTATE: 0000008010001605 TPC: 0000000000443d50 TNPC: 0000000000443d54 Y: 
00000000    Tainted: G      D
TPC: <do_sparc64_fault+0x570/0x680>
g0: 00000000000007ec g1: 0000000000000000 g2: 0000000000000000 g3: 
0000000000000001
g4: fffff8003f2cfae0 g5: 0000000000000000 g6: fffff80008b64000 g7: 
00000000006da958
o0: 000000000000002f o1: 0000000000686bf0 o2: 000000000000010e o3: 
fffff80008b67f60
o4: 00000000ffeab848 o5: 00000000f7f8044c sp: fffff80008b674e1 ret_pc: 
0000000000443d48
RPC: <do_sparc64_fault+0x568/0x680>
l0: fffff8003f139320 l1: fffff80033133000 l2: 00000000000000ef l3: 
0000000000100009
l4: 00000000ffeab848 l5: 0000000000000000 l6: 0000000000000000 l7: 
00000000f7f7e000
i0: fffff80008b67f60 i1: 00000000004af9b8 i2: 00000000e9b6e064 i3: 
0000000000000000
i4: 0000000000000000 i5: 0000000000000000 i6: fffff80008b676a1 i7: 
0000000000404cb8
I7: <user_rtt_fill_fixup+0x54/0x64>
Caller[0000000000404cb8]: user_rtt_fill_fixup+0x54/0x64
Caller[0000000000000000]: (null)
Instruction DUMP: 9210210e  7fff98ae  901223f0 <91d02005> 808a2001  
12600022  808a2002  02600034  93352000
eth0: Happy Meal out of receive descriptors, packet dropped.
EXT2-fs error (device hda1): ext2_check_page: bad entry in directory 
#247809: : unaligned directory entry - offset=9096, inode=248360, 
rec_len=17503, name_len=79
Remounting filesystem read-only

--
To unsubscribe from this list: send the line "unsubscribe sparclinux" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Kernel Development]     [DCCP]     [Linux ARM Development]     [Linux]     [Photo]     [Yosemite Help]     [Linux ARM Kernel]     [Linux SCSI]     [Linux x86_64]     [Linux Hams]

  Powered by Linux