summaryrefslogtreecommitdiffstats
path: root/net/core/dev_api.c
diff options
context:
space:
mode:
authorStanislav Fomichev <sdf@fomichev.me>2025-03-12 12:05:12 -0700
committerPaolo Abeni <pabeni@redhat.com>2025-03-19 18:52:00 +0100
commit8033d2aef51722fe74068b52553625ed91ea256c (patch)
tree6910b7f09c5c94632c251b1564cb17f9330682a9 /net/core/dev_api.c
parent756f88ff9c6ae3d059180813102610c39ea99c27 (diff)
downloadlinux-8033d2aef51722fe74068b52553625ed91ea256c.tar.gz
linux-8033d2aef51722fe74068b52553625ed91ea256c.tar.bz2
linux-8033d2aef51722fe74068b52553625ed91ea256c.zip
Revert "net: replace dev_addr_sem with netdev instance lock"
This reverts commit df43d8bf10316a7c3b1e47e3cc0057a54df4a5b8. Cc: Kohei Enju <enjuk@amazon.com> Reviewed-by: Kuniyuki Iwashima <kuniyu@amazon.com> Fixes: df43d8bf1031 ("net: replace dev_addr_sem with netdev instance lock") Signed-off-by: Stanislav Fomichev <sdf@fomichev.me> Link: https://patch.msgid.link/20250312190513.1252045-2-sdf@fomichev.me Tested-by: Lei Yang <leiyang@redhat.com> Signed-off-by: Paolo Abeni <pabeni@redhat.com>
Diffstat (limited to 'net/core/dev_api.c')
-rw-r--r--net/core/dev_api.c17
1 files changed, 15 insertions, 2 deletions
diff --git a/net/core/dev_api.c b/net/core/dev_api.c
index 1f0e24849bc6..2e17548af685 100644
--- a/net/core/dev_api.c
+++ b/net/core/dev_api.c
@@ -84,6 +84,19 @@ void dev_set_group(struct net_device *dev, int new_group)
netdev_unlock_ops(dev);
}
+int dev_set_mac_address_user(struct net_device *dev, struct sockaddr *sa,
+ struct netlink_ext_ack *extack)
+{
+ int ret;
+
+ netdev_lock_ops(dev);
+ ret = netif_set_mac_address_user(dev, sa, extack);
+ netdev_unlock_ops(dev);
+
+ return ret;
+}
+EXPORT_SYMBOL(dev_set_mac_address_user);
+
/**
* dev_change_net_namespace() - move device to different nethost namespace
* @dev: device
@@ -299,9 +312,9 @@ int dev_set_mac_address(struct net_device *dev, struct sockaddr *sa,
{
int ret;
- netdev_lock(dev);
+ netdev_lock_ops(dev);
ret = netif_set_mac_address(dev, sa, extack);
- netdev_unlock(dev);
+ netdev_unlock_ops(dev);
return ret;
}