On Wed, 10 Jan 2001, Thiago Rondon wrote:

> Check kmalloc().

In case where kmalloc() failed we shouldn't increase driver->use_count,
because we wouldn't be able to decrease it at unbind_request(), since we
got no matching socket_bind_t in the list.

Prehaps the increase of the use count should be moved after the 
check. Like:

--- linux/drivers/pcmcia/ds.c   Sat Sep  2 10:13:49 2000
+++ linux/drivers/pcmcia/ds.c   Wed Jan 10 23:23:10 2001
@@ -412,8 +412,11 @@
     }
 
     /* Add binding to list for this socket */
-    driver->use_count++;
     b = kmalloc(sizeof(socket_bind_t), GFP_KERNEL);
+    if (!b)
+       return -ENOMEM;
+
+    driver->use_count++;
     b->driver = driver;
     b->function = bind_info->function;
     b->instance = NULL;

 

> -Thiago Rondon
> 
> --- linux-2.4.0-ac5/drivers/pcmcia/ds.c       Sat Sep  2 04:13:49 2000
> +++ linux-2.4.0-ac5.maluco/drivers/pcmcia/ds.c        Wed Jan 10 16:20:53 2001
> @@ -414,6 +414,8 @@
>      /* Add binding to list for this socket */
>      driver->use_count++;
>      b = kmalloc(sizeof(socket_bind_t), GFP_KERNEL);
> +    if (!b) 
> +      return -ENOMEM;    
>      b->driver = driver;
>      b->function = bind_info->function;
>      b->instance = NULL;

-- 
Dan Aloni 
[EMAIL PROTECTED]

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
Please read the FAQ at http://www.tux.org/lkml/

Reply via email to