Преглед на файлове

mtd: blkdevs: fix crash related to sysfs attributes.

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>
Maxim Levitsky преди 15 години
родител
ревизия
dba76c033f
променени са 1 файла, в които са добавени 4 реда и са изтрити 3 реда
  1. 4 3
      drivers/mtd/mtd_blkdevs.c

+ 4 - 3
drivers/mtd/mtd_blkdevs.c

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