iscsi-target: Add missing NopOUT->flag (LMB) sanity check
This patch adds check for NopOUT->flag (LMB) which is a mandatory as per RFC 3720 Section 10.18. (Fix up context changes for v3.14-rc code - nab) Signed-off-by: Arshad Hussain <arshad.hussain@calsoftinc.com> Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
This commit is contained in:
Родитель
9e961ae73c
Коммит
a3662605f6
|
@ -1503,6 +1503,16 @@ int iscsit_setup_nop_out(struct iscsi_conn *conn, struct iscsi_cmd *cmd,
|
||||||
{
|
{
|
||||||
u32 payload_length = ntoh24(hdr->dlength);
|
u32 payload_length = ntoh24(hdr->dlength);
|
||||||
|
|
||||||
|
if (!(hdr->flags & ISCSI_FLAG_CMD_FINAL)) {
|
||||||
|
pr_err("NopOUT Flag's, Left Most Bit not set, protocol error.\n");
|
||||||
|
if (!cmd)
|
||||||
|
return iscsit_add_reject(conn, ISCSI_REASON_PROTOCOL_ERROR,
|
||||||
|
(unsigned char *)hdr);
|
||||||
|
|
||||||
|
return iscsit_reject_cmd(cmd, ISCSI_REASON_PROTOCOL_ERROR,
|
||||||
|
(unsigned char *)hdr);
|
||||||
|
}
|
||||||
|
|
||||||
if (hdr->itt == RESERVED_ITT && !(hdr->opcode & ISCSI_OP_IMMEDIATE)) {
|
if (hdr->itt == RESERVED_ITT && !(hdr->opcode & ISCSI_OP_IMMEDIATE)) {
|
||||||
pr_err("NOPOUT ITT is reserved, but Immediate Bit is"
|
pr_err("NOPOUT ITT is reserved, but Immediate Bit is"
|
||||||
" not set, protocol error.\n");
|
" not set, protocol error.\n");
|
||||||
|
|
Загрузка…
Ссылка в новой задаче