OpenCloudOS-Kernel/drivers/base
James Bottomley 2f3edc6936 [SCSI] transport_class: BUG if we can't release the attribute container
Every current transport class calls transport_container_release but
ignores the return value.  This is catastrophic if it returns an error
because the containers are part of a global list and the next action of
almost every transport class is to free the memory used by the
container.

Fix this by making transport_container_release a void, but making it BUG
if attribute_container_release returns an error ... this catches the
root cause of a system panic much earlier.  If we don't do this, we get
an eventual BUG when the attribute container list notices the corruption
caused by the freed memory it's still referencing.

Also made attribute_container_release __must_check as a reminder.

Cc: Greg KH <greg@kroah.com>
Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
2008-04-07 12:19:10 -05:00
..
power PM: fix new mutex-locking bug in the PM core 2008-03-04 14:47:05 -08:00
Kconfig Driver core: add CONFIG_UEVENT_HELPER_PATH 2007-10-12 14:51:01 -07:00
Makefile Merge branch 'dmapool' of git://git.kernel.org/pub/scm/linux/kernel/git/willy/misc 2008-02-05 19:05:48 -08:00
attribute_container.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6 2008-01-25 17:19:08 -08:00
base.h Driver core: coding style fixes 2008-01-24 22:50:12 -08:00
bus.c Driver core: Fix error handling in bus_add_driver(). 2008-02-21 15:27:07 -08:00
class.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-2.6 2008-01-31 09:31:37 +11:00
core.c driver core: debug for bad dev_attr_show() return value. 2008-03-24 22:33:49 -07:00
cpu.c register_cpu __devinit or __cpuinit 2008-02-06 10:41:01 -08:00
dd.c Driver core: coding style fixes 2008-01-24 22:50:12 -08:00
devres.c Driver core: fix devres_release_all() return value 2007-07-11 16:09:02 -07:00
dma-mapping.c devres: device resource management 2007-02-09 17:39:36 -05:00
driver.c driver core: fix small mem leak in driver_add_kobj() 2008-03-28 14:45:23 -07:00
firmware.c firmware: change firmware_kset to firmware_kobj 2008-01-24 20:40:23 -08:00
firmware_class.c Driver core: Revert "Fix Firmware class name collision" 2008-02-07 11:31:46 -08:00
hypervisor.c kobject: convert /sys/hypervisor to use kobject_create 2008-01-24 20:40:15 -08:00
init.c Driver core: coding style fixes 2008-01-24 22:50:12 -08:00
isa.c [PATCH] Driver model: add ISA bus 2006-06-21 12:40:49 -07:00
map.c [PATCH] kobj_map semaphore to mutex conversion 2006-03-20 13:42:58 -08:00
memory.c Driver core: change sysdev classes to use dynamic kobject names 2008-01-24 20:40:40 -08:00
module.c Driver core: move the static kobject out of struct driver 2008-01-24 20:40:35 -08:00
node.c Driver core: change sysdev classes to use dynamic kobject names 2008-01-24 20:40:40 -08:00
platform.c drivers: fix dma_get_required_mask 2008-03-10 16:33:33 -07:00
sys.c sysdev: fix problem with sysdev_class being re-registered 2008-03-10 16:33:32 -07:00
topology.c cpu hotplug: topology: remove topology_dev_map 2007-10-18 14:37:21 -07:00
transport_class.c [SCSI] transport_class: BUG if we can't release the attribute container 2008-04-07 12:19:10 -05:00