aboutsummaryrefslogtreecommitdiff
path: root/drivers/vhost/scsi.c
diff options
context:
space:
mode:
authorRussell King <rmk+kernel@arm.linux.org.uk>2014-04-04 00:33:49 +0100
committerRussell King <rmk+kernel@arm.linux.org.uk>2014-04-04 00:33:49 +0100
commitbce5669be3a8946952258a064ef26defeb887138 (patch)
tree117386b9909882c000f822011c5ea6fdcbab3273 /drivers/vhost/scsi.c
parent95959e6a06720834fc80a210e37898341c63cb91 (diff)
parent566b60c04ab230b8cc3845f964306f99504b18df (diff)
Merge branch 'devel-stable' into for-next
Diffstat (limited to 'drivers/vhost/scsi.c')
-rw-r--r--drivers/vhost/scsi.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/vhost/scsi.c b/drivers/vhost/scsi.c
index 0a025b8e2a12..e48d4a672580 100644
--- a/drivers/vhost/scsi.c
+++ b/drivers/vhost/scsi.c
@@ -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]);