[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20220630210344.4ab805fe@kernel.org>
Date: Thu, 30 Jun 2022 21:03:44 -0700
From: Jakub Kicinski <kuba@...nel.org>
To: Jason Wang <jasowang@...hat.com>
Cc: mst@...hat.com, davem@...emloft.net, edumazet@...gle.com,
pabeni@...hat.com, virtualization@...ts.linux-foundation.org,
netdev@...r.kernel.org, linux-kernel@...r.kernel.org,
xuanzhuo@...ux.alibaba.com
Subject: Re: [PATCH net V3] virtio-net: fix the race between refill work and
close
On Fri, 1 Jul 2022 10:06:55 +0800 Jason Wang wrote:
> We try using cancel_delayed_work_sync() to prevent the work from
> enabling NAPI. This is insufficient since we don't disable the source
> of the refill work scheduling. This means an NAPI poll callback after
> cancel_delayed_work_sync() can schedule the refill work then can
> re-enable the NAPI that leads to use-after-free [1].
>
> Since the work can enable NAPI, we can't simply disable NAPI before
> calling cancel_delayed_work_sync(). So fix this by introducing a
> dedicated boolean to control whether or not the work could be
> scheduled from NAPI.
Hm, does not apply cleanly to net or Linus's tree.
Powered by blists - more mailing lists