mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-29 11:11:45 -04:00
iscsi-target: Fix iscsit_transport reference leak during NP thread reset
This patch fixes a bug in __iscsi_target_login_thread() where an explicit network portal thread reset ends up leaking the iscsit_transport module reference, along with the associated iscsi_conn allocation. This manifests itself with iser-target where a NP reset causes the extra iscsit_transport reference to be taken in iscsit_conn_set_transport() during the reset, which prevents the ib_isert module from being unloaded after the NP thread shutdown has finished. Cc: [email protected] # v3.10+ Signed-off-by: Nicholas Bellinger <[email protected]>
This commit is contained in:
parent
9d86a2befc
commit
c9a03c1246
1 changed files with 4 additions and 5 deletions
|
|
@ -1163,12 +1163,11 @@ static int __iscsi_target_login_thread(struct iscsi_np *np)
|
|||
if (np->np_thread_state == ISCSI_NP_THREAD_RESET) {
|
||||
spin_unlock_bh(&np->np_thread_lock);
|
||||
complete(&np->np_restart_comp);
|
||||
if (ret == -ENODEV) {
|
||||
iscsit_put_transport(conn->conn_transport);
|
||||
kfree(conn);
|
||||
conn = NULL;
|
||||
iscsit_put_transport(conn->conn_transport);
|
||||
kfree(conn);
|
||||
conn = NULL;
|
||||
if (ret == -ENODEV)
|
||||
goto out;
|
||||
}
|
||||
/* Get another socket */
|
||||
return 1;
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue