Преглед изворни кода

[SCSI] fix use after potential free in scsi_remove_device

Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
Alan Stern пре 20 година
родитељ
комит
541950027f
1 измењених фајлова са 4 додато и 2 уклоњено
  1. 4 2
      drivers/scsi/scsi_sysfs.c

+ 4 - 2
drivers/scsi/scsi_sysfs.c

@@ -707,9 +707,11 @@ void __scsi_remove_device(struct scsi_device *sdev)
  **/
 void scsi_remove_device(struct scsi_device *sdev)
 {
-	down(&sdev->host->scan_mutex);
+	struct Scsi_Host *shost = sdev->host;
+
+	down(&shost->scan_mutex);
 	__scsi_remove_device(sdev);
-	up(&sdev->host->scan_mutex);
+	up(&shost->scan_mutex);
 }
 EXPORT_SYMBOL(scsi_remove_device);