Message ID | 20210212072642.17520-2-michael.christie@oracle.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [01/25] target: move t_task_cdb initialization | expand |
On 2/12/21 1:26 AM, Mike Christie wrote: > The next patch splits 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. This moves it to transport_init_se_cmd so we don't > hit NULL pointer crashes. > > Signed-off-by: Mike Christie <michael.christie@oracle.com> > Reviewed-by: Christoph Hellwig <hch@lst.de> > --- > drivers/target/target_core_transport.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/target/target_core_transport.c b/drivers/target/target_core_transport.c > index d47bfd8b0f87..5c4adde96d5e 100644 > --- a/drivers/target/target_core_transport.c > +++ b/drivers/target/target_core_transport.c > @@ -1389,6 +1389,7 @@ void transport_init_se_cmd( > 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; > @@ -1430,7 +1431,6 @@ target_cmd_init_cdb(struct se_cmd *cmd, unsigned char *cdb) > { > 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 > Looks Good. Reviewed-by: Himanshu Madhani <himanshu.madhani@oracle.com>
diff --git a/drivers/target/target_core_transport.c b/drivers/target/target_core_transport.c index d47bfd8b0f87..5c4adde96d5e 100644 --- a/drivers/target/target_core_transport.c +++ b/drivers/target/target_core_transport.c @@ -1389,6 +1389,7 @@ void transport_init_se_cmd( 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; @@ -1430,7 +1431,6 @@ target_cmd_init_cdb(struct se_cmd *cmd, unsigned char *cdb) { 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