当前位置: 技术问答>linux和unix
我的一个模块在rmmod之后再次insmod出现了段错误,大家帮忙看看
来源: 互联网 发布时间:2016-10-20
本文导语: dmesg提示如下: [11291.957061] BUG: unable to handle kernel paging request at 65746f6e [11291.957067] IP: [] __kmalloc+0x61/0xf0 [11291.957085] *pde = 00000000 [11291.957088] Oops: 0000 [#2] SMP [11291.957091] Modules linked in: vtune_drv binfmt_misc...
dmesg提示如下:
[11291.957061] BUG: unable to handle kernel paging request at 65746f6e
[11291.957067] IP: [] __kmalloc+0x61/0xf0
[11291.957085] *pde = 00000000
[11291.957088] Oops: 0000 [#2] SMP
[11291.957091] Modules linked in: vtune_drv binfmt_misc ppdev vboxsf vboxnetflt vboxdrv video output lp parport psmouse serio_raw pcspkr joydev i2c_piix4 vboxguest usbhid e1000 [last unloaded: test2]
[11291.957102]
[11291.957104] Pid: 8124, comm: insmod Tainted: G D W (2.6.26 #3)
[11291.957105] EIP: 0060:[] EFLAGS: 00210002 CPU: 0
[11291.957107] EIP is at __kmalloc+0x61/0xf0
[11291.957108] EAX: 00000000 EBX: 65746f6e ECX: c0187c4a EDX: c14e3a28
[11291.957109] ESI: c0616380 EDI: 00200282 EBP: e2041e38 ESP: e2041e1c
[11291.957111] DS: 007b ES: 007b FS: 00d8 GS: 0033 SS: 0068
[11291.957112] Process insmod (pid: 8124, ti=e2040000 task=dd23cb60 task.ti=e2040000)
[11291.957114] Stack: c05bdc18 c0156960 000000d0 00000008 ffffffea 00000001 7fffffff e2041e50
[11291.957118] c0187c4a 080cb008 e45f1a49 e45f1a4f 0000001f e2041fb0 c015870f e45f2080
[11291.957122] c05ba154 00000000 e2041f58 e230cc00 00000000 00034e44 000007f0 00000043
[11291.957126] Call Trace:
[11291.957127] [] ? warn_if_not_gpl+0x0/0x40
[11291.957132] [] ? strndup_user+0x4a/0x90
[11291.957136] [] ? sys_init_module+0x6bf/0x1e10
[11291.957140] [] ? inotify_inode_queue_event+0xbc/0xe0
[11291.957144] [] ? dput+0x75/0x100
[11291.957148] [] ? mntput_no_expire+0x1d/0x110
[11291.957151] [] ? __fput+0x141/0x190
[11291.957154] [] ? fput+0x1f/0x30
[11291.957157] [] ? filp_close+0x49/0x70
[11291.957159] [] ? sysenter_past_esp+0x78/0xb9
[11291.957163] [] ? init_intel_cacheinfo+0x50b/0x56a
[11291.957172] =======================
[11291.957173] Code: 00 00 00 89 c7 fa 0f 1f 84 00 00 00 00 00 90 64 a1 04 60 68 c0 8b 94 86 80 00 00 00 8b 42 10 89 45 f0 8b 1a 85 db 74 52 8b 42 0c 04 83 89 02 89 f8 50 9d 0f 1f 84 00 00 00 00 00 66 83 7d ec
[11291.957195] EIP: [] __kmalloc+0x61/0xf0 SS:ESP 0068:e2041e1c
[11291.957198] ---[ end trace 4eaa2a86a8e2da22 ]---
这个是为什么啊,那个模块应该是正常退出了的啊。
[11291.957061] BUG: unable to handle kernel paging request at 65746f6e
[11291.957067] IP: [] __kmalloc+0x61/0xf0
[11291.957085] *pde = 00000000
[11291.957088] Oops: 0000 [#2] SMP
[11291.957091] Modules linked in: vtune_drv binfmt_misc ppdev vboxsf vboxnetflt vboxdrv video output lp parport psmouse serio_raw pcspkr joydev i2c_piix4 vboxguest usbhid e1000 [last unloaded: test2]
[11291.957102]
[11291.957104] Pid: 8124, comm: insmod Tainted: G D W (2.6.26 #3)
[11291.957105] EIP: 0060:[] EFLAGS: 00210002 CPU: 0
[11291.957107] EIP is at __kmalloc+0x61/0xf0
[11291.957108] EAX: 00000000 EBX: 65746f6e ECX: c0187c4a EDX: c14e3a28
[11291.957109] ESI: c0616380 EDI: 00200282 EBP: e2041e38 ESP: e2041e1c
[11291.957111] DS: 007b ES: 007b FS: 00d8 GS: 0033 SS: 0068
[11291.957112] Process insmod (pid: 8124, ti=e2040000 task=dd23cb60 task.ti=e2040000)
[11291.957114] Stack: c05bdc18 c0156960 000000d0 00000008 ffffffea 00000001 7fffffff e2041e50
[11291.957118] c0187c4a 080cb008 e45f1a49 e45f1a4f 0000001f e2041fb0 c015870f e45f2080
[11291.957122] c05ba154 00000000 e2041f58 e230cc00 00000000 00034e44 000007f0 00000043
[11291.957126] Call Trace:
[11291.957127] [] ? warn_if_not_gpl+0x0/0x40
[11291.957132] [] ? strndup_user+0x4a/0x90
[11291.957136] [] ? sys_init_module+0x6bf/0x1e10
[11291.957140] [] ? inotify_inode_queue_event+0xbc/0xe0
[11291.957144] [] ? dput+0x75/0x100
[11291.957148] [] ? mntput_no_expire+0x1d/0x110
[11291.957151] [] ? __fput+0x141/0x190
[11291.957154] [] ? fput+0x1f/0x30
[11291.957157] [] ? filp_close+0x49/0x70
[11291.957159] [] ? sysenter_past_esp+0x78/0xb9
[11291.957163] [] ? init_intel_cacheinfo+0x50b/0x56a
[11291.957172] =======================
[11291.957173] Code: 00 00 00 89 c7 fa 0f 1f 84 00 00 00 00 00 90 64 a1 04 60 68 c0 8b 94 86 80 00 00 00 8b 42 10 89 45 f0 8b 1a 85 db 74 52 8b 42 0c 04 83 89 02 89 f8 50 9d 0f 1f 84 00 00 00 00 00 66 83 7d ec
[11291.957195] EIP: [] __kmalloc+0x61/0xf0 SS:ESP 0068:e2041e1c
[11291.957198] ---[ end trace 4eaa2a86a8e2da22 ]---
这个是为什么啊,那个模块应该是正常退出了的啊。
|
[11291.957085] *pde = 00000000
这个不太对吧?怎么会是0呢?
[11291.957107] EIP is at __kmalloc+0x61/0xf0
kmalloc里面出错了?会不会是调用的参数不对?
这个不太对吧?怎么会是0呢?
[11291.957107] EIP is at __kmalloc+0x61/0xf0
kmalloc里面出错了?会不会是调用的参数不对?
|
只能说init_intel_cacheinfo 这个函数仔细查查 ,内存问题。
|
恩,看上去是一个oops ,说是地址不对。
有可能是0指针?
有可能是0指针?