mm: drop meminit_pfn_in_nid as it is redundant
[sfrench/cifs-2.6.git] / block / partition-generic.c
index 8e596a8dff3217c1010b8c6364f78f33ef8b8b56..aee643ce13d15cf6888589015222836f3550b5db 100644 (file)
@@ -285,6 +285,13 @@ void delete_partition(struct gendisk *disk, int partno)
        kobject_put(part->holder_dir);
        device_del(part_to_dev(part));
 
+       /*
+        * Remove gendisk pointer from idr so that it cannot be looked up
+        * while RCU period before freeing gendisk is running to prevent
+        * use-after-free issues. Note that the device number stays
+        * "in-use" until we really free the gendisk.
+        */
+       blk_invalidate_devt(part_devt(part));
        hd_struct_kill(part);
 }