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 <bernhard.kohl@nsn.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
This commit is contained in:
Bernhard Kohl 2010-08-31 14:08:26 +02:00 committed by Kevin Wolf
parent 2488b74081
commit a9c17b2bf3

View File

@ -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, 0x08, p, page_control);
p += mode_sense_page(req, 0x2a, p, page_control); p += mode_sense_page(req, 0x2a, p, page_control);
break; break;
default:
return -1; /* ILLEGAL_REQUEST */
} }
buflen = p - outbuf; buflen = p - outbuf;