RE: [PATCH] nvme-tcp: proper handling of tcp socket closing flows
From: Grupi, Elad <hidden>
Date: 2021-01-29 00:01:49
That's not what I meant. My concern is release_work races with accept_work. nvmet_tcp_alloc_queue is called from accept_work context and still accessing the queue struct after setting sk callbacks. -----Original Message----- From: Sagi Grimberg <sagi@grimberg.me> Sent: Friday, 29 January 2021 1:54 To: Grupi, Elad; linux-nvme@lists.infradead.org Subject: Re: [PATCH] nvme-tcp: proper handling of tcp socket closing flows [EXTERNAL EMAIL]
Release work might get invoked if nvmet_tcp_set_queue_sock is completed successfully and set sk_user_data, but sk_state_change is triggered by network stack before queue_work_on is invoked. That case - there is a race between release_work and accept_work.
This is just like any other case where release_work races with io_work. That is not an exception from other cases which release_work will need to fence from. _______________________________________________ Linux-nvme mailing list Linux-nvme@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-nvme