Subject: Re: [PATCH net-next v10 14/22] io_uring/zcrx: grab a net device

From: Jakub Kicinski <[email-masked]>
Date: Wed, 15 Jan 2025 19:12:17 -0800

On Thu, 16 Jan 2025 02:33:06 +0000 Pavel Begunkov wrote:
> On 1/16/25 01:06, Jakub Kicinski wrote:
> > On Wed,  8 Jan 2025 14:06:35 -0800 David Wei wrote:  
> >> From: Pavel Begunkov <[email-masked]>
> >>
> >> Zerocopy receive needs a net device to bind to its rx queue and dma map
> >> buffers. As a preparation to following patches, resolve a net device
> >> from the if_idx parameter with no functional changes otherwise.  
> > 
> > How do you know if someone unregisters this netdevice?
> > The unregister process waits for all the refs to be released,
> > for *ekhm* historic reasons. Normally ref holders subscribe
> > to netdev events and kill their dependent objects. Perhaps
> > it is somewhere else/later in the series...  
> 
> Ok, I can pin the struct device long term instead and kill
> netdev in the uninstall callback off
> unregister_netdevice_many_notify(), if that works with you.

I think that would work. You mean the "underlying" device, right,
netdev->dev.parent ? Like page_pool itself does. SG.