[PATCH v3] nvme: rdma/tcp: fix list corruption with anatt timer

Christoph Hellwig hch at lst.de
Tue Apr 27 19:10:56 BST 2021


On Tue, Apr 27, 2021 at 08:05:41PM +0200, Hannes Reinecke wrote:
> On 4/27/21 6:25 PM, Christoph Hellwig wrote:
> > On Tue, Apr 27, 2021 at 11:33:04AM +0200, Hannes Reinecke wrote:
> >> As indicated in my previous mail, please change the description. We have
> >> since established a actual reason (duplicate calls to add_timer()), so
> >> please list it here.
> > 
> > So what happens if the offending add_timer is changed to mod_timer?
> > 
> I guess that should be fine, as the boilerplate said it can act
> as a safe version of add_timer.
> 
> But that would just solve the crash upon add_timer(). We still have the
> problem that the anatt timer might trigger just _after_ eg
> nvme_tcp_teardown_admin_queue(), causing it to hit an invalid admin queue.

Yeah.  nvme_mpath_init isn't really suitable for being called on an
already initialized controller for a few reasons.  I have an idea how
to fix it, let me give it a spin.



More information about the Linux-nvme mailing list