[PATCH] nvme-tcp: proper handling of tcp socket closing flows
Grupi, Elad
Elad.Grupi at dell.com
Thu Jan 28 19:01:34 EST 2021
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 at grimberg.me>
Sent: Friday, 29 January 2021 1:54
To: Grupi, Elad; linux-nvme at 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.
More information about the Linux-nvme
mailing list