[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20210212210929.GA3851@redsun51.ssa.fujisawa.hgst.com>
Date: Sat, 13 Feb 2021 06:09:29 +0900
From: Keith Busch <kbusch@...nel.org>
To: Sagi Grimberg <sagi@...mberg.me>
Cc: Daniel Wagner <dwagner@...e.de>, linux-nvme@...ts.infradead.org,
linux-kernel@...r.kernel.org, Christoph Hellwig <hch@....de>,
Jens Axboe <axboe@...com>, Hannes Reinecke <hare@...e.de>
Subject: Re: [PATCH] nvme-tcp: Check if request has started before processing
it
On Fri, Feb 12, 2021 at 12:58:27PM -0800, Sagi Grimberg wrote:
> > blk_mq_tag_to_rq() will always return a request if the command_id is
> > in the valid range. Check if the request has been started. If we
> > blindly process the request we might double complete a request which
> > can be fatal.
>
> How did you get to this one? did the controller send a completion for
> a completed/bogus request?
If that is the case, then that must mean it's possible the driver could
have started the command id just before the bogus completion check. Data
iorruption, right?
Powered by blists - more mailing lists