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

Martin Wilck mwilck at suse.com
Tue Apr 27 20:54:02 BST 2021


On Tue, 2021-04-27 at 20:05 +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().

The code doesn't use add_timer(), only mod_timer() and
del_timer_sync(). And we didn't observe a crash upon add_timer(). What
we observed was that a timer had been enqueued multiple times, and the
kernel crashes in expire_timers()->detach_timer(), when it encounters
an already detached entry in the timer list.

Regards,
Martin






More information about the Linux-nvme mailing list