aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi/scsi_sysfs.c
diff options
context:
space:
mode:
authorAlan Stern <stern@rowland.harvard.edu>2005-09-15 21:52:51 -0400
committerJames Bottomley <jejb@mulgrave.(none)>2005-09-15 22:03:54 -0400
commit541950027f8b7c96a639bc16e48930c590f1b98a (patch)
tree69d367dab3f738c888bf16646ed85cde69e3bf2a /drivers/scsi/scsi_sysfs.c
parentb5683557331b129658ab435391df527ef72d63dc (diff)
[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>
Diffstat (limited to 'drivers/scsi/scsi_sysfs.c')
-rw-r--r--drivers/scsi/scsi_sysfs.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/scsi/scsi_sysfs.c b/drivers/scsi/scsi_sysfs.c
index b8052d5206cc..83f87c41b18d 100644
--- a/drivers/scsi/scsi_sysfs.c
+++ b/drivers/scsi/scsi_sysfs.c
@@ -707,9 +707,11 @@ void __scsi_remove_device(struct scsi_device *sdev)
707 **/ 707 **/
708void scsi_remove_device(struct scsi_device *sdev) 708void scsi_remove_device(struct scsi_device *sdev)
709{ 709{
710 down(&sdev->host->scan_mutex); 710 struct Scsi_Host *shost = sdev->host;
711
712 down(&shost->scan_mutex);
711 __scsi_remove_device(sdev); 713 __scsi_remove_device(sdev);
712 up(&sdev->host->scan_mutex); 714 up(&shost->scan_mutex);
713} 715}
714EXPORT_SYMBOL(scsi_remove_device); 716EXPORT_SYMBOL(scsi_remove_device);
715 717