我在mini2440上做了个最简单的内核驱动,教程里的mini2440_hello_module
代码就是教程里的代码,没有变化,
在我插入内核时,蛮正常的
输入命令:modprobe mini2440_hello_module
显示:Hello, Mini2440 module is installed !
在我卸载内核时,不正常了
输入命令:rmmod mini2440_hello_module
显示:Good-bye, Mini2440 module was removed!
Unable to handle kernel NULL pointer dereference at virtual address 00000000
pgd = c3bd8000
[00000000] *pgd=33bdc031, *pte=00000000, *ppte=00000000
Internal error: Oops: 17 [#1]
last sysfs file: /sys/devices/virtual/vc/vcsa4/dev
Modules linked in: [last unloaded: mini2440_hello_module]
CPU: 0 Not tainted (2.6.32.2 #7)
PC is at strcmp+0x8/0x34
LR is at sysfs_find_dirent+0x18/0x38
pc : [<c018db04>] lr : [<c00db9bc>] psr: a0000013
sp : c3be3ef8 ip : 00000000 fp : 00000000
r10: bee46e78 r9 : c3be2000 r8 : c0033024
r7 : c3be3f44 r6 : 00000880 r5 : 00000000 r4 : c3b908a0
r3 : 00001b68 r2 : 00000000 r1 : 00000000 r0 : 00000000
Flags: NzCv IRQs on FIQs on Mode SVC_32 ISA ARM Segment user
Control: c000717f Table: 33bd8000 DAC: 00000015
Process rmmod (pid: 798, stack limit = 0xc3be2270)
Stack: (0xc3be3ef8 to 0xc3be4000)
3ee0: c3b90870 00000000
3f00: 00000880 c00da4bc c3b90870 00000000 00000000 00000000 00000000 c39acd80
3f20: 00000880 c0064d28 bf000090 bf000090 00000880 c00650c0 00000000 c0065400
3f40: c3bb38f0 696e696d 30343432 6c65685f 6d5f6f6c 6c75646f 40020065 c0096bf8
3f60: 00000000 c3bb3318 00000000 c3bb9480 00000000 c3bb94b4 00001000 0001f000
3f80: bf000090 00000880 c3be3f8c 00000000 000c41e8 bee46f57 00000001 000b81c8
3fa0: 00000081 c0032ea0 bee46f57 00000001 bee46f57 00000880 000b81c0 000b81c8
3fc0: bee46f57 00000001 000b81c8 00000081 00000001 00000000 bee46e78 00000000
3fe0: 00000000 bee46b00 00018250 401c886c 60000010 bee46f57 ffffffff ffffffff
[<c018db04>] (strcmp+0x8/0x34) from [<c00db9bc>] (sysfs_find_dirent+0x18/0x38)
[<c00db9bc>] (sysfs_find_dirent+0x18/0x38) from [<c00da4bc>] (sysfs_hash_and_remove+0x28/0x5c)
[<c00da4bc>] (sysfs_hash_and_remove+0x28/0x5c) from [<c0064d28>] (free_notes_attrs+0x24/0x4c)
[<c0064d28>] (free_notes_attrs+0x24/0x4c) from [<c00650c0>] (free_module+0x34/0xdc)
[<c00650c0>] (free_module+0x34/0xdc) from [<c0065400>] (sys_delete_module+0x21c/0x25c)
[<c0065400>] (sys_delete_module+0x21c/0x25c) from [<c0032ea0>] (ret_fast_syscall+0x0/0x28)
Code: 1afffff2 e8bd8030 e1a0c000 e3a02000 (e7dc0002)
---[ end trace 779a184510dcf5e1 ]---
Segmentation fault
请问大家这是为什么吗?