block: Fix double free in blk_integrity_unregister
Martin K. Petersen [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 885cbb5..54bcba6 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);