On 04/05/2018 12:56 PM, Paolo Bonzini wrote:
On 27/03/2018 23:14, Daniel Henrique Barboza wrote:
          /* We get here only for BYTCHK == 0x01 and only for scsi-block.
           * As far as DMA is concerned, we can treat it the same as a write;
           * scsi_block_do_sgio will send VERIFY commands.
+         *
+         * For scsi versions 2 and older, the BYTCHK isn't related
+         * to VRPROTECT (in fact, there is no VRPROTECT). Skip
+         * this check in these versions.
           */
-        if (r->req.cmd.buf[1] & 0xe0) {
+        if ((r->req.cmd.buf[1] & 0xe0) && (s->qdev.scsi_version > 2)) {
              goto illegal_request;
          }
This also has to check for "s->qdev.scsi_version != -1" so that the
behavior of emulated SCSI isn't changed (they claim SPC-3).  I made this
change and queued the patch.

Good catch.


Daniel


Paolo



Reply via email to