block: Fix memory leak in alloc_disk_node()
Jerome Marchand [Fri, 23 Nov 2007 08:17:53 +0000 (09:17 +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 e609996..f2ac914 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;
                        }