Re: [PATCH] target: fix a race condition between login_work and the login thread

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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





[Index of Archives]     [Linux SCSI]     [Kernel Newbies]     [Linux SCSI Target Infrastructure]     [Share Photos]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Linux IIO]     [Device Mapper]

  Powered by Linux