cpia_usb caught by the slab-poisoning (2.4.0-test1-ac7)

From: Arjan van de Ven (arjan@fenrus.demon.nl)
Date: Fri Jun 02 2000 - 14:21:12 EST


Hi,

In 2.4.0-test1-ac7, the cpia_usb driver gets caught here by the
slab-poison logic. However, I have not been able to get a decodable oops.
I tried the patch below, which effectively makes several pointers NULL
just after a kfree. I was hoping I would catch the actual problem with a
decodable NULL oops with this. Unfortionatly, with this patch, the problem
doesn't happen anymore. Now I wonder what to do....

Greetings,
   Arjan van de Ven

--- cpia_usb.c~ Fri Mar 31 04:00:01 2000
+++ cpia_usb.c Fri Jun 2 19:08:53 2000
@@ -260,8 +260,10 @@
 
 error_all:
         kfree (ucpia->sbuf[1].data);
+ ucpia->sbuf[1].data = NULL;
 error_0:
         kfree (ucpia->sbuf[0].data);
+ ucpia->sbuf[0].data = NULL;
         
         return retval;
 }
@@ -436,8 +438,9 @@
 
         cpia_usb_free_resources(ucpia, 1);
 
- if (!ucpia->present)
+ if (!ucpia->present)
                 kfree(ucpia);
+
 
         return 0;
 }
@@ -590,8 +593,10 @@
                 ucpia->buffers[0] = NULL;
         }
 
- if (!ucpia->open)
+ if (!ucpia->open) {
                 kfree(ucpia);
+ cam->lowlevel_data = NULL;
+ }
 }
 
 int usb_cpia_init(void)

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



This archive was generated by hypermail 2b29 : Wed Jun 07 2000 - 21:00:15 EST