Re: [PATCH net-next 0/8] net: depend on instance lock for queue related netlink ops

Stanislav Fomichev
2025-04-08T00:28:28Z

On 04/07, Jakub Kicinski wrote:
> netdev-genl used to be protected by rtnl_lock. In previous release
> we already switched the queue management ops (for Rx zero-copy) to
> the instance lock. This series converts other ops to depend on the
> instance lock when possible.
>
> Unfortunately queue related state is hard to lock (unlike NAPI)
> as the process of switching the number of queues usually involves
> a large reconfiguration of the driver. The reconfig process has
> historically been under rtnl_lock, but for drivers which opt into
> ops locking it is also under the instance lock. Leverage that
> and conditionally take rtnl_lock or instance lock depending
> on the device capabilities.
>
> Jakub Kicinski (8):
> net: avoid potential race between netdev_get_by_index_lock() and netns
> switch
> net: designate XSK pool pointers in queues as "ops protected"
> netdev: add "ops compat locking" helpers
> netdev: don't hold rtnl_lock over nl queue info get when possible
> xdp: double protect netdev->xdp_flags with netdev->lock
> netdev: depend on netdev->lock for xdp features
> docs: netdev: break down the instance locking info per ops struct
> netdev: depend on netdev->lock for qstats in ops locked drivers

Acked-by: Stanislav Fomichev <sdf@fomichev.me>