Messages in this thread | | | Date | Thu, 1 Apr 2021 08:20:31 +0200 | From | Christoph Hellwig <> | Subject | Re: [PATCH v2] nvme-tcp: Check if request has started before processing it |
| |
On Wed, Mar 31, 2021 at 03:24:49PM -0700, Sagi Grimberg wrote: > >>> What we can do, though, is checking the 'state' field in the tcp >>> request, and only allow completions for commands which are in a state >>> allowing for completions. >>> >>> Let's see if I can whip up a patch. >> >> That would be great. BTW in the crash dump I am looking at now, it >> looks like pdu->command_id was zero in nvme_tcp_recv_data(), and >> blk_mq_tag_to_rq() returned a request struct that had not been used. >> So I think we do need to check that the tag was actually allocated. > > request tag can't be zero? I forget...
Of course it can. But the reserved tags are before the normal tags, so 0 would be a reserved tag for nvme.
| |