On Thu, Mar 11, 2021 at 12:43 PM Jakub Kicinski [off-list ref] wrote:
Is this a theoretical issues or do you see a path where it triggers?
Who are the callers sending frames to a device which went down?
This is a theoretical issue. I didn't see this issue in practice.
When "__dev_queue_xmit" and "sch_direct_xmit" call
"dev_hard_start_xmit", there appears to be no locking mechanism
preventing the netif from going down while "dev_hard_start_xmit" is
doing its work.
David once confirmed in an email that a driver's "ndo_stop" function
would indeed race with its "ndo_start_xmit" function:
https://lore.kernel.org/netdev/20190520.200922.2277656639346033061.davem@davemloft.net/ (local)