summaryrefslogtreecommitdiff
path: root/drivers/target/iscsi/iscsi_target_util.c
diff options
context:
space:
mode:
authorMike Christie <mchristi@redhat.com>2018-07-26 20:13:49 +0300
committerMatthew Wilcox <willy@infradead.org>2018-08-22 06:54:19 +0300
commit26abc916a898d34c5ad159315a2f683def3c5555 (patch)
tree5cd114e1095b2f698b983a2e121a2627dd4fe618 /drivers/target/iscsi/iscsi_target_util.c
parent4eb085e42fdee0314a89cd12bbd7ad67313d50dd (diff)
downloadlinux-26abc916a898d34c5ad159315a2f683def3c5555.tar.xz
iscsi target: fix session creation failure handling
The problem is that iscsi_login_zero_tsih_s1 sets conn->sess early in iscsi_login_set_conn_values. If the function fails later like when we alloc the idr it does kfree(sess) and leaves the conn->sess pointer set. iscsi_login_zero_tsih_s1 then returns -Exyz and we then call iscsi_target_login_sess_out and access the freed memory. This patch has iscsi_login_zero_tsih_s1 either completely setup the session or completely tear it down, so later in iscsi_target_login_sess_out we can just check for it being set to the connection. Cc: stable@vger.kernel.org Fixes: 0957627a9960 ("iscsi-target: Fix sess allocation leak in...") Signed-off-by: Mike Christie <mchristi@redhat.com> Acked-by: Martin K. Petersen <martin.petersen@oracle.com> Signed-off-by: Matthew Wilcox <willy@infradead.org>
Diffstat (limited to 'drivers/target/iscsi/iscsi_target_util.c')
0 files changed, 0 insertions, 0 deletions