Oops when insmod(8)ing ppa.o in 2.0.33

James H Cloos Jr (cloos@io.com)
26 Mar 1998 03:16:29 -0600


I just upgraded my laptop to 2.0.33 and tried the PPA driver for the
first time. I configured it -- and all of the SCSI system -- as a
module.

I have no problems using either of my SCSI PCMCIA cards (a ZIP card --
aha152x0 -- and a New Media card -- SYM53C500), but every time I try
to insmod ppa.o, it complains that it cannot find any devices and then
I get a null pointer dereference in scsi_mod.o's scsi_unregister_host,
at the movzwl:

000040e0 <scsi_unregister_host+300> movl %edx,%ecx
000040e2 <scsi_unregister_host+302> movl (%edx),%edx
000040e4 <scsi_unregister_host+304> testl %edx,%edx
000040e6 <scsi_unregister_host+306> jne 000040bc <scsi_unregister_host+2dc>
000040e8 <scsi_unregister_host+308> movl 0x8(%ebp),%eax
000040eb <scsi_unregister_host+30b> movl %eax,%ecx

000040ed <scsi_unregister_host+30d> movzwl (%ecx),%edx <== *HERE*

000040f0 <scsi_unregister_host+310> cmpl $0x125,%edx
000040f6 <scsi_unregister_host+316> jg 00004130 <scsi_unregister_host+350>
000040f8 <scsi_unregister_host+318> pushl %edx
000040f9 <scsi_unregister_host+319> pushl $0x0
000040fe <scsi_unregister_host+31e> call 000040ff <scsi_unregister_host+31f>
00004103 <scsi_unregister_host+323> addl $0x8,%esp
00004106 <scsi_unregister_host+326> jmp 00004158 <scsi_unregister_host+378>
00004108 <scsi_unregister_host+328> nop

Once insmod(8) crashes lsmod(8) reports:

ppa 1 (uninitialized)

any any attempts to rmmod(8) it fail with an EBUSY. Additional
attempts to insmod(8) or modprobe(8) it fail w/ `A module named ppa
already exists'.

Across reboots the dereference always happens at the same address.
Also, the fatal call the scsi_unregister_host() is made from w/in
scsi_register_host(), so the dereference seems to be a bug (trusting
that the args are valid) in scsi.c that is triggered by one in ppa.c,
since the deref doesn't occur when the PCMCIA cards are inserted sans
devices.

I couldn't find any posts on point, so must ask whether there are any
known problems in 2.0.33's PPA driver when modularized? If it is not
a known problem, I can spend the time to put together a more detailed
bug report. If it is a well known problem, though, I have other ways
to spend the programming/debugging time....

TIA,

-JimC

-- 
cloos at io dot com

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