This patch fixes two bugs in allocation failure handling in
iscsit_allocate_se_cmd_for_tmr():
This first reported by DanC is a free-after call to transport_free_se_cmd(), this
patch drops the transport_free_se_cmd() call all together, as iscsit_release_cmd()
will release existing allocations as expected.
The second is a bug where iscsi_cmd_t was being leaked on a cmd->tmr_req allocation
failure, so make this jump to iscsit_release_cmd() as well.
Signed-off-by: Dan Carpenter <error27@gmail.com>
Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
if (!cmd->tmr_req) {
pr_err("Unable to allocate memory for"
" Task Management command!\n");
if (!cmd->tmr_req) {
pr_err("Unable to allocate memory for"
" Task Management command!\n");
}
/*
* TASK_REASSIGN for ERL=2 / connection stays inside of
}
/*
* TASK_REASSIGN for ERL=2 / connection stays inside of
return cmd;
out:
iscsit_release_cmd(cmd);
return cmd;
out:
iscsit_release_cmd(cmd);
- if (se_cmd)
- transport_free_se_cmd(se_cmd);