[PATCH] fix bad locking in drivers/base/driver.c

From: Jirka Kosina
Date: Mon Jan 24 2005 - 13:29:08 EST


Hi,

there has been (for quite some time) a bug in function driver_unregister()
- the lock/unlock sequence is protecting nothing and the actual
bus_remove_driver() is called outside critical section.

Please apply.

--- linux-2.6.11-rc2/drivers/base/driver.c.old 2005-01-22 02:48:48.000000000 +0100
+++ linux-2.6.11-rc2/drivers/base/driver.c 2005-01-24 19:19:33.243501684 +0100
@@ -106,8 +106,8 @@

void driver_unregister(struct device_driver * drv)
{
- bus_remove_driver(drv);
down(&drv->unload_sem);
+ bus_remove_driver(drv);
up(&drv->unload_sem);
}

--
JiKos.
-
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/