All of lore.kernel.org
 help / color / mirror / Atom feed
* [Kernel-janitors] [PATCH] missing audit in bus_register()
@ 2004-04-25 21:51 Daniele Bellucci
  2004-04-26 19:45 ` Greg KH
                   ` (2 more replies)
  0 siblings, 3 replies; 4+ messages in thread
From: Daniele Bellucci @ 2004-04-25 21:51 UTC (permalink / raw)
  To: kernel-janitors

[-- Attachment #1: Type: text/plain, Size: 1173 bytes --]



hi all, 
this patch add some missing audits in bus_register()

Please Apply ;)



--- drivers/base/bus.c.old	2004-04-26 23:25:32.030676016 +0200
+++ drivers/base/bus.c	2004-04-26 23:28:22.196806832 +0200
@@ -555,18 +555,31 @@ struct bus_type * find_bus(char * name)
  */
 int bus_register(struct bus_type * bus)
 {
+	int retval;
+
 	kobject_set_name(&bus->subsys.kset.kobj,bus->name);
 	subsys_set_kset(bus,bus_subsys);
-	subsystem_register(&bus->subsys);
+	retval = subsystem_register(&bus->subsys);
+	if (retval)
+		return retval;
 
 	kobject_set_name(&bus->devices.kobj, "devices");
 	bus->devices.subsys = &bus->subsys;
-	kset_register(&bus->devices);
+	retval = kset_register(&bus->devices);
+	if (retval) {
+		subsystem_unregister(&bus->subsys);
+		return retval;
+	}
 
 	kobject_set_name(&bus->drivers.kobj, "drivers");
 	bus->drivers.subsys = &bus->subsys;
 	bus->drivers.ktype = &ktype_driver;
-	kset_register(&bus->drivers);
+	retval = kset_register(&bus->drivers);
+	if (retval) {
+		kset_unregister(&bus->devices);
+		subsystem_unregister(&bus->subsys);
+		return retval;
+	}
 
 	pr_debug("bus type '%s' registered\n",bus->name);
 	return 0;


-- 

[Daniele]

[-- Attachment #2: Type: text/plain, Size: 167 bytes --]

_______________________________________________
Kernel-janitors mailing list
Kernel-janitors@lists.osdl.org
http://lists.osdl.org/mailman/listinfo/kernel-janitors

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [Kernel-janitors] [PATCH] missing audit in bus_register()
  2004-04-25 21:51 [Kernel-janitors] [PATCH] missing audit in bus_register() Daniele Bellucci
@ 2004-04-26 19:45 ` Greg KH
  2004-04-27 18:57 ` Daniele Bellucci
  2004-05-05 21:41 ` Greg KH
  2 siblings, 0 replies; 4+ messages in thread
From: Greg KH @ 2004-04-26 19:45 UTC (permalink / raw)
  To: kernel-janitors

[-- Attachment #1: Type: text/plain, Size: 292 bytes --]

On Sun, Apr 25, 2004 at 11:51:41PM +0200, Daniele Bellucci wrote:
> 
> 
> hi all, 
> this patch add some missing audits in bus_register()
> 
> Please Apply ;)

Hm, no.  How about using a goto on the error path to clean up properly
instead of the different return sections.

thanks,

greg k-h

[-- Attachment #2: Type: text/plain, Size: 167 bytes --]

_______________________________________________
Kernel-janitors mailing list
Kernel-janitors@lists.osdl.org
http://lists.osdl.org/mailman/listinfo/kernel-janitors

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [Kernel-janitors] [PATCH] missing audit in bus_register()
  2004-04-25 21:51 [Kernel-janitors] [PATCH] missing audit in bus_register() Daniele Bellucci
  2004-04-26 19:45 ` Greg KH
@ 2004-04-27 18:57 ` Daniele Bellucci
  2004-05-05 21:41 ` Greg KH
  2 siblings, 0 replies; 4+ messages in thread
From: Daniele Bellucci @ 2004-04-27 18:57 UTC (permalink / raw)
  To: kernel-janitors

[-- Attachment #1: Type: text/plain, Size: 1289 bytes --]


|How about using a goto on the error path to clean up properly
|instead of the different return sections.

.. here goes Take 2:


--- linux-2.6.6-rc2-bk3/drivers/base/bus.c.old	2004-04-28 20:37:42.885650656 +0200
+++ linux-2.6.6-rc2-bk3/drivers/base/bus.c	2004-04-28 20:45:18.675360088 +0200
@@ -555,21 +555,36 @@ struct bus_type * find_bus(char * name)
  */
 int bus_register(struct bus_type * bus)
 {
+	int retval;
+
 	kobject_set_name(&bus->subsys.kset.kobj,bus->name);
 	subsys_set_kset(bus,bus_subsys);
-	subsystem_register(&bus->subsys);
+	retval = subsystem_register(&bus->subsys);
+	if (retval) 
+		goto out;
 
 	kobject_set_name(&bus->devices.kobj, "devices");
 	bus->devices.subsys = &bus->subsys;
-	kset_register(&bus->devices);
+	retval = kset_register(&bus->devices);
+	if (retval)
+		goto bus_devices_fail;
 
 	kobject_set_name(&bus->drivers.kobj, "drivers");
 	bus->drivers.subsys = &bus->subsys;
 	bus->drivers.ktype = &ktype_driver;
-	kset_register(&bus->drivers);
+	retval = kset_register(&bus->drivers);
+	if (retval)
+		goto bus_drivers_fail;
 
 	pr_debug("bus type '%s' registered\n",bus->name);
 	return 0;
+
+bus_drivers_fail:
+	kset_unregister(&bus->devices);
+bus_devices_fail:
+	subsystem_unregister(&bus->subsys);
+out:
+	return retval;
 }
 
 


-- 

[Daniele]

[-- Attachment #2: Type: text/plain, Size: 167 bytes --]

_______________________________________________
Kernel-janitors mailing list
Kernel-janitors@lists.osdl.org
http://lists.osdl.org/mailman/listinfo/kernel-janitors

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [Kernel-janitors] [PATCH] missing audit in bus_register()
  2004-04-25 21:51 [Kernel-janitors] [PATCH] missing audit in bus_register() Daniele Bellucci
  2004-04-26 19:45 ` Greg KH
  2004-04-27 18:57 ` Daniele Bellucci
@ 2004-05-05 21:41 ` Greg KH
  2 siblings, 0 replies; 4+ messages in thread
From: Greg KH @ 2004-05-05 21:41 UTC (permalink / raw)
  To: kernel-janitors

[-- Attachment #1: Type: text/plain, Size: 245 bytes --]

On Tue, Apr 27, 2004 at 08:57:06PM +0200, Daniele Bellucci wrote:
> 
> |How about using a goto on the error path to clean up properly
> |instead of the different return sections.
> 
> .. here goes Take 2:

Looks good, applied, thanks.

greg k-h

[-- Attachment #2: Type: text/plain, Size: 167 bytes --]

_______________________________________________
Kernel-janitors mailing list
Kernel-janitors@lists.osdl.org
http://lists.osdl.org/mailman/listinfo/kernel-janitors

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2004-05-05 21:41 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2004-04-25 21:51 [Kernel-janitors] [PATCH] missing audit in bus_register() Daniele Bellucci
2004-04-26 19:45 ` Greg KH
2004-04-27 18:57 ` Daniele Bellucci
2004-05-05 21:41 ` Greg KH

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.