<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=Content-Type content="text/html; charset=iso-8859-1">
<META content="MSHTML 6.00.6000.16640" name=GENERATOR>
<STYLE></STYLE>
</HEAD>
<BODY bgColor=#ffffff>
<DIV><STRONG><FONT face="Courier New" size=2>Hi All,</FONT></STRONG></DIV>
<DIV><STRONG><FONT face="Courier New" size=2></FONT></STRONG> </DIV>
<DIV><STRONG><FONT face="Courier New" size=2> I'm working on
MPC860 with Montavista linux 2.4.18</FONT></STRONG></DIV>
<DIV><STRONG><FONT face="Courier New" size=2>We have a Linux kernel loadable
module which on loading</FONT></STRONG></DIV>
<DIV><STRONG><FONT face="Courier New" size=2>panicks after some random time say
8 hours, 4 hours or so</FONT></STRONG></DIV>
<DIV><STRONG><FONT face="Courier New" size=2>the oops outputs say either machine
check exception or </FONT></STRONG></DIV>
<DIV><STRONG><FONT face="Courier New" size=2>kernel stack overflow (randomly
both show up) a</FONT></STRONG><STRONG><FONT face="Courier New" size=2>re
as below:</FONT></STRONG></DIV>
<DIV> </DIV>
<DIV><STRONG><FONT face="Courier New"
size=2>============================</FONT></STRONG></DIV>
<DIV><STRONG><FONT face="Courier New" size=2>Machine check in kernel
mood/e.<BR>Caused by lPC:M C000A934 XER:3REGS: c0b73cb0 TRAP:
0200 Tainted: PF<BR>MSR: 00009032 EE: 1 PR: 0 FP: 0 ME: 1
IR/DR: 11<BR>TASK = c0b72000[3] 'ksoftirqd_CPU0' Last syscall: -1<BR>last math
00000000 last altivec 00000000<BR>GPR00: 00000000 C0B73D60 C0B72000 00000000
00000000 0000000B 00000000 00000000<BR>GPR08: E244E000 C01A0000 00000014
00000002 00000000 100374B8 1FFFA000 007FFF36<BR>GPR16: 00000000 00000001
007FFF00 FFFFFFFF 00009032 00B73E30 00000000 C00029D4<BR>GPR24: 00000000
00030001 C0B73E40 00000000 00000000 0000000B 08200000 C0B73E40<BR>Call
backtrace:<BR>C00CB774 C0009CBC C00029D4 C0B73FA0 C00E0208 C00E8800
C00D8920<BR>C0014E98 C0015524 C0004D88<BR>Machine check in kernel
mode.<BR>Caused by (from SRR1=1032): Transfer error ack signal<BR>Oops: machine
check, sig: 7<BR>NIP: C000A934 XER: 00000000 LR: C0009EFC SP: C0B73990 REGS:
c0b738e0 TRAP: 0200F<BR>MSR: 00001032 EE: 0 PR: 0 FP: 0 ME: 1 IR/DR: 11<BR>TASK
= c0b72000[3] 'ksoftirqd_CPU0' Last syscall: -1<BR>last math 00000000 last
altivec 00000000<BR>GPR00: 00000000 C0B73990 C0B72000 E20286D0 E242D03C 0000000B
C01F6268 E20286D0<BR>GPR08: E244E000 C01A0000 C01B4F1C 00000002 24004028
100374B8 1FFFA000 007FFF36<BR>GPR16: 00000000 00000001 007FFF00 FFFFFFFF
00001032 00B73A60 00000000 C00029D4<BR>GPR24: 00000000 00030001 C0B73A70
E242D03C 00000000 0000000B 88000000 C0B73A70<BR>Call backtrace:<BR>C0B73A40
C0009CBC C00029D4 E20286D0 C00CB774 C00039EC C0003AB0<BR>C00029CC C0002B54
C0002C74 C00029D4 C00CB774 C0009CBC C00029D4<BR>C0B73FA0 C00E0208 C00E8800
C00D8920 C0014E98 C0015524
C0004D88<BR>========================================================</FONT></STRONG></DIV>
<DIV><STRONG><FONT face="Courier New" size=2></FONT></STRONG> </DIV>
<DIV><STRONG><FONT face="Courier New" size=2>Kernel stack overflow in process
c018e030, r1=c018e370<BR>NIP: C000A934 XER: 00000000 LR: C0009EFC SP: C018E370
REGS: c018e2c0 TRAP: 0300 Tainted: PF<BR>MSR: 00009032 EE: 1
PR: 0 FP: 0 ME: 1 IR/DR: 11<BR>DAR: E2474034, DSISR: 88000000<BR>TASK =
c018e030[0] 'swapper' Last syscall: 120<BR>last math 00000000 last altivec
00000000<BR>GPR00: C0009CBC C018E370 C018E030 C000A934 E2474034 0000000B
C0B6C400 C000A934<BR>GPR08: E2474000 C01A0000 00000014 00000002 002AE754
10052EC8 1FFFA000 007FFF1C<BR>GPR16: 00000000 00000001 007FFF00 FFFFFFFF
00009032 0018E440 00000000 C00029D4<BR>GPR24: 00000000 00030001 C018E450
E2474034 00000000 0000000B 88000000 C018E450<BR>Call backtrace:<BR>00000000
C0009CBC C00029D4 0000000B C0009CBC C00029D4 00000000<BR>C0009CBC C00029D4
00000000 C0009CBC C00029D4 00000000 C0009CBC<BR>C00029D4 00000000 C0009CBC
C00029D4 00000000 C0009CBC C00029D4<BR>00000000 C0009CBC C00029D4 00000000
C0009CBC C00029D4 00000000<BR>C0009CBC C00029D4 00000000 C0009CBC
C00029D4<BR>Kernel panic: kernel stack overflow<BR>In interrupt handler - not
syncing<BR> <0>Rebooting in 180 seconds..<BR></FONT></STRONG></DIV>
<DIV><STRONG><FONT face="Courier New"
size=2>=======================================================================</FONT></STRONG></DIV>
<DIV><STRONG><FONT face="Courier New" size=2></FONT></STRONG> </DIV>
<DIV><STRONG><FONT face="Courier New" size=2>Looking at the Ksymoops pointed me
to some do_page_fault</FONT></STRONG></DIV>
<DIV><STRONG><FONT face="Courier New" size=2></FONT></STRONG> </DIV>
<DIV><STRONG><FONT face="Courier New" size=2></FONT></STRONG> </DIV>
<DIV><STRONG><FONT face="Courier New" size=2>ksymoops 2.4.6 on i686
2.4.18-3smp. Options used<BR> -V
(default)<BR> -k ksyms
(specified)<BR> -L (default)<BR>
-O (default)<BR> -m System.map
(specified)</FONT></STRONG></DIV>
<DIV> </DIV>
<DIV><STRONG><FONT face="Courier New" size=2>Error (expand_objects): cannot
stat(/lib/modules/2.4.18_mvl30-fads/kernel/net/ipv4/netfilter/ipt_MASQUERADE.o)
for ipt_MASQUERADE<BR>Error (expand_objects): cannot
stat(/lib/modules/2.4.18_mvl30-fads/kernel/net/ipv4/netfilter/iptable_filter.o)
for iptable_filter<BR>Error (expand_objects): cannot
stat(/lib/modules/2.4.18_mvl30-fads/kernel/net/ipv4/netfilter/ip_nat_ftp.o) for
ip_nat_ftp<BR>Error (expand_objects): cannot
stat(/lib/modules/2.4.18_mvl30-fads/kernel/net/ipv4/netfilter/iptable_nat.o) for
iptable_nat<BR>Error (expand_objects): cannot
stat(/lib/modules/2.4.18_mvl30-fads/kernel/net/ipv4/netfilter/ip_conntrack_irc.o)
for ip_conntrack_irc<BR>Error (expand_objects): cannot
stat(/lib/modules/2.4.18_mvl30-fads/kernel/net/ipv4/netfilter/ip_conntrack_ftp.o)
for ip_conntrack_ftp<BR>Error (expand_objects): cannot
stat(/lib/modules/2.4.18_mvl30-fads/kernel/net/ipv4/netfilter/ip_conntrack.o)
for ip_conntrack<BR>Error (expand_objects): cannot
stat(/lib/modules/2.4.18_mvl30-fads/kernel/net/ipv4/netfilter/ip_tables.o) for
ip_tables<BR>Error (expand_objects): cannot stat(/home/ICM/ISDN/sig860el.o) for
sig860el<BR>Error (expand_objects): cannot stat(/home/ICM/LKM/sysk_procif_ver.o)
for sysk_procif_ver<BR>Warning (compare_maps): mismatch on symbol xchg_u32
, ksyms_base says c00095e4, System.map says c0004af0. Ignoring ksyms_base
entry<BR>Kernel stack overflow in process c0a08000, r1=c0a08460<BR>NIP: C000A934
XER: 00000000 LR: C0009EFC SP: C0A08460 REGS: c0a083b0 TRAP: 0300F<BR>Using
defaults from ksymoops -t elf32-little -a unknown<BR>MSR: 00009032 EE: 1 PR: 0
FP: 0 ME: 1 IR/DR: 11<BR>TASK = c0a08000[1] 'init' Last syscall: 106<BR>last
math 00000000 last altivec 00000000<BR>GPR00: 00000000 C0A08460 C0A08000
C000A934 E2433034 0000000B C0B6AA00 C000A934<BR>GPR08: E2433000 C01A0000
DDDDB81E 00000003 CA010101 1001EE38 00000000 00000000<BR>GPR16: 00000000
00000000 00000000 00000000 00009032 00A08530 00000000 C00029D4<BR>GPR24:
00000000 00030001 C0A08540 E2433034 C01AF090 0000000B 88000000 C0A08540<BR>Call
backtrace:<BR>00000000 C0009CBC C00029D4 DD394530 C0009CBC C00029D4
00000000<BR>C0009CBC C00029D4 65666175 C0009CBC C00029D4 00000000
C0009CBC<BR>C00029D4 CEA99000 C0009CBC C00029D4 C0A08E10 C0009CBC
C00029D4<BR>00000000 C0009CBC C00029D4 00000000 C0009CBC C00029D4
00A09320<BR>C0009CBC C00029D4 C0007640 C0009CBC C00029D4<BR>Kernel panic: kernel
stack overflow<BR>Warning (Oops_read): Code line not seen, dumping what data is
available</FONT></STRONG></DIV>
<DIV> </DIV>
<DIV><STRONG><FONT face="Courier New" size=2><BR>>>???; c000a934
<search_exception_table+14/94> <=====</FONT></STRONG></DIV>
<DIV> </DIV>
<DIV><STRONG><FONT face="Courier New" size=2>>>GPR1; c0a08460
<_end+80ff96/21e0ab96><BR>>>GPR2; c0a08000
<_end+80fb36/21e0ab96><BR>>>GPR3; c000a934
<search_exception_table+14/94><BR>>>GPR4; e2433034
<[sig860el].bss.end+6001/602d><BR>>>GPR6; c0b6aa00
<_end+972536/21e0ab96><BR>>>GPR7; c000a934
<search_exception_table+14/94><BR>>>GPR8; e2433000
<[sig860el].bss.end+5fcd/602d><BR>>>GPR9; c01a0000
<g_stCfgKSFuncHndl+17d4/1eb0><BR>>>GPR10; ddddb81e
<_end+1dbe3354/21e0ab96><BR>>>GPR12; ca010101
<_end+9e17c37/21e0ab96><BR>>>GPR23; c00029d4
<ret_from_except+0/34><BR>>>GPR26; c0a08540
<_end+810076/21e0ab96><BR>>>GPR27; e2433034
<[sig860el].bss.end+6001/602d><BR>>>GPR28; c01af090
<serial_console_setup+58/2a4><BR>>>GPR31; c0a08540
<_end+810076/21e0ab96></FONT></STRONG></DIV>
<DIV> </DIV>
<DIV><STRONG><FONT face="Courier New" size=2>Trace; 00000000 Before first
symbol<BR>Trace; c0009cbc <do_page_fault+138/358><BR>Trace; c00029d4
<ret_from_except+0/34><BR>Trace; dd394530
<_end+1d19c066/21e0ab96><BR>Trace; c0009cbc
<do_page_fault+138/358><BR>Trace; c00029d4
<ret_from_except+0/34><BR>Trace; 00000000 Before first symbol<BR>Trace;
c0009cbc <do_page_fault+138/358><BR>Trace; c00029d4
<ret_from_except+0/34><BR>Trace; 65666175 Before first symbol<BR>Trace;
c0009cbc <do_page_fault+138/358><BR>Trace; c00029d4
<ret_from_except+0/34><BR>Trace; 00000000 Before first symbol<BR>Trace;
c0009cbc <do_page_fault+138/358><BR>Trace; c00029d4
<ret_from_except+0/34><BR>Trace; cea99000
<_end+e8a0b36/21e0ab96><BR>Trace; c0009cbc
<do_page_fault+138/358><BR>Trace; c00029d4
<ret_from_except+0/34><BR>Trace; c0a08e10
<_end+810946/21e0ab96><BR>Trace; c0009cbc
<do_page_fault+138/358><BR>Trace; c00029d4
<ret_from_except+0/34><BR>Trace; 00000000 Before first symbol<BR>Trace;
c0009cbc <do_page_fault+138/358><BR>Trace; c00029d4
<ret_from_except+0/34><BR>Trace; 00000000 Before first symbol<BR>Trace;
c0009cbc <do_page_fault+138/358><BR>Trace; c00029d4
<ret_from_except+0/34><BR>Trace; 00a09320 Before first symbol<BR>Trace;
c0009cbc <do_page_fault+138/358><BR>Trace; c00029d4
<ret_from_except+0/34><BR>Trace; c0007640 <__up+38/48><BR>Trace;
c0009cbc <do_page_fault+138/358><BR>Trace; c00029d4
<ret_from_except+0/34><BR></DIV></FONT></STRONG>
<DIV><STRONG><FONT face="Courier New" size=2></FONT></STRONG> </DIV>
<DIV><STRONG><FONT face="Courier New" size=2></FONT></STRONG> </DIV>
<DIV><STRONG><FONT face="Courier New" size=2>So just to check I made the same
loadable module as Part of the</FONT></STRONG></DIV>
<DIV><STRONG><FONT face="Courier New" size=2>Kernel and booted my system and it
booted fine and runs fine</FONT></STRONG></DIV>
<DIV><STRONG><FONT face="Courier New" size=2>for more than 5 days without
any problem. </FONT></STRONG></DIV>
<DIV><STRONG><FONT face="Courier New" size=2>What may be the reason for
this?</FONT></STRONG></DIV>
<DIV><STRONG><FONT face="Courier New" size=2></FONT></STRONG> </DIV>
<DIV><STRONG><FONT face="Courier New" size=2>Is there any loading/linking
difference between the Linux kernel</FONT></STRONG></DIV>
<DIV><STRONG><FONT face="Courier New" size=2>module(as this is dynamically done)
and Part of </FONT></STRONG></DIV>
<DIV><STRONG><FONT face="Courier New" size=2>Kernel (statically linked with the
kernel)</FONT></STRONG></DIV>
<DIV><STRONG><FONT face="Courier New" size=2></FONT></STRONG> </DIV>
<DIV><STRONG><FONT face="Courier New" size=2>As the insmod does a vmalloc to
allocate the memory for loading the module,</FONT></STRONG></DIV>
<DIV><STRONG><FONT face="Courier New" size=2>does it have some memory allocation
problems or something like that?</FONT></STRONG></DIV>
<DIV><STRONG><FONT face="Courier New" size=2></FONT></STRONG> </DIV>
<DIV><STRONG><FONT face="Courier New" size=2>Any pointers will be really
helpful,</FONT></STRONG><STRONG><FONT face="Courier New" size=2>Thanks in
advance,</FONT></STRONG></DIV>
<DIV><STRONG><FONT face="Courier New" size=2>Pls cc to me as I'm not subscribed
to this list.</FONT></STRONG></DIV>
<DIV><STRONG><FONT face="Courier New" size=2></FONT></STRONG> </DIV>
<DIV><STRONG><FONT face="Courier New" size=2></FONT></STRONG> </DIV>
<DIV><STRONG><FONT face="Courier New"
size=2>--Ganesh</FONT></STRONG></DIV></BODY></HTML>