mtd: blkdevs: fix crash related to sysfs attributes.
authorMaxim Levitsky <maximlevitsky@gmail.com>
Wed, 28 Jul 2010 15:53:16 +0000 (18:53 +0300)
committerDavid Woodhouse <David.Woodhouse@intel.com>
Fri, 6 Aug 2010 08:20:47 +0000 (09:20 +0100)
Remove the attributes group before disk to avoid use after free

Signed-off-by: Maxim Levitsky <maximlevitsky@gmail.com>
Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com>
Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
drivers/mtd/mtd_blkdevs.c

index a6bb586..89e07e5 100644 (file)
@@ -410,13 +410,14 @@ int del_mtd_blktrans_dev(struct mtd_blktrans_dev *old)
                BUG();
        }
 
-       /* Stop new requests to arrive */
-       del_gendisk(old->disk);
-
        if (old->disk_attributes)
                sysfs_remove_group(&disk_to_dev(old->disk)->kobj,
                                                old->disk_attributes);
 
+       /* Stop new requests to arrive */
+       del_gendisk(old->disk);
+
+
        /* Stop the thread */
        kthread_stop(old->thread);