Re: [PATCH 2.6.10-rc1 5/5] driver-model: device_add() error path reference counting fix

From: Tejun Heo
Date: Thu Nov 04 2004 - 02:25:29 EST


df_05_device_add_ref_fix.patch

In device_add(), @dev wan't put'd properly when it has zero length
bus_id (error path). Fixed.


Signed-off-by: Tejun Heo <tj@xxxxxxxxxxx>


Index: linux-export/drivers/base/core.c
===================================================================
--- linux-export.orig/drivers/base/core.c 2004-11-04 10:25:58.000000000 +0900
+++ linux-export/drivers/base/core.c 2004-11-04 11:04:14.000000000 +0900
@@ -209,12 +209,13 @@ void device_initialize(struct device *de
*/
int device_add(struct device *dev)
{
- struct device * parent;
+ struct device * parent = NULL;
int error;

+ error = -EINVAL;
dev = get_device(dev);
if (!dev || !strlen(dev->bus_id))
- return -EINVAL;
+ goto Error;

parent = get_device(dev->parent);

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