25-akpm/drivers/block/cciss_scsi.c | 2 ++ 25-akpm/drivers/hotplug/acpiphp_glue.c | 1 + 25-akpm/drivers/isdn/i4l/isdn_x25iface.c | 1 + 25-akpm/drivers/isdn/pcbit/drv.c | 1 + 25-akpm/drivers/md/dm-ioctl.c | 2 ++ 25-akpm/drivers/md/dm-target.c | 1 + 25-akpm/drivers/media/video/bt819.c | 1 + 25-akpm/drivers/media/video/videodev.c | 4 +++- 25-akpm/drivers/message/i2o/i2o_core.c | 3 +-- 25-akpm/drivers/mtd/chips/cfi_cmdset_0001.c | 2 ++ 25-akpm/drivers/mtd/chips/cfi_cmdset_0002.c | 2 ++ 25-akpm/drivers/mtd/chips/sharp.c | 4 +++- 12 files changed, 20 insertions(+), 4 deletions(-) diff -puN drivers/block/cciss_scsi.c~checker-1 drivers/block/cciss_scsi.c --- 25/drivers/block/cciss_scsi.c~checker-1 Mon May 12 16:14:56 2003 +++ 25-akpm/drivers/block/cciss_scsi.c Mon May 12 16:14:57 2003 @@ -1082,6 +1082,8 @@ cciss_update_non_disk_devices(int cntl_n } else { printk(KERN_ERR "cciss: Report physical LUNs failed.\n"); + kfree(inq_buff); + kfree(ld_buff); return; } diff -puN drivers/hotplug/acpiphp_glue.c~checker-1 drivers/hotplug/acpiphp_glue.c --- 25/drivers/hotplug/acpiphp_glue.c~checker-1 Mon May 12 16:14:56 2003 +++ 25-akpm/drivers/hotplug/acpiphp_glue.c Mon May 12 16:14:57 2003 @@ -203,6 +203,7 @@ register_slot (acpi_handle handle, u32 l if (ACPI_FAILURE(status)) { err("failed to register interrupt notify handler\n"); + kfree(newfunc); return status; } diff -puN drivers/isdn/i4l/isdn_x25iface.c~checker-1 drivers/isdn/i4l/isdn_x25iface.c --- 25/drivers/isdn/i4l/isdn_x25iface.c~checker-1 Mon May 12 16:14:56 2003 +++ 25-akpm/drivers/isdn/i4l/isdn_x25iface.c Mon May 12 16:14:57 2003 @@ -222,6 +222,7 @@ int isdn_x25iface_connect_ind(struct con printk(KERN_WARNING "isdn_x25iface_connect_ind while unconfigured %s\n" , MY_DEVNAME(cprot->net_dev) ); + if (skb) dev_kfree_skb(skb); return -1; } *state_p = WAN_CONNECTED; diff -puN drivers/isdn/pcbit/drv.c~checker-1 drivers/isdn/pcbit/drv.c --- 25/drivers/isdn/pcbit/drv.c~checker-1 Mon May 12 16:14:57 2003 +++ 25-akpm/drivers/isdn/pcbit/drv.c Mon May 12 16:14:57 2003 @@ -1071,6 +1071,7 @@ static void pcbit_set_msn(struct pcbit_d ptr->msn = kmalloc(len, GFP_ATOMIC); if (!ptr->msn) { printk(KERN_WARNING "kmalloc failed\n"); + kfree(ptr); return; } diff -puN drivers/md/dm-ioctl.c~checker-1 drivers/md/dm-ioctl.c --- 25/drivers/md/dm-ioctl.c~checker-1 Mon May 12 16:14:57 2003 +++ 25-akpm/drivers/md/dm-ioctl.c Mon May 12 16:14:57 2003 @@ -278,6 +278,7 @@ int dm_hash_rename(const char *old, cons DMWARN("asked to rename to an already existing name %s -> %s", old, new); up_write(&_hash_lock); + kfree(new_name); return -EBUSY; } @@ -289,6 +290,7 @@ int dm_hash_rename(const char *old, cons DMWARN("asked to rename a non existent device %s -> %s", old, new); up_write(&_hash_lock); + kfree(new_name); return -ENXIO; } diff -puN drivers/md/dm-target.c~checker-1 drivers/md/dm-target.c --- 25/drivers/md/dm-target.c~checker-1 Mon May 12 16:14:57 2003 +++ 25-akpm/drivers/md/dm-target.c Mon May 12 16:14:57 2003 @@ -122,6 +122,7 @@ int dm_register_target(struct target_typ list_add(&ti->list, &_targets); up_write(&_lock); + if (rv) kfree(ti); return rv; } diff -puN drivers/media/video/bt819.c~checker-1 drivers/media/video/bt819.c --- 25/drivers/media/video/bt819.c~checker-1 Mon May 12 16:14:57 2003 +++ 25-akpm/drivers/media/video/bt819.c Mon May 12 16:14:57 2003 @@ -167,6 +167,7 @@ static int bt819_attach(struct i2c_adapt decoder = kmalloc(sizeof(struct bt819), GFP_KERNEL); if (decoder == NULL) { MOD_DEC_USE_COUNT; + kfree(client); return -ENOMEM; } diff -puN drivers/media/video/videodev.c~checker-1 drivers/media/video/videodev.c --- 25/drivers/media/video/videodev.c~checker-1 Mon May 12 16:14:57 2003 +++ 25-akpm/drivers/media/video/videodev.c Mon May 12 16:14:57 2003 @@ -311,8 +311,10 @@ static void videodev_proc_create_dev (st return; p = create_proc_entry(name, S_IFREG|S_IRUGO|S_IWUSR, video_dev_proc_entry); - if (!p) + if (!p) { + kfree(d); return; + } p->data = vfd; p->read_proc = videodev_proc_read; diff -puN drivers/message/i2o/i2o_core.c~checker-1 drivers/message/i2o/i2o_core.c --- 25/drivers/message/i2o/i2o_core.c~checker-1 Mon May 12 16:14:57 2003 +++ 25-akpm/drivers/message/i2o/i2o_core.c Mon May 12 16:14:57 2003 @@ -2018,15 +2018,14 @@ static int i2o_systab_send(struct i2o_co { printk(KERN_ERR "%s: Unable to set SysTab (status=%#x).\n", iop->name, -ret); - kfree(privbuf); } else { dprintk(KERN_INFO "%s: SysTab set.\n", iop->name); - kfree(privbuf); } i2o_status_get(iop); // Entered READY state + kfree(privbuf); return ret; } diff -puN drivers/mtd/chips/cfi_cmdset_0001.c~checker-1 drivers/mtd/chips/cfi_cmdset_0001.c --- 25/drivers/mtd/chips/cfi_cmdset_0001.c~checker-1 Mon May 12 16:14:57 2003 +++ 25-akpm/drivers/mtd/chips/cfi_cmdset_0001.c Mon May 12 16:14:57 2003 @@ -203,6 +203,7 @@ static struct mtd_info *cfi_intelext_set if (!mtd->eraseregions) { printk(KERN_ERR "Failed to allocate memory for MTD erase region info\n"); kfree(cfi->cmdset_priv); + kfree(mtd); return NULL; } @@ -227,6 +228,7 @@ static struct mtd_info *cfi_intelext_set printk(KERN_WARNING "Sum of regions (%lx) != total size of set of interleaved chips (%lx)\n", offset, devsize); kfree(mtd->eraseregions); kfree(cfi->cmdset_priv); + kfree(mtd); return NULL; } diff -puN drivers/mtd/chips/cfi_cmdset_0002.c~checker-1 drivers/mtd/chips/cfi_cmdset_0002.c --- 25/drivers/mtd/chips/cfi_cmdset_0002.c~checker-1 Mon May 12 16:14:57 2003 +++ 25-akpm/drivers/mtd/chips/cfi_cmdset_0002.c Mon May 12 16:14:57 2003 @@ -174,6 +174,7 @@ static struct mtd_info *cfi_amdstd_setup if (!mtd->eraseregions) { printk(KERN_WARNING "Failed to allocate memory for MTD erase region info\n"); kfree(cfi->cmdset_priv); + kfree(mtd); return NULL; } @@ -197,6 +198,7 @@ static struct mtd_info *cfi_amdstd_setup printk(KERN_WARNING "Sum of regions (%lx) != total size of set of interleaved chips (%lx)\n", offset, devsize); kfree(mtd->eraseregions); kfree(cfi->cmdset_priv); + kfree(mtd); return NULL; } #if 0 diff -puN drivers/mtd/chips/sharp.c~checker-1 drivers/mtd/chips/sharp.c --- 25/drivers/mtd/chips/sharp.c~checker-1 Mon May 12 16:14:57 2003 +++ 25-akpm/drivers/mtd/chips/sharp.c Mon May 12 16:14:57 2003 @@ -116,8 +116,10 @@ struct mtd_info *sharp_probe(struct map_ return NULL; sharp = kmalloc(sizeof(*sharp), GFP_KERNEL); - if(!sharp) + if(!sharp) { + kfree(mtd); return NULL; + } memset(mtd, 0, sizeof(*mtd)); _