block: Fix memory leak in alloc_disk_node()
authorJerome Marchand <jmarchan@redhat.com>
Fri, 23 Nov 2007 08:17:53 +0000 (09:17 +0100)
committerJens Axboe <jens.axboe@oracle.com>
Tue, 27 Nov 2007 08:19:40 +0000 (09:19 +0100)
Fix a memory leak in alloc_disk_node(). Don't forget to free 'dkstats' when the allocation of 'part' failed.

Signed-off-by: Jerome Marchand <jmarchan@redhat.com>
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
block/genhd.c

index e609996f2e766d7009d5984aa8b4fbc29c813bbf..f2ac914160d1a96e7258bd86949caef3dcdec6a3 100644 (file)
@@ -715,6 +715,7 @@ struct gendisk *alloc_disk_node(int minors, int node_id)
                        disk->part = kmalloc_node(size,
                                GFP_KERNEL | __GFP_ZERO, node_id);
                        if (!disk->part) {
+                               free_disk_stats(disk);
                                kfree(disk);
                                return NULL;
                        }