block: Fix double free in blk_integrity_unregister
authorMartin K. Petersen <martin.petersen@oracle.com>
Fri, 15 Oct 2010 13:49:18 +0000 (15:49 +0200)
committerJens Axboe <jaxboe@fusionio.com>
Fri, 15 Oct 2010 13:49:18 +0000 (15:49 +0200)
Commit 3839e4b introduced a kobject_put but failed to remove the
kmem_cache_free beneath it, leading to a double free.

Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
block/blk-integrity.c

index 885cbb59967e17e0457e47086e4cb995c091b337..54bcba6c02a75ed87af935c49d4428f18eb6a615 100644 (file)
@@ -432,7 +432,6 @@ void blk_integrity_unregister(struct gendisk *disk)
        kobject_uevent(&bi->kobj, KOBJ_REMOVE);
        kobject_del(&bi->kobj);
        kobject_put(&bi->kobj);
-       kmem_cache_free(integrity_cachep, bi);
        disk->integrity = NULL;
 }
 EXPORT_SYMBOL(blk_integrity_unregister);