aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRoman Kagan <rkagan@virtuozzo.com>2017-04-26 17:18:01 +0300
committerKevin O'Connor <kevin@koconnor.net>2017-05-02 19:57:03 -0400
commit177aecfcf4161c53f503782e68608284b198c0f9 (patch)
treea72e6c0155ded6ec603173ad7012100e177c83cf
parent6f090f868dcdc089a669b3664f9564ef8f65d0ea (diff)
downloadseabios-177aecfcf4161c53f503782e68608284b198c0f9.tar.gz
blockcmd: accept only disks and CD-ROMs
Luns that report to INQUIRY with a type other than CD-ROM are considered disks. This isn't necessarily the case; working with such luns as disks may lead to unpredictable results. So bail out if the lun is neither CD-ROM nor disk. Signed-off-by: Roman Kagan <rkagan@virtuozzo.com>
-rw-r--r--src/hw/blockcmd.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/hw/blockcmd.c b/src/hw/blockcmd.c
index f147100e..5ad128e5 100644
--- a/src/hw/blockcmd.c
+++ b/src/hw/blockcmd.c
@@ -217,6 +217,9 @@ scsi_drive_setup(struct drive_s *drive, const char *s, int prio)
return 0;
}
+ if (pdt != SCSI_TYPE_DISK)
+ return -1;
+
ret = scsi_is_ready(&dop);
if (ret) {
dprintf(1, "scsi_is_ready returned %d\n", ret);