Hi Nicholas, On Fri, Apr 12, 2013 at 10:52 PM, Nicholas A. Bellinger <nab@xxxxxxxxxxxxxxx> 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@xxxxxxxxxxxxxx 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-scsi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html