From a9c17b2bf3639662fbdeb736289ebabfda9fa21a Mon Sep 17 00:00:00 2001 From: Bernhard Kohl Date: Tue, 31 Aug 2010 14:08:26 +0200 Subject: [PATCH] scsi-disk: return CHECK CONDITION for unknown page codes in the MODE SENSE command SCSI-Spec: http://ldkelley.com/SCSI2/SCSI2/SCSI2-08.html#8.2.10 "An initiator may request any one or all of the supported mode pages from a target. If an initiator issues a MODE SENSE command with a page code value not implemented by the target, the target shall return CHECK CONDITION status and shall set the sense key to ILLEGAL REQUEST and the additional sense code to INVALID FIELD IN CDB." Signed-off-by: Bernhard Kohl Signed-off-by: Kevin Wolf --- hw/scsi-disk.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/hw/scsi-disk.c b/hw/scsi-disk.c index e085d5b6f9..44f99b08c2 100644 --- a/hw/scsi-disk.c +++ b/hw/scsi-disk.c @@ -690,6 +690,8 @@ static int scsi_disk_emulate_mode_sense(SCSIRequest *req, uint8_t *outbuf) p += mode_sense_page(req, 0x08, p, page_control); p += mode_sense_page(req, 0x2a, p, page_control); break; + default: + return -1; /* ILLEGAL_REQUEST */ } buflen = p - outbuf;