Weird crash of kernel during module loading on mpc8548 based board
Alex Dubov
oakad at yahoo.com
Mon Jan 18 19:14:35 EST 2010
Greetings.
I've got a rather weird problem and hope that somebody may have encountered
it before.
I've got an MPC8548 based board which was not supported by the
u-boot/kernel, but was quite similar to other AMC boards of this sort. I
patched up the kernel and stress-tested the board quite extensively
(essentially, by compiling a whole gentoo distro natively on it, which
took me a couple of weeks :-). Board has a single SODIMM with 512 MB
memory installed.
Now, I enabled a loadable module support and want to load a small module
I'm working on. However, all my attempts to load the module lead to
immediate kernel segfault, at precisely the first command of the
module_init function.
I'm working with a git head version of the kernel (2.6.33-rc4-xx).
All user space functionality works fine - I'm running a fully featured
workstation setup on it over nfs root.
Here is the debug dump:
-bash: HISTORY: PID=1731 UID=0 modprobe rio_core
[ 34.149070] load_module: umod=4802f008, len=141251, uargs=1001d160
[ 34.150198] Core section allocation order:
[ 34.150212] .text
[ 34.150217] .exit.text
[ 34.150221] .plt
[ 34.150226] .note.gnu.build-id
[ 34.150231] __ksymtab_strings
[ 34.150236] .rodata.str1.4
[ 34.150241] __ksymtab
[ 34.150246] __kcrctab
[ 34.150251] .data
[ 34.150256] .gnu.linkonce.this_module
[ 34.150261] .bss
[ 34.150266] Init section allocation order:
[ 34.150273] .init.text
[ 34.150277] .init.plt
[ 34.150285] .symtab
[ 34.150339] .strtab
[ 34.150410] final section addresses:
[ 34.150418] 0xe10ac2f8 .note.gnu.build-id
[ 34.150434] 0xe10ab000 .text
[ 34.150440] 0xe10ac1a4 .exit.text
[ 34.150446] 0xe10b0000 .init.text
[ 34.150453] 0xe10ac31c __ksymtab_strings
[ 34.150460] 0xe10ac37c .rodata.str1.4
[ 34.150466] 0xe10ac5bc __ksymtab
[ 34.150472] 0xe10ac5ec __kcrctab
[ 34.150479] 0xe10ac604 .data
[ 34.150486] 0xe10ac728 .gnu.linkonce.this_module
[ 34.150492] 0xe10ac870 .bss
[ 34.150497] 0xe10ac1a8 .plt
[ 34.150503] 0xe10b0058 .init.plt
[ 34.150514] 0xe10b0068 .symtab
[ 34.150524] 0xe10b0f08 .strtab
[ 34.150545] kobject: 'rio_core' (e10ac770): kobject_add_internal:
parent: 'module', set: 'module'
[ 34.150580] Absolute symbol: 0x00000000
[ 34.150586] Absolute symbol: 0x00000000
[ 34.150593] Absolute symbol: 0x00000000
[ 34.151961] Absolute symbol: 0xb77d8702
[ 34.152726] Absolute symbol: 0x137e9f0d
[ 34.152869] Absolute symbol: 0x86125fdb
[ 34.153428] Absolute symbol: 0xc4a5e8df
[ 34.153728] Absolute symbol: 0x74e7f0ed
[ 34.153866] Absolute symbol: 0xb45adf12
[ 34.154328] Failed to find symbol rio_free_iface
[ 34.154676] Failed to find symbol rio_remove_iface
[ 34.155024] Failed to find symbol rio_add_iface
[ 34.155372] Failed to find symbol rio_alloc_iface
[ 34.155720] Failed to find symbol copy_toio_be32
[ 34.156080] Failed to find symbol copy_fromio_be32
[ 34.162175] kobject: 'holders' (df19a700): kobject_add_internal: parent:
'rio_core', set: '<NULL>'
[ 34.162201] kobject: 'rio_core' (e10ac770): kobject_uevent_env
[ 34.162220] kobject: 'rio_core' (e10ac770): fill_kobj_path: path =
'/module/rio_core'
[ 34.163393] kobject: 'notes' (df19a540): kobject_add_internal: parent:
'rio_core', set: '<NULL>'
[ 34.163457] Unable to handle kernel paging request for instruction fetch
[ 34.163465] Faulting instruction address: 0xe10b0000
[ 34.163476] Oops: Kernel access of bad area, sig: 11 [#1]
[ 34.168864] STX AMC8548
[ 34.171299] Modules linked in: rio_core(+)
[ 34.175395] NIP: e10b0000 LR: c0001dc0 CTR: e10b0000
[ 34.180349] REGS: df1b1e50 TRAP: 0400 Not tainted (2.6.33-rc4-00193-
gd1e4922-dirty)
[ 34.188248] MSR: 00029000 <EE,ME,CE> CR: 24022482 XER: 00000000
[ 34.194360] TASK = dfa4d2c0[1736] 'modprobe' THREAD: df1b0000
[ 34.199918] GPR00: 00000000 df1b1f00 dfa4d2c0 e10b0000 00000001 e10ac728
ffffffff 00000000
[ 34.208295] GPR08: 0000002c df1b0000 c0bfd000 0000006c 00000005 10024204
1ffebe00 1001c598
[ 34.216672] GPR16: 00000000 00000000 00000003 1001d574 00000000 10005b10
00000000 00000000
[ 34.225049] GPR24: 1001d428 00000000 000227c3 1001d160 c04a6c80 c04a6c8c
000000000 e10b0000
[ 34.233636] NIP [e10b0000] rio_init+0x0/0x68 [rio_core]
[ 34.238856] LR [c0001dc0] do_one_initcall+0x74/0x220
[ 34.243807] Call Trace:
[ 34.246253] [df1b1f20] [c00617ec] sys_init_module+0xf4/0x250
[ 34.251912] [df1b1f40] [c000fa18] ret_from_syscall+0x0/0x3c
[ 34.257473] Instruction dump:
[ 34.260434] XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
XXXXXXXX XXXXXXXX
[ 34.268197] XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX <9421fff0> 3c60e10b
7c0802a6 3863c37c
[ 34.276187] ---[ end trace 72ab109d9f179c15 ]---
__________________________________________________________________________________
See what's on at the movies in your area. Find out now: http://au.movies.yahoo.com/session-times/
More information about the Linuxppc-dev
mailing list