Re: [PATCH net-next v2 0/8] netconsole: stop charging netpoll users for netconsole-only data

From: Breno Leitao

Date: Fri Jul 10 2026 - 07:02:01 EST


On Fri, Jul 10, 2026 at 02:46:17AM -0700, Breno Leitao wrote:
> On Thu, Jul 09, 2026 at 12:20:24PM +0200, Paolo Abeni wrote:
> > Because this initialization happens before acquiring rtnl_lock inside
> > netpoll_setup(), enabled_store() can execute INIT_WORK() and
> > skb_queue_head_init() simultaneously with the cleanup thread executing
> > cancel_work_sync() and skb_queue_purge_reason() on the exact same
> > fields.
>
> I don't think this is a big issue, given worst case scenario, the pool
> will not be populated, but this seems a clear regression.

Actually, this is a significant issue. We're calling
skb_queue_head_init() and INIT_WORK() while those same pointers are
being accessed concurrently.

The best approach IMO is to move the initialization early (calling
INIT_WORK()/skb_queue_head_init() before the race window), making the
critical section safe.

I'll send an updated series that also addresses another pre-existing bug,
bringing the total sashiko issue count to something we can enumerate on
our fingers.