diff options
author | Alan Stern <stern@rowland.harvard.edu> | 2005-09-15 21:52:51 -0400 |
---|---|---|
committer | James Bottomley <jejb@mulgrave.(none)> | 2005-09-15 22:03:54 -0400 |
commit | 541950027f8b7c96a639bc16e48930c590f1b98a (patch) | |
tree | 69d367dab3f738c888bf16646ed85cde69e3bf2a /drivers/scsi/scsi_sysfs.c | |
parent | b5683557331b129658ab435391df527ef72d63dc (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.c | 6 |
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 | **/ |
708 | void scsi_remove_device(struct scsi_device *sdev) | 708 | void 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 | } |
714 | EXPORT_SYMBOL(scsi_remove_device); | 716 | EXPORT_SYMBOL(scsi_remove_device); |
715 | 717 | ||