Re: [PATCH net-next v1 3/4] net: add granular lock for the netdev netlink socket
From: Jakub Kicinski
Date: Fri Mar 07 2025 - 18:35:02 EST
On Fri, 7 Mar 2025 07:57:24 -0800 Stanislav Fomichev wrote:
> diff --git a/net/core/netdev-genl.c b/net/core/netdev-genl.c
> index a219be90c739..8acdeeae24e7 100644
> --- a/net/core/netdev-genl.c
> +++ b/net/core/netdev-genl.c
> @@ -859,6 +859,7 @@ int netdev_nl_bind_rx_doit(struct sk_buff *skb, struct genl_info *info)
> goto err_genlmsg_free;
> }
>
> + mutex_lock(&priv->lock);
> rtnl_lock();
>
> netdev = __dev_get_by_index(genl_info_net(info), ifindex);
> @@ -925,6 +926,7 @@ int netdev_nl_bind_rx_doit(struct sk_buff *skb, struct genl_info *info)
> net_devmem_unbind_dmabuf(binding);
> err_unlock:
> rtnl_unlock();
> + mutex_unlock(&priv->lock);
> err_genlmsg_free:
> nlmsg_free(rsp);
> return err;
I think you're missing an unlock before successful return here no?