Hi,
My system panics with the following message, when I do insmod of a
driver.
kernel BUG at slab.c:1073!
Unable to handle kernel paging request at virtual address 00000000, epc ==
80131490, ra == 80131490
Oops in fault.c:do_page_fault, line 172:
$0 : 00000000 10009f00 0000001b 0000000a
$4 : 80282ab0 00000001 00000001 00000000
$8 : 802a2f42 b0060170 0000001b 0000000d
$12: 00000000 0000001b 10009f00 0000000a
$16: 00000000 000000f0 8fe40600 000000f0
$20: 00000001 1002d948 00000060 8fdd4ec0
$24: 802a2f27 ffffffff
$28: 8f3b6000 8f3b7df8 00000008 80131490
epc : 0000000080131490
Status : 10009f03
Cause : 1080000c
BadAddr: 000000008fdd4ec0Process insmod (pid: 67, stackpage=8f3b6000)
Stack: 8022a860 8022a878 00000431 8fe40600 8fe40600 000000f0 ffffffff ffffffea
8f1b7000 80131988 0000003e 0000003c 00000059 80116110 00000000 00000000
00000000 c0021538 10009f01 ffffffea 00000008 c001f000 10033338 ffffffea
00000008 c001f000 10033338 ffffffea c0021b68 c0021b58 c00244b4 c00244a8
00000043 00000002 00000000 c001f000 80117678 80116f98 80101c00 00030002
80135e80 ...
Call Trace: [<8022a860>] [<8022a878>] [<80131988>] [<80116110>] [<c0021538>]
[<c001f000>]
[<c001f000>] [<c0021b68>] [<c0021b58>] [<c00244b4>] [<c00244a8>] [<c001f000>]
[<80117678>] [<80116f98>] [<80101c00>] [<80135e80>] [<c0014000>] [<c001f060>]
[<8010d924>] [<c001f060>]
Code: 24a5a878 0c0457ca 24060431 <ae000000> 24020020 126200c4 24140001
40056000 34a10001
Kernel panic: Aiee, killing interrupt handler!
In interrupt handler - not syncing
Rebooting in 5 seconds..swarm_linux_exit called...passing control back to CFE
slab.c : line 1072-1073 is
if (in_interrupt() && (flags & SLAB_LEVEL_MASK) != SLAB_ATOMIC)
BUG();
The driver being loaded is a small proprietary driver. The init routine of
the driver is doing kmalloc() with GFP_KERNEL as the second argument. I know
that I can fix my driver to use GFP_ATOMIC if running in interrupt context.
My question is why is the "insmod" command running in interrupt context?
System Information:
================
# uname -a
Linux system1 2.4.9sb20011031 #1 Tue Mar 5 10:58:57 PST 2002 mips unknown
# cat cpuinfo
cpu : MIPS
processor : 0
cpu model : SiByte SB1 V0.1
BogoMIPS : 266.24
system type : SiByte SWARM
byteorder : big endian
unaligned accesses : 0
wait instruction : no
microsecond timers : yes
extra interrupt vector : yes
hardware watchpoint : no
VCED exceptions : not available
VCEI exceptions : not available
# cat version
Linux version 2.4.9sb20011031 (gcc version 3.0.1 with SiByte modifications) #1
Tue Mar 5 10:58:57 PST 2002
Thanks,
Krishna Kondaka
Sanera Systems, Inc.
|