any hints on this bug?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

The bug below is caused by the ethernet driver I'm working on. The
program counter, and the link register (i.e. keeps the address to
return to, from a function) are illegal. It seems something goes wrong
during the calling of the waitqueue function. The driver itself
doesn't use any waitqueues. Looks like it is a wakeup() called from
net_rx_action(). But I don't see why ethernet the driver itself would
cause a corrupt return address in a wakeup call, since it only touches
skb buffers and merely calls netif_rx from a tasklet.  Any
suggestions?

Thanks,
Bahadir

~ # ifconfig
Unable to handle kernel paging request at virtual address 81e0a400
pgd = c79bc000
[81e0a400] *pgd=00000000
Internal error: Oops: 5 [#1]
Modules linked in: simp911x
CPU: 0
PC is at __wake_up_common+0x28/0x7c
LR is at 0x81e0a400
pc : [<c002d830>]    lr : [<81e0a400>]    Not tainted
sp : c793f9b0  ip : c793f9dc  fp : c793f9d8
r10: 00000003  r9 : c793f9f4  r8 : 00000000
r7 : c793fa34  r6 : c000dd90  r5 : c0000000  r4 : 00000001
r3 : 00000000  r2 : 00000001  r1 : 00000003  r0 : c0000000
Flags: Nzcv  IRQs off  FIQs on  Mode SVC_32  Segment user
Control: 5317F  Table: 079BC000  DAC: 00000015
Process ash (pid: 242, stack limit = 0xc793e194)
Stack: (0xc793f9b0 to 0xc7940000)
f9a0:                                     80000013 00000000 c000dd90 c793fa34
f9c0: c7ced800 c793fa2c 00000000 c793f9f0 c793f9dc c002d8b0 c002d818 c793f9f4
f9e0: c000de1c c793fa08 c793f9f4 c0045bdc c002d894 c000de1c 00000000 c793fa20
fa00: c793fa0c c0045c08 c0045bb4 c000de88 00000000 c793faec c793fa24 c00ae794
fa20: c0045bf4 c793fa40 c7e01da0 00000000 00000000 c7930002 c793fa44 c003ce70
fa40: c003abe0 c7ce8500 00000000 00000000 00000001 000081ed 00000001 00000000
fa60: 00000000 00018764 00000000 00020000 000000c8 ffffffff 00000811 00000000
fa80: c7e12130 c7e12174 0002ae60 00000000 00000000 00000000 00000000 00000000
faa0: 4396f4ce 00000000 00000000 c793fad0 c793fabc c0045c08 c0045bb4 c7e12130
fac0: ffffa340 c7e1226c c7c9e5e0 c7e12364 c000de88 c793fe14 c7c9e3c0 00000000
fae0: c793fc2c c793faf0 c00aab10 c00ae558 c0050e10 c7ce8500 c793fb1c c793fb08
fb00: 00000005 0000a1ff 00000001 00000000 00000000 0000000b 00000000 00020000
fb20: 00000000 ffffffff 00000811 00000000 00000000 00000000 0002af38 00000000
fb40: 4396f4cf 00000000 4396f4cf 00000000 4396f4cf 00000000 c7ced800 00000000
fb60: c793fbcc c78266f4 c78267ec c7826830 ffffa340 c7e1226c c793fb9c c793fb88
fb80: c0080e40 c00d8068 c7e1226c c7c9e4d0 c793fcdc c793fba0 c00aabb0 c0080e28
fba0: c0045bb4 c78267ec 00000000 c793fc84 c793fbbc c00ae794 c0045bf4 c793fbf8
fbc0: c7e01da0 00000000 00000000 c0030002 60000013 ffffffff c01fa234 c793fc7c
fbe0: c793e000 c01fa260 00000001 c793fc10 c793fc2c c793fc00 c0081ee8 c00db9d4
fc00: c7c9e5e0 00000000 c7c9e5e0 c7e12364 c793fcac c793fe14 c793fc74 c793fc6c
fc20: c793fc5c c793fc30 c0076ba0 c00aa93c c03542a0 00000000 c793fe14 c7e12364
fc40: c793fcac c7c9e4d0 c793fc6c 00000000 c793fca8 c793fc60 c0077684 c0076a08
fc60: c7826828 00000000 00000001 00000000 00000001 41fd8c82 0000000b c7e1f000
fc80: 00000000 c793fe14 c7e1f000 c793fcac c7c9e4d0 c793fd1c 00000000 c793fd0c
fca0: c793fcac c0077c40 c0076d64 c7c9e3c0 c03542a0 c793fe50 c793fe2c c0068740
fcc0: 00000101 00000001 00000001 c793fe54 c7e1f000 00000000 00000002 c793fe74
fce0: c793fe54 00000001 00000000 c039b320 00000000 c793fe14 c793e000 c7e1f000
fd00: c793fd58 c793fd10 c0077920 c0077bc0 c03103e0 c7e02c80 00000101 c03542a0
fd20: c7c9e4d0 e25dbf22 0000000d c7e02c85 c793e000 c793fe14 c7e02c80 c793fd5c
fd40: 00000000 00000000 00000002 c793fdbc c793fd5c c0077c40 c0076d64 c7ca3dd8
fd60: c03542a0 c793fe50 c793fe2c c0068740 00000101 00000001 00000000 c793fe54
fd80: fffffff4 00000000 00000002 c793fe74 c793fe54 00000001 00000000 c039b320
fda0: c793e000 c793fe14 00000000 c7e02c80 c793fddc c793fdc0 c0077ee8 c0077bc0
fdc0: 00000001 c7e02c80 c793fe14 00000001 c793fdfc c793fde0 c0077ff0 c0077d24
fde0: c793e000 c7ce0700 c01f8e0c c793fe14 c793fe10 c793fe00 c0078050 c0077fb0
fe00: 00000000 c793fe74 c793fe14 c0073764 c0078044 c7c9e3c0 c03542a0 c793fe50
fe20: c793fe2c c0068740 00000101 00000001 00000001 c793fe54 c7e1f000 00000000
fe40: 00000002 c793fe74 c793fe54 00000001 00000000 c039b320 c793e000 c7ce0700
fe60: c01f8e0c fffffff8 c793ff34 c793fe78 c0093700 c0073750 c00521c4 c0051b54
fe80: 00000044 c7fffaa0 00000000 60000013 00000000 00000000 c01be05c 00000044
fea0: 000200d2 c01be05c 00000fed c7ce06e0 c7ce07a0 00000000 00000000 00000000
fec0: 00000000 ffffffff c0052340 00000003 00000000 00000000 00000000 c7e02c80
fee0: 00000000 00000000 00000000 c793ffb0 c7870400 00000000 0000002e 0000002e
ff00: 0004e420 00000002 0001fe95 c01bf208 c7870400 fffffffe c793e000 00000000
ff20: c793e000 c793ffb0 c793ff5c c793ff38 c00743bc c009339c c7870400 c7fed000
ff40: 00000000 00042a5c 00042a54 c793ffb0 c793ff84 c793ff60 c0074630 c0074330
ff60: c7fed000 00042a5c c793ffb0 c7fed000 c001aee4 4014d254 c793ffa4 c793ff88
ff80: c001f438 c0074508 00042a5c 00042a54 00042a9c 0000000b 00000000 c793ffa8
ffa0: c001ad60 c001f40c 00042a5c 00042a54 00042a9c 00042a54 00042a5c 00000000
ffc0: 00042a5c 00042a54 00042a9c 00042a9c 00042a5c 00000000 4014d254 00000000
ffe0: 400cdf0c bef77aec 0000b5e8 400cdf48 60000010 00042a9c 00002031 00002431
Backtrace:
[<c002d808>] (__wake_up_common+0x0/0x7c) from [<c002d8b0>] (__wake_up+0x2c/0x34)
[<c002d884>] (__wake_up+0x0/0x34) from [<c0045bdc>] (__wake_up_bit+0x38/0x40)
 r4 = C000DE1C
[<c0045ba4>] (__wake_up_bit+0x0/0x40) from [<c0045c08>] (wake_up_bit+0x24/0x28)
[<c0045be4>] (wake_up_bit+0x0/0x28) from [<c00ae794>]
(__nfs_revalidate_inode+0x24c/0x270)
 r5 = 00000000  r4 = C000DE88
[<c00ae548>] (__nfs_revalidate_inode+0x0/0x270) from [<c00aab10>]
(nfs_lookup_revalidate+0x1e4/0x344
)
[<c00aa92c>] (nfs_lookup_revalidate+0x0/0x344) from [<c0076ba0>]
(do_lookup+0x1a8/0x1cc)
[<c00769f8>] (do_lookup+0x0/0x1cc) from [<c0077684>]
(__link_path_walk+0x930/0xe5c)
[<c0076d54>] (__link_path_walk+0x0/0xe5c) from [<c0077c40>]
(link_path_walk+0x90/0x164)
[<c0077bb0>] (link_path_walk+0x0/0x164) from [<c0077920>]
(__link_path_walk+0xbcc/0xe5c)
 r7 = C7E1F000  r6 = C793E000  r5 = C793FE14  r4 = 00000000
[<c0076d54>] (__link_path_walk+0x0/0xe5c) from [<c0077c40>]
(link_path_walk+0x90/0x164)
[<c0077bb0>] (link_path_walk+0x0/0x164) from [<c0077ee8>]
(path_lookup+0x1d4/0x1e8)
 r7 = C7E02C80  r6 = 00000000  r5 = C793FE14  r4 = C793E000
[<c0077d14>] (path_lookup+0x0/0x1e8) from [<c0077ff0>]
(__path_lookup_intent_open+0x50/0x94)
 r7 = 00000001  r6 = C793FE14  r5 = C7E02C80  r4 = 00000001
[<c0077fa0>] (__path_lookup_intent_open+0x0/0x94) from [<c0078050>]
(path_lookup_open+0x1c/0x20)
 r7 = C793FE14  r6 = C01F8E0C  r5 = C7CE0700  r4 = C793E000
[<c0078034>] (path_lookup_open+0x0/0x20) from [<c0073764>] (open_exec+0x24/0xe0)
[<c0073740>] (open_exec+0x0/0xe0) from [<c0093700>]
(load_elf_binary+0x374/0x16a0)
 r7 = FFFFFFF8  r6 = C01F8E0C  r5 = C7CE0700  r4 = C793E000
[<c009338c>] (load_elf_binary+0x0/0x16a0) from [<c00743bc>]
(search_binary_handler+0x9c/0x1d8)
[<c0074320>] (search_binary_handler+0x0/0x1d8) from [<c0074630>]
(do_execve+0x138/0x1f0)
[<c00744f8>] (do_execve+0x0/0x1f0) from [<c001f438>] (sys_execve+0x3c/0x5c)
[<c001f3fc>] (sys_execve+0x0/0x5c) from [<c001ad60>] (ret_fast_syscall+0x0/0x2c)
 r7 = 0000000B  r6 = 00042A9C  r5 = 00042A54  r4 = 00042A5C
Code: e1a0a001 e1a04002 e1a08003 e59b9004 (e59e7000)
 Segmentation fault
~ # <1>Unable to handle kernel paging request at virtual address a0ad0574
pgd = c0004000
[a0ad0574] *pgd=00000000
Internal error: Oops: 0 [#2]
Modules linked in: simp911x
CPU: 0
PC is at 0xa0ad0574
LR is at __wake_up_common+0x50/0x7c
pc : [<a0ad0574>]    lr : [<c002d858>]    Not tainted
sp : c01b7c9c  ip : c0c881d4  fp : c01b7cc4
r10: 00000003  r9 : c01b7ce0  r8 : 00000000
r7 : 50db41db  r6 : 00d5a27d  r5 : c0000008  r4 : 00000001
r3 : c01b7ce0  r2 : 00000000  r1 : 00000003  r0 : c0c881d4
Flags: nzCv  IRQs off  FIQs on  Mode SVC_32 (T)  Segment kernel
Control: 5317F  Table: 07E18000  DAC: 00000017
Process swapper (pid: 0, stack limit = 0xc01b6194)
Stack: (0xc01b7c9c to 0xc01b8000)
7c80:                                                                20000013
7ca0: 00000001 c7cede94 00000060 c02120b8 00000068 8dca010a c01b7cdc c01b7cc8
7cc0: c002d8b0 c002d818 c01b7ce0 c7ce8f30 c01b7cf4 c01b7ce0 c0045bdc c002d894
7ce0: c7ce8f30 00000001 c01b7d0c c01b7cf8 c0045c08 c0045bb4 c7ce8ec0 00000060
7d00: c01b7d24 c01b7d10 c017edd4 c0045bf4 c7ce8ec0 00000060 c01b7d48 c01b7d28
7d20: c017f214 c017ed08 c7ce8ec0 00000060 c7ce8ec0 00000060 c7e08e40 c01b7d5c
7d40: c01b7d4c c017f32c c017f0b8 c7e06958 c01b7d78 c01b7d60 c017c0d8 c017f2dc
7d60: 00000060 c7ce8ec0 c78240e0 c01b7da4 c01b7d7c c017d7cc c017c068 c01b7da0
7d80: c01b7d8c c78240e0 c7e08e40 00000068 00000000 c78240e0 c01b7dc4 c01b7da8
7da0: c0164368 c017d68c c7e08e40 00000000 00000000 c020d8ac c01b7e30 c01b7dc8
7dc0: c0164874 c0164224 00000002 c01b7e3c c01b7ddc c001a980 c0021bf0 c78bc200
7de0: 00000007 c881e0a4 c0000007 c78bc200 ffffffff a5ca010a 00000068 c7870034
7e00: a5ca010a 8dca010a c78240e0 00000000 00000011 c020d8ac 00000040 c020c5f4
7e20: ffffb2a7 c01b7e4c c01b7e34 c01436f4 c01643f8 c78240e0 c7870020 00000008
7e40: c01b7e80 c01b7e50 c0143c00 c0143628 c7c87000 7a320ca3 0000001a c78240e0
7e60: c01ce890 c78240e0 c020c858 00000008 c7c87000 c01b7ea0 c01b7e84 c012dc90
7e80: c01437c0 c7c87000 c020c610 00000000 c01b7ed0 c01b7ecc c01b7ea4 c012dd94
7ea0: c012dad8 c020c6cc c020c610 c020c5f4 ffffb2a7 c01bd6ac 41069263 c01f80e4
7ec0: c01b7ef4 c01b7ed0 c012df04 c012dcf8 0000012c 00000001 c01fe760 c01b6000
7ee0: 0000000a c01fe720 c01b7f18 c01b7ef8 c0035a48 c012de84 ffffffff f1140000
7f00: 00000001 c02120cc c01b7f5c c01b7f28 c01b7f1c c0035be0 c00359fc c01b7f58
7f20: c01b7f2c c001bd94 c0035bac c01b7f68 c01b7f3c ffffffff f1140000 00000001
7f40: c02120cc 00017d8c 00017d5c c01b7fb0 c01b7f5c c001a9c4 c001bc84 00000000
7f60: 0005317f 0005217f 60000013 c001c58c c01b6000 c01b9c70 c02120cc 00017d8c
7f80: 41069263 00017d5c c01b7fb0 c01b7fb4 c01b7fa4 c001c5d0 c001c5dc 60000013
7fa0: ffffffff c01b7fc8 c01b7fb4 c001c628 c001c59c c0200f6c c01f8e5c c01b7fd8
7fc0: c01b7fcc c001a024 c001c5f4 c01b7ff4 c01b7fdc c00087bc c001a010 c00082e4
7fe0: c01f8ec8 00053175 00000000 c01b7ff8 00008094 c0008698 00000000 00000000
Backtrace:
[<c002d808>] (__wake_up_common+0x0/0x7c) from [<c002d8b0>] (__wake_up+0x2c/0x34)
[<c002d884>] (__wake_up+0x0/0x34) from [<c0045bdc>] (__wake_up_bit+0x38/0x40)
 r4 = C7CE8F30
[<c0045ba4>] (__wake_up_bit+0x0/0x40) from [<c0045c08>] (wake_up_bit+0x24/0x28)
[<c0045be4>] (wake_up_bit+0x0/0x28) from [<c017edd4>]
(rpc_make_runnable+0xdc/0xf0)
 r5 = 00000060  r4 = C7CE8EC0
[<c017ecf8>] (rpc_make_runnable+0x0/0xf0) from [<c017f214>]
(__rpc_do_wake_up_task+0x16c/0x1b8)
 r5 = 00000060  r4 = C7CE8EC0
[<c017f0a8>] (__rpc_do_wake_up_task+0x0/0x1b8) from [<c017f32c>]
(rpc_wake_up_task+0x60/0x84)
 r8 = C7E08E40  r7 = 00000060  r6 = C7CE8EC0  r5 = 00000060
 r4 = C7CE8EC0
[<c017f2cc>] (rpc_wake_up_task+0x0/0x84) from [<c017c0d8>]
(xprt_complete_rqst+0x80/0x8c)
 r4 = C7E06958
[<c017c058>] (xprt_complete_rqst+0x0/0x8c) from [<c017d7cc>]
(xs_udp_data_ready+0x150/0x174)
 r6 = C78240E0  r5 = C7CE8EC0  r4 = 00000060
[<c017d67c>] (xs_udp_data_ready+0x0/0x174) from [<c0164368>]
(udp_queue_rcv_skb+0x154/0x1d4)
 r8 = C78240E0  r7 = 00000000  r6 = 00000068  r5 = C7E08E40
 r4 = C78240E0
[<c0164214>] (udp_queue_rcv_skb+0x0/0x1d4) from [<c0164874>]
(udp_rcv+0x48c/0x690)
 r7 = C020D8AC  r6 = 00000000  r5 = 00000000  r4 = C7E08E40
[<c01643e8>] (udp_rcv+0x0/0x690) from [<c01436f4>] (ip_local_deliver+0xdc/0x198)
[<c0143618>] (ip_local_deliver+0x0/0x198) from [<c0143c00>] (ip_rcv+0x450/0x504)
 r6 = 00000008  r5 = C7870020  r4 = C78240E0
[<c01437b0>] (ip_rcv+0x0/0x504) from [<c012dc90>]
(netif_receive_skb+0x1c8/0x220)
 r7 = C7C87000  r6 = 00000008  r5 = C020C858  r4 = C78240E0
[<c012dac8>] (netif_receive_skb+0x0/0x220) from [<c012dd94>]
(process_backlog+0xac/0x18c)
 r7 = C01B7ED0  r6 = 00000000  r5 = C020C610  r4 = C7C87000
[<c012dce8>] (process_backlog+0x0/0x18c) from [<c012df04>]
(net_rx_action+0x90/0x170)
[<c012de74>] (net_rx_action+0x0/0x170) from [<c0035a48>]
(__do_softirq+0x5c/0xd4)
 r8 = C01FE720  r7 = 0000000A  r6 = C01B6000  r5 = C01FE760
 r4 = 00000001
[<c00359ec>] (__do_softirq+0x0/0xd4) from [<c0035be0>] (irq_exit+0x44/0x4c)
 r8 = C01B7F5C  r7 = C02120CC  r6 = 00000001  r5 = F1140000
 r4 = FFFFFFFF
[<c0035b9c>] (irq_exit+0x0/0x4c) from [<c001bd94>] (asm_do_IRQ+0x120/0x13c)
[<c001bc74>] (asm_do_IRQ+0x0/0x13c) from [<c001a9c4>] (__irq_svc+0x24/0x80)
[<c001c58c>] (default_idle+0x0/0x58) from [<c001c628>] (cpu_idle+0x44/0x60)
[<c001c5e4>] (cpu_idle+0x0/0x60) from [<c001a024>] (__init_end+0x24/0x2c)
 r5 = C01F8E5C  r4 = C0200F6C
[<c001a000>] (__init_end+0x0/0x2c) from [<c00087bc>] (start_kernel+0x134/0x16c)
[<c0008688>] (start_kernel+0x0/0x16c) from [<00008094>] (0x8094)
Code: bad PC value.
 <0>Kernel panic - not syncing: Aiee, killing interrupt handler!

--
Kernelnewbies: Help each other learn about the Linux kernel.
Archive:       http://mail.nl.linux.org/kernelnewbies/
FAQ:           http://kernelnewbies.org/faq/



[Index of Archives]     [Newbies FAQ]     [Linux Kernel Mentors]     [Linux Kernel Development]     [IETF Annouce]     [Git]     [Networking]     [Security]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux SCSI]     [Linux ACPI]
  Powered by Linux