Prepare to split target_submit_cmd_map_sgls() so the initialization and
submission part can be called at different times. If the init part fails we
can reference the t_task_cdb early in some of the logging and tracing
code. Move it to transport_init_se_cmd() so we don't hit NULL pointer
crashes.
Link: https://lore.kernel.org/r/20210227170006.5077-2-michael.christie@oracle.com
Tested-by: Laurence Oberman <loberman@redhat.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Himanshu Madhani <himanshu.madhani@oracle.com>
Signed-off-by: Mike Christie <michael.christie@oracle.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
        INIT_WORK(&cmd->work, NULL);
        kref_init(&cmd->cmd_kref);
 
+       cmd->t_task_cdb = &cmd->__t_task_cdb[0];
        cmd->se_tfo = tfo;
        cmd->se_sess = se_sess;
        cmd->data_length = data_length;
 {
        sense_reason_t ret;
 
-       cmd->t_task_cdb = &cmd->__t_task_cdb[0];
        /*
         * Ensure that the received CDB is less than the max (252 + 8) bytes
         * for VARIABLE_LENGTH_CMD