Re: [Bug 492] New: Zip drive parallel-port driver causes segfault in 2.5.x

From: Andrew Morton (akpm@digeo.com)
Date: Sun Mar 23 2003 - 19:15:48 EST


"Martin J. Bligh" <mbligh@aracnet.com> wrote:
>
> Problem Description: ppa module doesn't work properly and, if compiled into
> kernel it causes a kernel panic at boot.
> Steps to reproduce:compile ppa.ko as a module and modprobe ppa:

Null-pointer deref. This fixes it for me, but I'm not sure why the detect
routing is returning with the host lock held. Maybe scsi detect routines are
supposed to do that?

diff -puN drivers/scsi/ppa.c~ppa-null-pointer-fix drivers/scsi/ppa.c
--- 25/drivers/scsi/ppa.c~ppa-null-pointer-fix 2003-03-23 16:08:37.000000000 -0800
+++ 25-akpm/drivers/scsi/ppa.c 2003-03-23 16:09:14.000000000 -0800
@@ -219,13 +219,15 @@ int ppa_detect(Scsi_Host_Template * host
             printk(" supported by the imm (ZIP Plus) driver. If the\n");
             printk(" cable is marked with \"AutoDetect\", this is what has\n");
             printk(" happened.\n");
- spin_lock_irq(hreg->host_lock);
+ if (hreg) /* This is silly */
+ spin_lock_irq(hreg->host_lock);
             return 0;
         }
         try_again = 1;
         goto retry_entry;
     } else {
- spin_lock_irq(hreg->host_lock);
+ if (hreg) /* And this should be unnecessary */
+ spin_lock_irq(hreg->host_lock);
         return 1; /* return number of hosts detected */
     }
 }

_

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Sun Mar 23 2003 - 22:00:46 EST