浏览代码

[SCSI] ide-scsi: Close narrow race in release

We were releasing the block devices before removing the host, so commands
could still be coming in which would cause a panic.  Just remove the
host before releasing the block devices to close this race.

Signed-off-by: Matthew Wilcox <matthew@wil.cx>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
Matthew Wilcox 17 年之前
父节点
当前提交
6fdea8dbbe
共有 1 个文件被更改,包括 1 次插入1 次删除
  1. 1 1
      drivers/scsi/ide-scsi.c

+ 1 - 1
drivers/scsi/ide-scsi.c

@@ -671,6 +671,7 @@ static void ide_scsi_remove(ide_drive_t *drive)
 	struct ide_scsi_obj *scsi = scsihost_to_idescsi(scsihost);
 	struct ide_scsi_obj *scsi = scsihost_to_idescsi(scsihost);
 	struct gendisk *g = scsi->disk;
 	struct gendisk *g = scsi->disk;
 
 
+	scsi_remove_host(scsihost);
 	ide_proc_unregister_driver(drive, scsi->driver);
 	ide_proc_unregister_driver(drive, scsi->driver);
 
 
 	ide_unregister_region(g);
 	ide_unregister_region(g);
@@ -679,7 +680,6 @@ static void ide_scsi_remove(ide_drive_t *drive)
 	g->private_data = NULL;
 	g->private_data = NULL;
 	put_disk(g);
 	put_disk(g);
 
 
-	scsi_remove_host(scsihost);
 	ide_scsi_put(scsi);
 	ide_scsi_put(scsi);
 }
 }