[#5263] kernel BUG()'s when loading modules and CONFIG_MODVERSIONS=y

Document created by Aaronwu Employee on Sep 4, 2013
Version 1Show Document
  • View in full screen mode

[#5263] kernel BUG()'s when loading modules and CONFIG_MODVERSIONS=y

Submitted By: Mike Frysinger

Open Date

2009-06-16 13:37:25     Close Date

2009-06-19 03:51:59

Priority:

Medium     Assignee:

Nobody

Status:

Closed     Fixed In Release:

N/A

Found In Release:

2010R1     Release:

svn 6753

Category:

N/A     Board:

EZKIT Lite

Processor:

BF548     Silicon Revision:

Is this bug repeatable?:

Yes     Resolution:

Fixed

Uboot version or rev.:

    Toolchain version or rev.:

trunk

App binary format:

N/A     

Summary: kernel BUG()'s when loading modules and CONFIG_MODVERSIONS=y

Details:

 

i'm pretty sure i reported this before, but i cant seem to find it.  at any rate, enabling CONFIG_MODVERSIONS in trunk (Module versioning support) and loading any module results in instant BUG().

 

my kernel config is the BF548-EZKIT defconfig and modversions turned on

 

root:/> insmod /msdos.ko

------------[ cut here ]------------

kernel BUG at kernel/module.c:1057!

Kernel panic - not syncing: BUG()

Hardware Trace:

   0 Target : <0x00004ee0> { _trap_c + 0x0 }

     Source : <0xffa005ea> { _exception_to_level5 + 0x9e } CALL pcrel

   1 Target : <0xffa0054c> { _exception_to_level5 + 0x0 }

     Source : <0xffa0042c> { _bfin_return_from_exception + 0x18 } RTX

   2 Target : <0xffa00414> { _bfin_return_from_exception + 0x0 }

     Source : <0xffa004a2> { _ex_trap_c + 0x46 } JUMP.S

   3 Target : <0xffa0045c> { _ex_trap_c + 0x0 }

     Source : <0xffa006b4> { _trap + 0x58 } JUMP (P4)

   4 Target : <0xffa0065c> { _trap + 0x0 }

     Source : <0x00028f3c> { _load_module + 0x2c4 } IF !CC JUMP

   5 Target : <0x00028f3a> { _load_module + 0x2c2 }

     Source : <0x0002797e> { _find_symbol + 0x4e } RTS

   6 Target : <0x00027978> { _find_symbol + 0x48 }

     Source : <0x00027960> { _find_symbol + 0x30 } IF !CC JUMP

   7 Target : <0x0002795c> { _find_symbol + 0x2c }

     Source : <0x0002791e> { _each_symbol + 0xe2 } RTS

   8 Target : <0x0002790a> { _each_symbol + 0xce }

     Source : <0x00027876> { _each_symbol + 0x3a } JUMP.S

   9 Target : <0x0002785e> { _each_symbol + 0x22 }

     Source : <0x00027246> { _each_symbol_in_section + 0x56 } RTS

  10 Target : <0x00027240> { _each_symbol_in_section + 0x50 }

     Source : <0x00027254> { _each_symbol_in_section + 0x64 } JUMP.S

  11 Target : <0x00027248> { _each_symbol_in_section + 0x58 }

     Source : <0x0002721a> { _each_symbol_in_section + 0x2a } IF !CC JUMP

  12 Target : <0x0002720e> { _each_symbol_in_section + 0x1e }

     Source : <0x00027250> { _each_symbol_in_section + 0x60 } IF CC JUMP

  13 Target : <0x00027248> { _each_symbol_in_section + 0x58 }

     Source : <0x0002722c> { _each_symbol_in_section + 0x3c } IF !CC JUMP

  14 Target : <0x00027220> { _each_symbol_in_section + 0x30 }

     Source : <0x0002723c> { _each_symbol_in_section + 0x4c } IF CC JUMP

  15 Target : <0x00027238> { _each_symbol_in_section + 0x48 }

     Source : <0x00027be0> { _find_symbol_in_section + 0x70 } RTS

Stack info:

SP: [0x00373c98] <0x00373c98> /* kernel dynamic memory */

FP: (0x00373eb8)

Memory from 0x00373c90 to 00374000

00373c90: 00373c98  00000013 [001f6b04]<001b2b2a> 00373d7c  001f6b04  002526be  002526be

00373cb0: 002526be  00373cd0 <000052aa> 00373d7c  ffe02014  00940000  00000000  00264e78

00373cd0: 0000ffff  0000003f  00000000  00000000  00257ed0  00257cd0  00257ad0  00373cec

00373cf0: 00373cec  00265700 <0002d364> 00256fdc  00000001  00000020  00000081  00000004

00373d10: 00000100 <00013332> 00000001 <0002c63c> 00268da4  00000080  00940000  00000006

00373d30: 00373ec0 <ffa002f8> 00270a1c  00000080  00940000  00000006  00000000  00fe129c

00373d50: 00fe129c  000000d0 <ffa005ee> ffa00b90  00000000  0000ffff  0095220c  00fe129c

00373d70:<00027238> 001b4ee8  00027b70  00000480  00008030  00060021  00000000  00373e58

00373d90: 00000480  00028fda <00028f3a> 00000000  02003025  0003c008  000af1b6  0003c002

00373db0: 000af1ae  00000000  00000000  00000000  00000000  00000000  00000000  00000000

00373dd0: 00000000  00000000  00000000  00000000  00000000  00000000  00000000  00000000

00373df0: 00000000  00000000  00000000  00000000  00000000  00940000  04000021  00febe84

00373e10: 0095243c  00941b50  0095239c  00940000  00202599  00268ae4  00373eb8  00000000

00373e30: 0000000a  0095220c  00fe129c  00000024  0000043e  00238a9c  00000000  00000000

00373e50: 00373eb8  00000006  00373e58  00373e58  0001ccd6  00000001  00000000  00000000

00373e70: 00373eb8  00dcb964  00952784  009520c3  00372000  0095c8c4  00000023  0000000b

00373e90: 0000000a  009527ac  0095220c  00952234  00000000  008ee714  038dea20  00000003

00373eb0: 00373ef0  00000000 (00000000)<0003cd88> 00febe90 <00029d64> 00029d24  00000080

00373ed0: 0000002c  00f40004  0001ccd6  00fe129c <00f9e136><0003ce1a> 00000000  038dea20

00373ef0: ffffe000  00000000 <ffa007ec> 00029d24  00000000  ffffe000  000000f0  0086bd64

00373f10:<ffa0081e> 00372000  0001ccd6 <00f9e136> 000000f0  00f8345c  00008000  00000000

00373f30: 00000000  00374000  00f8345c  00f8345c <00f9e90c><ffa00ee8> 02003004  00814963

00373f50: 00f8ec3d  0081495a  00f8ec3c  00000000  00000000  00000000  00000000  00000000

00373f70: 00000000  00000000  00000000  00000000  00000000  00000000  00000000  00000000

00373f90: 00000000  00000000  00000000  00000000  00000000  00000000  00000000  00000000

00373fb0: 04000021  00febe84  00febe90  00fe2734  00febf80  0000002c <00f5ccda> 00f5dff4

00373fd0: 00000080  00fe129c  00f40004  000000f0 <00f9e136> 0001ccd6  00fe129c  0001ccd6

00373ff0: 00f40004  00f40004  00000080  00000006  e0007270

Return addresses in stack:

    address : <0x001b2b2a> { _panic + 0x4a }

    address : <0x000052aa> { _trap_c + 0x3ca }

    address : <0x0002d364> { _rcu_process_callbacks + 0x2c }

    address : <0x00013332> { ___do_softirq + 0x5a }

    address : <0x0002c63c> { _handle_simple_irq + 0x6c }

    address : <0xffa002f8> { _asm_do_IRQ + 0x58 }

    address : <0xffa005ee> { _exception_to_level5 + 0xa2 }

    address : <0x00027238> { _each_symbol_in_section + 0x48 }

    address : <0x00028f3a> { _load_module + 0x2c2 }

   frame  1 : <0x0003cd88> { _filp_close + 0x38 }

    address : <0x00029d64> { _sys_init_module + 0x40 }

    address : <0x00f9e136> [ insmod + 0x1e0f6 ]

    address : <0x0003ce1a> { _sys_close + 0x72 }

    address : <0xffa007ec> { _system_call + 0x68 }

    address : <0xffa0081e> { _system_call + 0x9a }

    address : <0x00f9e136> [ insmod + 0x1e0f6 ]

    address : <0x00f9e90c> [ insmod + 0x1e8cc ]

    address : <0xffa00ee8> { _evt_system_call + 0x64 }

    address : <0x00f5ccda> [ insmod + 0x1ccda ]

    address : <0x00f9e136> [ insmod + 0x1e0f6 ]

 

Follow-ups

 

--- Mike Frysinger                                           2009-06-16 14:21:28

i did report similar issue for [#3633], but the change there was reverted and no

generalized fix was found

 

--- Mike Frysinger                                           2009-06-19 03:51:59

proper fix from lkml is to use MODULE_SYMBOL_PREFIX

 

 

 

    Files

    Changes

    Commits

    Dependencies

    Duplicates

    Associations

    Tags

 

File Name     File Type     File Size     Posted By

No Files Were Found

Attachments

    Outcomes