ne 6. 11. 2022 v 1:13 odesílatel Mike Christie <michael.christie@xxxxxxxxxx> napsal: > > You can remove the cancel_delayed_work in iscsi_target_do_login_rx > in the chunk that checks for 1 being returned since you do it here > now. Correct, I missed this one > > For the error path, I think you could also move the cancel_delayed_work_sync > from them and put it in here. > > If we leave it to the callers, in iscsi_target_do_login_rx in the "goto err" > handling should this be reversed and do you want to use the _sync call like above? > > iscsi_target_restore_sock_callbacks(conn); > cancel_delayed_work(&conn->login_work); Yes, I noticed it too and I was already preparing a follow-up patch to fix this. There is also another issue in iscsi_target_start_negotiation(): if (ret < 0) { cancel_delayed_work_sync(&conn->login_work); iscsi_target_restore_sock_callbacks(conn); This is obviously wrong because it leaves a small window open to race conditions I will submit a V2. Maurizio