Hi,

If someone writes to a scsi adapter's /proc entry and that scsi adapter
has not defined a proc_info() entry point, proc_scsi_write() will leak a
page.  Furthermore, no sense asking for a page if said proc_info() entry
point does not exist.  This patch fixes the above problem and patches
cleanly against 2.4.4

--- drivers/scsi/scsi_proc.c.orig       Fri Feb  9 14:30:23 2001
+++ drivers/scsi/scsi_proc.c    Thu May 24 22:26:59 2001
@@ -99,6 +99,9 @@
        char * page;
        char *start;
     
+       if (hpnt->hostt->proc_info == NULL)
+               return -ENOSYS;
+
        if (count > PROC_BLOCK_SIZE)
                return -EOVERFLOW;
 
@@ -106,12 +109,10 @@
                return -ENOMEM;
        copy_from_user(page, buf, count);
 
-       if (hpnt->hostt->proc_info == NULL)
-               ret = -ENOSYS;
-       else
-               ret = hpnt->hostt->proc_info(page, &start, 0, count,
-                                               hpnt->host_no, 1);
+        ret = hpnt->hostt->proc_info(page, &start, 0, count,
+                                     hpnt->host_no, 1);
        free_page((ulong) page);
+
        return(ret);
 }
 

-Michael F. Brown, UMass Lowell Computer Science

email:  [EMAIL PROTECTED]

"In theory, there is no difference between theory and practice,
 but in practice, there is."       - Jan L.A. van de Snepscheut

-
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to [EMAIL PROTECTED]

Reply via email to