vhost/scsi: Check LUN structure byte 0 is set to 1, per spec

The virtio spec requires byte 0 of the virtio-scsi LUN structure
to be '1'.

Signed-off-by: Venkatesh Srinivas <[email protected]>
Reviewed-by: Paolo Bonzini <[email protected]>
Signed-off-by: Nicholas Bellinger <[email protected]>
This commit is contained in:
Venkatesh Srinivas 2014-02-24 14:13:32 -08:00 • committed by Nicholas Bellinger
commit 7fe412d07d

View file

@ -1001,6 +1001,12 @@ vhost_scsi_handle_vq(struct vhost_scsi *vs, struct vhost_virtqueue *vq)
break;
}
/* virtio-scsi spec requires byte 0 of the lun to be 1 */
if (unlikely(v_req.lun[0] != 1)) {
vhost_scsi_send_bad_target(vs, vq, head, out);
continue;
}
/* Extract the tpgt */
target = v_req.lun[1];
tpg = ACCESS_ONCE(vs_tpg[target]);