summaryrefslogtreecommitdiffstats
path: root/drivers/target/iscsi/iscsi_target.c
diff options
context:
space:
mode:
authorVarun Prakash2017-07-23 16:33:45 +0200
committerNicholas Bellinger2017-07-31 00:32:48 +0200
commit310d40a973c560a24c79f84cb5f16dc540a05686 (patch)
treec0532c34b8c0a1261aa8cbeed3a6a3b4c1b71ee6 /drivers/target/iscsi/iscsi_target.c
parentiscsi-target: fix memory leak in iscsit_setup_text_cmd() (diff)
downloadkernel-qcow2-linux-310d40a973c560a24c79f84cb5f16dc540a05686.tar.gz
kernel-qcow2-linux-310d40a973c560a24c79f84cb5f16dc540a05686.tar.xz
kernel-qcow2-linux-310d40a973c560a24c79f84cb5f16dc540a05686.zip
iscsi-target: fix invalid flags in text response
In case of multiple text responses iscsi-target sets both 'F' and 'C' bit for the final text response pdu, this issue happens because hdr->flags is not zeroed out before ORing with 'F' bit. This patch removes the | operator to fix this issue. Signed-off-by: Varun Prakash <varun@chelsio.com> Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
Diffstat (limited to 'drivers/target/iscsi/iscsi_target.c')
-rw-r--r--drivers/target/iscsi/iscsi_target.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/target/iscsi/iscsi_target.c b/drivers/target/iscsi/iscsi_target.c
index 2688918b879a..12803de99400 100644
--- a/drivers/target/iscsi/iscsi_target.c
+++ b/drivers/target/iscsi/iscsi_target.c
@@ -3488,9 +3488,9 @@ iscsit_build_text_rsp(struct iscsi_cmd *cmd, struct iscsi_conn *conn,
return text_length;
if (completed) {
- hdr->flags |= ISCSI_FLAG_CMD_FINAL;
+ hdr->flags = ISCSI_FLAG_CMD_FINAL;
} else {
- hdr->flags |= ISCSI_FLAG_TEXT_CONTINUE;
+ hdr->flags = ISCSI_FLAG_TEXT_CONTINUE;
cmd->read_data_done += text_length;
if (cmd->targ_xfer_tag == 0xFFFFFFFF)
cmd->targ_xfer_tag = session_get_next_ttt(conn->sess);