On 2025-10-28 15:38, Jakub Kicinski wrote:
On Tue, 28 Oct 2025 14:26:39 -0700 David Wei wrote:
quoted
netdev ops must be called under instance lock or rtnl_lock, but
io_register_zcrx_ifq() isn't doing this for netdev_queue_get_dma_dev().
Fix this by taking the instance lock.
Opted to do this by hand instead of netdev_get_by_index_lock(), which is
an older helper that doesn't take netdev tracker.
Fixes tag missing.
Sorry, will add, keep forgetting this...
netdev_get_by_index_lock() + netdev_hold() would be a better choice indeed.
Just a reference doesn't hold off device shutdown.
Got it, I'll switch to this.
Is there a chance to reorder the io_zcrx_create_area() call, keep
holding the lock and call __net_mp_open_rxq() ?
Yeah, I also thought about it, wasn't sure if it was appropriate to
extend the critical section. I'll do this in v2.