Driver core: change add_uevent_var to use a struct
authorKay Sievers <kay.sievers@vrfy.org>
Tue, 14 Aug 2007 13:15:12 +0000 (15:15 +0200)
committerGreg Kroah-Hartman <gregkh@suse.de>
Fri, 12 Oct 2007 21:51:01 +0000 (14:51 -0700)
commit7eff2e7a8b65c25920207324e56611150eb1cd9a
tree02a0eeba9d25d996233e30c18f258dfae0ae2139
parent8380770c842faef3001e44662953d64ad9a93663
Driver core: change add_uevent_var to use a struct

This changes the uevent buffer functions to use a struct instead of a
long list of parameters. It does no longer require the caller to do the
proper buffer termination and size accounting, which is currently wrong
in some places. It fixes a known bug where parts of the uevent
environment are overwritten because of wrong index calculations.

Many thanks to Mathieu Desnoyers for finding bugs and improving the
error handling.

Signed-off-by: Kay Sievers <kay.sievers@vrfy.org>
Cc: Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca>
Cc: Cornelia Huck <cornelia.huck@de.ibm.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
47 files changed:
arch/ia64/sn/kernel/tiocx.c
arch/powerpc/kernel/of_device.c
arch/powerpc/kernel/vio.c
arch/powerpc/platforms/ps3/system-bus.c
block/genhd.c
drivers/acpi/scan.c
drivers/amba/bus.c
drivers/base/class.c
drivers/base/core.c
drivers/base/firmware_class.c
drivers/base/memory.c
drivers/base/platform.c
drivers/eisa/eisa-bus.c
drivers/firewire/fw-device.c
drivers/firmware/dmi-id.c
drivers/i2c/i2c-core.c
drivers/ide/ide.c
drivers/ieee1394/nodemgr.c
drivers/infiniband/core/sysfs.c
drivers/input/input.c
drivers/input/serio/serio.c
drivers/media/video/pvrusb2/pvrusb2-sysfs.c
drivers/misc/tifm_core.c
drivers/mmc/core/bus.c
drivers/pci/hotplug.c
drivers/pci/pci-driver.c
drivers/pci/pci.h
drivers/pcmcia/cs.c
drivers/pcmcia/ds.c
drivers/power/power_supply.h
drivers/power/power_supply_sysfs.c
drivers/s390/cio/ccwgroup.c
drivers/s390/cio/device.c
drivers/s390/crypto/ap_bus.c
drivers/scsi/scsi_sysfs.c
drivers/spi/spi.c
drivers/usb/core/driver.c
drivers/usb/core/message.c
drivers/w1/w1.c
include/asm-powerpc/of_device.h
include/linux/device.h
include/linux/kobject.h
lib/kobject_uevent.c
net/atm/atm_sysfs.c
net/core/net-sysfs.c
net/wireless/sysfs.c
sound/aoa/soundbus/core.c