Re: [PATCH] iscsi-target: Fix initial login PDU asynchronous socket close OOPs

From: Mike Christie
Date: Fri May 26 2017 - 23:24:55 EST


Thanks for the patch.

On 05/26/2017 12:32 AM, Nicholas A. Bellinger wrote:
>
> - state = iscsi_target_sk_state_check(sk);
> - write_unlock_bh(&sk->sk_callback_lock);
> -
> - pr_debug("iscsi_target_sk_state_change: state: %d\n", state);
> + orig_state_change(sk);
>
> - if (!state) {
> - pr_debug("iscsi_target_sk_state_change got failed state\n");
> - schedule_delayed_work(&conn->login_cleanup_work, 0);

I think login_cleanup_work is no longer used so you can also remove it
and its code.

The patch fixes the crash for me. However, is there a possible
regression where if the initiator attempts new relogins we could run out
of memory? With the old code, we would free the login attempts resources
at this time, but with the new code the initiator will send more login
attempts and so we just keep allocating more memory for each attempt
until we run out or the login is finally able to complete.