linux/drivers
Jesper Juhl d478376cb0 driver core: fix small mem leak in driver_add_kobj()
The Coverity checker spotted that we leak the storage allocated to 'name' in
int driver_add_kobj().  The leak looks legit to me - this is the code :

int driver_add_kobj(struct device_driver *drv, struct kobject *kobj,
                    const char *fmt, ...)
{
        va_list args;
        char *name;
        int ret;

        va_start(args, fmt);
        name = kvasprintf(GFP_KERNEL, fmt, args);
        ^^^^^^^^ This dynamically allocates space...

        va_end(args);

        if (!name)
                return -ENOMEM;

        return kobject_add(kobj, &drv->p->kobj, "%s", name);
	^^^^^^^^ This neglects to free the space allocated
}

Inside kobject_add() a copy of 'name' will be made and used.  As far as I can
see, Coverity is correct in flagging this as a leak, but I'd like some
configmation before the patch is applied.

This should fix it.

Signed-off-by: Jesper Juhl <jesper.juhl@gmail.com>
Cc: Greg KH <greg@kroah.com>
Cc: Kay Sievers <kay.sievers@vrfy.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2008-03-28 14:45:23 -07:00
..
acorn/char
acpi revert "ACPI: drivers/acpi: elide a non-zero test on a result that is never 0" 2008-03-28 10:16:53 -07:00
amba
ata [libata] ahci: SB600 workaround is suspect... play it safe for now 2008-03-24 22:40:40 -04:00
atm fore2000 - fix misannotations 2008-03-17 07:56:31 -04:00
auxdisplay
base driver core: fix small mem leak in driver_add_kobj() 2008-03-28 14:45:23 -07:00
block Merge branch 'for-linus' of git://git.kernel.dk/linux-2.6-block 2008-03-18 07:43:14 -07:00
bluetooth Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 2008-03-12 13:08:09 -07:00
cdrom
char drivers/char/drm/ati_pcigart.c: fix printk warning 2008-03-28 14:45:21 -07:00
clocksource
connector connector: convert to single-threaded workqueue 2008-03-23 21:51:12 -07:00
cpufreq
cpuidle cpuidle: fix 100% C0 statistics regression 2008-03-26 00:58:19 -04:00
crypto
dca
dio
dma fsldma: Fix the DMA halt when using DMA_INTERRUPT async_tx transfer. 2008-03-18 17:00:59 -07:00
edac
eisa
firewire firewire: fix panic in handle_at_packet 2008-03-20 18:13:05 +01:00
firmware
gpio
hid HID: update key codes for Apple aluminium 2008-03-18 11:20:33 +01:00
hwmon ibmpex: report temperatures in mC, not C 2008-03-19 18:53:36 -07:00
i2c i2c: Fix docbook problem 2008-03-23 20:28:20 +01:00
ide Revert "ide-tape: schedule driver for removal after 6 months" 2008-03-22 16:44:27 +01:00
ieee1394 ieee1394: sbp2: fix for SYM13FW500 bridge (Datafab disk) 2008-03-14 00:56:59 +01:00
infiniband RDMA/cxgb3: Program hardware IRD with correct value 2008-03-28 10:45:32 -07:00
input ixp4xx-beeper: add MODULE_ALIAS 2008-03-28 14:45:22 -07:00
isdn Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 2008-03-12 13:08:09 -07:00
leds
lguest lguest: comment documentation update. 2008-03-28 11:05:54 +11:00
macintosh [POWERPC] Fix build of modular drivers/macintosh/apm_emu.c 2008-03-13 10:09:27 +11:00
mca
md dm io: write error bits form long not int 2008-03-28 14:45:23 -07:00
media V4L/DVB (7367): bug #10211: Fix depencencies for cx2341x 2008-03-20 12:39:02 -03:00
memstick memstick: suppress uninitialized-var warning 2008-03-28 14:45:23 -07:00
message [SCSI] mpt fusion: Power Management fixes for MPT SAS PCI-E controllers 2008-03-18 15:13:40 -05:00
mfd
misc Merge branches 'release', 'ejd', 'sony' and 'wmi' into release 2008-03-13 01:59:52 -04:00
mmc mmc: use sysfs groups to handle conditional attributes 2008-03-22 17:02:20 -07:00
mtd mtd: maps/physmap: fix oops in suspend/resume/shutdown ops 2008-03-28 14:45:22 -07:00
net Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 2008-03-26 18:35:50 -07:00
nubus
of
oprofile
parisc [PARISC] make ptr_to_pide() static 2008-03-15 19:17:12 -07:00
parport
pci pci: revert SMBus unhide on HP Compaq nx6110 2008-03-28 14:45:22 -07:00
pcmcia
pnp pnpacpi: reduce printk severity for "pnpacpi: exceeded the max number of ..." 2008-03-26 14:22:20 -04:00
power
ps3
rapidio
rtc rtc-at91sam9 fixes 2008-03-19 18:53:37 -07:00
s390
sbus
scsi [SCSI] a100u2w: fix bitmap lookup routine 2008-03-20 09:19:25 -05:00
serial serial: sh-sci: Fix fifo stall on SH7760/SH7780/SH7785 SCIF. 2008-03-11 13:58:50 +09:00
sh
sn ioc3.c: replace remaining __FUNCTION__ occurrences 2008-03-17 08:11:48 -04:00
spi spi_bitbang: short transfer status fix 2008-03-13 13:11:43 -07:00
ssb
tc
telephony
thermal thermal: delete "default y" 2008-03-18 01:22:10 -04:00
uio UIO: add pgprot_noncached() to UIO mmap code 2008-03-24 22:33:49 -07:00
usb USB: ehci: stop vt6212 bus hogging 2008-03-24 22:26:15 -07:00
video blackfin video driver: fix bug when opening/reading/mmaping BF54x and BF52x framebuffer simultaneously 2008-03-28 14:45:22 -07:00
virtio virtio_pci: unregister virtio device at device remove 2008-03-28 11:05:51 +11:00
w1
watchdog
xen
zorro
Kconfig
Makefile