Hi Nab, On 3/15/2014 4:04 AM, Nicholas A. Bellinger wrote: > Hi Arshad! > > On Fri, 2014-03-14 at 16:42 +0530, Arshad Hussain wrote: >> This patch adds check for NopOUT->flag (LMB) which is a mandatory as per RFC 3720 Section 10.18. >> >> Signed-off-by: Arshad Hussain <arshad.hussain@xxxxxxxxxxxxxx> >> --- >> drivers/target/iscsi/iscsi_target.c | 6 ++++++ >> 1 file changed, 6 insertions(+) >> >> diff --git a/drivers/target/iscsi/iscsi_target.c b/drivers/target/iscsi/iscsi_target.c >> index b83ec37..94b15be 100644 >> --- a/drivers/target/iscsi/iscsi_target.c >> +++ b/drivers/target/iscsi/iscsi_target.c >> @@ -1503,6 +1503,12 @@ int iscsit_setup_nop_out(struct iscsi_conn *conn, struct iscsi_cmd *cmd, >> { >> 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"); >> + return iscsit_reject_cmd(cmd, ISCSI_REASON_PROTOCOL_ERROR, >> + (unsigned char *)hdr); >> + } >> + >> if (hdr->itt == RESERVED_ITT && !(hdr->opcode & ISCSI_OP_IMMEDIATE)) { >> pr_err("NOPOUT ITT is reserved, but Immediate Bit is" >> " not set, protocol error.\n"); >> -- >> 1.8.1.4 > > Note this patch doesn't apply against target-pending/for-next due to > some recent iscsit_setup_nop_out() parameter changes.. > > So I've fixed it up this time, and added one other change to follow what > the other checks in iscsit_setup_nop_out() are already doing. > > For future reference, please make sure patches apply to the current > for-next HEAD. Thanks for the guidance. I will keep this in mind for the future. In fact I have all ready cloned your kernel/git/nab/target-pending.git. Thanks, Arshad > > Below is the end result that has been added to for-next. > > Thanks! > > --nab > >>From b3e853b56149148b5d60f56baf812630f8861036 Mon Sep 17 00:00:00 2001 > From: Arshad Hussain <arshad.hussain@xxxxxxxxxxxxxx> > Date: Fri, 14 Mar 2014 15:28:59 -0700 > Subject: [PATCH] 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@xxxxxxxxxxxxxx> > Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> > --- > drivers/target/iscsi/iscsi_target.c | 10 ++++++++++ > 1 file changed, 10 insertions(+) > > diff --git a/drivers/target/iscsi/iscsi_target.c b/drivers/target/iscsi/iscsi_target.c > index b83ec37..df0456a 100644 > --- a/drivers/target/iscsi/iscsi_target.c > +++ b/drivers/target/iscsi/iscsi_target.c > @@ -1503,6 +1503,16 @@ int iscsit_setup_nop_out(struct iscsi_conn *conn, struct iscsi_cmd *cmd, > { > 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)) { > pr_err("NOPOUT ITT is reserved, but Immediate Bit is" > " not set, protocol error.\n"); > -- To unsubscribe from this list: send the line "unsubscribe target-devel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html