diff options
author | Dave Airlie <airlied@redhat.com> | 2025-05-06 16:39:25 +1000 |
---|---|---|
committer | Dave Airlie <airlied@redhat.com> | 2025-05-06 16:39:25 +1000 |
commit | 5e0c67998152bdb91b056160449ee542b86271a5 (patch) | |
tree | dff9fd979b0319dd2ed873a77246950d7ed95ceb /net/core/netdev-genl.c | |
parent | 135130db6ee6500e6c82cf44dd831c3fe15f7b5f (diff) | |
parent | 92a09c47464d040866cf2b4cd052bc60555185fb (diff) |
BackMerge tag 'v6.15-rc5' into drm-next
Linux 6.15-rc5, requested by tzimmerman for fixes required in drm-next.
Signed-off-by: Dave Airlie <airlied@redhat.com>
Diffstat (limited to 'net/core/netdev-genl.c')
-rw-r--r-- | net/core/netdev-genl.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/net/core/netdev-genl.c b/net/core/netdev-genl.c index 5d7af50fe702..230743bdbb14 100644 --- a/net/core/netdev-genl.c +++ b/net/core/netdev-genl.c @@ -861,14 +861,17 @@ int netdev_nl_bind_rx_doit(struct sk_buff *skb, struct genl_info *info) mutex_lock(&priv->lock); + err = 0; netdev = netdev_get_by_index_lock(genl_info_net(info), ifindex); - if (!netdev || !netif_device_present(netdev)) { + if (!netdev) { err = -ENODEV; goto err_unlock_sock; } - - if (!netdev_need_ops_lock(netdev)) { + if (!netif_device_present(netdev)) + err = -ENODEV; + else if (!netdev_need_ops_lock(netdev)) err = -EOPNOTSUPP; + if (err) { NL_SET_BAD_ATTR(info->extack, info->attrs[NETDEV_A_DEV_IFINDEX]); goto err_unlock; |