How to understand a kernel oops message?

Foo Chun Choong (ccfoo@hawk.ee.nus.sg)
Thu, 2 Apr 1998 15:16:22 +0800 (SGT)


Hi,

Could u help me to understand this kernel oops message (enclosed below):

(1) Is there a doc describing what the general protection numbers mean?
What does the 0000 here stand for?
(2) In EIP:[dev_ioctl+476/508] is there a way for me to find the exact
line of the kernel code that is causing the problem (using 476/508??)
(3) Does the "kfree of non-kmalloced memory" mean that I've tried to free
memory that has not been kmalloced, and is this the cause of the problem?
(4) How do I use GDB to debug the kernel? What must I do to set it up?

Many thanks in advance,
CCFoo

Apr 2 13:01:23 kukula kernel: general protection: 0000
Apr 2 13:01:23 kukula kernel: CPU: 0
Apr 2 13:01:23 kukula kernel: EIP: 0010:[dev_ioctl+476/508]
Apr 2 13:01:23 kukula kernel: EFLAGS: 00010002
Apr 2 13:01:23 kukula kernel: eax: 73736d20 ebx: 73736d20 ecx: 001d9bd4 edx: 73736d20
Apr 2 13:01:23 kukula kernel: esi: 0008fe10 edi: 001e6ed8 ebp: 001e6e4c esp: 001d9bac
Apr 2 13:01:23 kukula kernel: ds: 0018 es: 0018 fs: 002b gs: 0018 ss: 0018
Apr 2 13:01:23 kukula kernel: Process swapper (pid: 0, process nr: 0, stackpage=001d7d4c)
Apr 2 13:01:23 kukula kernel: Stack: 001d9bd4 001396c6 0008fe10 001d9bd4 0008fe00 41998489 001e6e4c 0008fe10
Apr 2 13:01:23 kukula kernel: 00000000 00000202 0008fe10 ffaa0806 0008fde6 00138944 000000c4 00000001
Apr 2 13:01:23 kukula kernel: 00139876 0008fe10 001e6e4c 00000000 0014ccfd 0008fe10 001e6e4c 00000000
Apr 2 13:01:23 kukula kernel: Call Trace: [skb_recv_datagram+326/376] [sock_getsockopt+152/424] [datagram_select+210/380] [arp_bind_cache+229/676] [dev_mc_add+120/176] [ext2_new_block+358/2176] [ext2_new_block+308/2176]
Apr 2 13:01:23 kukula kernel: [timer_bh+577/820] [get_ioport_list+23/96] [do_signal+183/636] [init+520/900] [do_signal+305/636] [do_shell+148/196] [start_kernel+406/464]
Apr 2 13:01:23 kukula kernel: Code: 80 7b 09 04 75 12 8a 03 83 e0 0f c1 e0 02 89 f6 01 c2 80 7a
Apr 2 13:01:23 kukula kernel: Aiee, killing interrupt handler
Apr 2 13:01:23 kukula kernel: kfree of non-kmalloced memory: 001d9d94, next= 00000000, order=0
Apr 2 13:01:23 kukula kernel: kfree of non-kmalloced memory: 001d9d84, next= 00000000, order=0
Apr 2 13:01:23 kukula kernel: kfree of non-kmalloced memory: 001da298, next= 00000000, order=0
Apr 2 13:01:23 kukula kernel: idle task may not sleep
Apr 2 13:01:23 kukula last message repeated 4 times
Apr 2 13:01:24 kukula kerneld: error: exit: Identifier removed

Apr 2 13:06:51 kukula kernel: general protection: 0000
Apr 2 13:06:51 kukula kernel: CPU: 0
Apr 2 13:06:51 kukula kernel: EIP: 0010:[dev_ioctl+476/508]
Apr 2 13:06:51 kukula kernel: EFLAGS: 00010002
Apr 2 13:06:51 kukula kernel: eax: 736d2038 ebx: 736d2038 ecx: 001d99f0 edx: 736d2038
Apr 2 13:06:51 kukula kernel: esi: 01122e10 edi: 001e6ed8 ebp: 001e6e4c esp: 001d99c8
Apr 2 13:06:51 kukula kernel: ds: 0018 es: 0018 fs: 002b gs: 0000 ss: 0018
Apr 2 13:06:51 kukula kernel: Process swapper (pid: 0, process nr: 0, stackpage=001d7d4c)
Apr 2 13:06:51 kukula kernel: Stack: 001d99f0 001396c6 01122e10 001d99f0 01122e00 40998489 001e6e4c 01122e10
Apr 2 13:06:51 kukula kernel: 00000000 00000202 01122e10 ffaa0806 01122de6 00138944 000000c4 00000001
Apr 2 13:06:51 kukula kernel: 00139876 01122e10 001e6e4c 00000000 0014ccfd 01122e10 001e6e4c 00000000
Apr 2 13:06:51 kukula kernel: Call Trace: [skb_recv_datagram+326/376] [sock_getsockopt+152/424] [datagram_select+210/380] [arp_bind_cache+229/676] [tr_rebuild_header+14/96] [dev_mc_add+120/176] [udp_rcv+355/908]
Apr 2 13:06:51 kukula kernel: [udp_rcv+76/908] [timer_bh+577/820] [get_ioport_list+23/96] [do_signal+183/636] [exit_notify+91/480] [do_exit+480/488] [die_if_kernel+135/684] [<03000000>]
Apr 2 13:06:51 kukula kernel: [<02800000>] [do_device_not_available+60/92] [do_device_not_available+20/92] [lcall7+64/96] [dev_ioctl+476/508] [skb_recv_datagram+326/376] [sock_getsockopt+152/424] [datagram_select+210/380]
Apr 2 13:06:51 kukula kernel: [arp_bind_cache+229/676] [dev_mc_add+120/176] [ext2_new_block+358/2176] [ext2_new_block+308/2176] [timer_bh+577/820] [get_ioport_list+23/96] [do_signal+183/636] [init+520/900]
Apr 2 13:06:51 kukula kernel: [do_signal+305/636] [do_shell+148/196] [start_kernel+406/464]
Apr 2 13:06:51 kukula kernel: Code: 80 7b 09 04 75 12 8a 03 83 e0 0f c1 e0 02 89 f6 01 c2 80 7a
Apr 2 13:06:51 kukula kernel: Aiee, killing interrupt handler

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu