Skip to content

Commit

Permalink
target: Fail INQUIRY commands with EVPD==0 but PAGE CODE!=0
Browse files Browse the repository at this point in the history
My draft of SPC-4 says:

    If the PAGE CODE field is not set to zero when the EVPD bit is set
    to zero, the command shall be terminated with CHECK CONDITION
    status, with the sense key set to ILLEGAL REQUEST, and the
    additional sense code set to INVALID FIELD IN CDB.

Signed-off-by: Roland Dreier <roland@purestorage.com>
Cc: <stable@vger.kernel.org>
Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
  • Loading branch information
Roland Dreier authored and Nicholas Bellinger committed Jan 18, 2012
1 parent bb1acb2 commit bf00535
Showing 1 changed file with 7 additions and 0 deletions.
7 changes: 7 additions & 0 deletions drivers/target/target_core_cdb.c
Original file line number Diff line number Diff line change
Expand Up @@ -698,6 +698,13 @@ int target_emulate_inquiry(struct se_task *task)
int p, ret;

if (!(cdb[1] & 0x1)) {
if (cdb[2]) {
pr_err("INQUIRY with EVPD==0 but PAGE CODE=%02x\n",
cdb[2]);
cmd->scsi_sense_reason = TCM_INVALID_CDB_FIELD;
return -EINVAL;
}

ret = target_emulate_inquiry_std(cmd);
goto out;
}
Expand Down

0 comments on commit bf00535

Please sign in to comment.