Messages in this thread | | | Date | Fri, 3 May 2013 23:04:50 +0200 | Subject | Re: [RFC-v4 7/9] iscsi-target: Refactor TX queue logic + export response PDU creation | From | Geert Uytterhoeven <> |
| |
Hi Nicholas,
On Fri, Apr 12, 2013 at 10:52 PM, Nicholas A. Bellinger <nab@linux-iscsi.org> wrote: > --- a/drivers/target/iscsi/iscsi_target.c > +++ b/drivers/target/iscsi/iscsi_target.c
> static int iscsit_send_reject( > struct iscsi_cmd *cmd, > struct iscsi_conn *conn) > @@ -3505,18 +3548,9 @@ static int iscsit_send_reject( > struct iscsi_reject *hdr; > struct kvec *iov; > > - hdr = (struct iscsi_reject *) cmd->pdu;
Woops, and now hdr is no longer initialized:
drivers/target/iscsi/iscsi_target.c: In function ‘iscsit_send_reject’: drivers/target/iscsi/iscsi_target.c:3577: warning: ‘hdr’ is used uninitialized in this function
> - hdr->opcode = ISCSI_OP_REJECT; > - hdr->flags |= ISCSI_FLAG_CMD_FINAL; > - hton24(hdr->dlength, ISCSI_HDR_LEN); > - hdr->ffffffff = cpu_to_be32(0xffffffff); > - cmd->stat_sn = conn->stat_sn++; > - hdr->statsn = cpu_to_be32(cmd->stat_sn); > - hdr->exp_cmdsn = cpu_to_be32(conn->sess->exp_cmd_sn); > - hdr->max_cmdsn = cpu_to_be32(conn->sess->max_cmd_sn); > + iscsit_build_reject(cmd, conn, (struct iscsi_reject *)&cmd->pdu[0]);
Hence it will crash later:
iscsit_do_crypto_hash_buf(&conn->conn_tx_hash, (unsigned char *)hdr, ISCSI_HDR_LEN, 0, NULL, (u8 *)header_digest);
and
pr_debug("Built Reject PDU StatSN: 0x%08x, Reason: 0x%02x," " CID: %hu\n", ntohl(hdr->statsn), hdr->reason, conn->cid);
Gr{oetje,eeting}s,
Geert
-- Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org
In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that. -- Linus Torvalds -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |