Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

net: s/dev_get_mac_address/netif_get_mac_address/

Commit cc34acd577f1 ("docs: net: document new locking reality")
introduced netif_ vs dev_ function semantics: the former expects locked
netdev, the latter takes care of the locking. We don't strictly
follow this semantics on either side, but there are more dev_xxx handlers
now that don't fit. Rename them to netif_xxx where appropriate.

netif_get_mac_address is used only by tun/tap, so move it into
NETDEV_INTERNAL namespace.

Signed-off-by: Stanislav Fomichev <sdf@fomichev.me>
Link: https://patch.msgid.link/20250717172333.1288349-3-sdf@fomichev.me
Signed-off-by: Jakub Kicinski <kuba@kernel.org>

authored by

Stanislav Fomichev and committed by
Jakub Kicinski
af1d0173 ffea1168

+11 -8
+3 -2
drivers/net/tap.c
··· 1000 1000 return -ENOLINK; 1001 1001 } 1002 1002 ret = 0; 1003 - dev_get_mac_address((struct sockaddr *)&ss, dev_net(tap->dev), 1004 - tap->dev->name); 1003 + netif_get_mac_address((struct sockaddr *)&ss, dev_net(tap->dev), 1004 + tap->dev->name); 1005 1005 if (copy_to_user(&ifr->ifr_name, tap->dev->name, IFNAMSIZ) || 1006 1006 copy_to_user(&ifr->ifr_hwaddr, &ss, sizeof(ifr->ifr_hwaddr))) 1007 1007 ret = -EFAULT; ··· 1282 1282 MODULE_AUTHOR("Arnd Bergmann <arnd@arndb.de>"); 1283 1283 MODULE_AUTHOR("Sainath Grandhi <sainath.grandhi@intel.com>"); 1284 1284 MODULE_LICENSE("GPL"); 1285 + MODULE_IMPORT_NS("NETDEV_INTERNAL");
+2 -1
drivers/net/tun.c
··· 3223 3223 3224 3224 case SIOCGIFHWADDR: 3225 3225 /* Get hw address */ 3226 - dev_get_mac_address(&ifr.ifr_hwaddr, net, tun->dev->name); 3226 + netif_get_mac_address(&ifr.ifr_hwaddr, net, tun->dev->name); 3227 3227 if (copy_to_user(argp, &ifr, ifreq_len)) 3228 3228 ret = -EFAULT; 3229 3229 break; ··· 3732 3732 MODULE_LICENSE("GPL"); 3733 3733 MODULE_ALIAS_MISCDEV(TUN_MINOR); 3734 3734 MODULE_ALIAS("devname:net/tun"); 3735 + MODULE_IMPORT_NS("NETDEV_INTERNAL");
+1 -1
include/linux/netdevice.h
··· 4222 4222 struct netlink_ext_ack *extack); 4223 4223 int dev_set_mac_address_user(struct net_device *dev, struct sockaddr_storage *ss, 4224 4224 struct netlink_ext_ack *extack); 4225 - int dev_get_mac_address(struct sockaddr *sa, struct net *net, char *dev_name); 4225 + int netif_get_mac_address(struct sockaddr *sa, struct net *net, char *dev_name); 4226 4226 int netif_get_port_parent_id(struct net_device *dev, 4227 4227 struct netdev_phys_item_id *ppid, bool recurse); 4228 4228 bool netdev_port_same_parent_id(struct net_device *a, struct net_device *b);
+2 -2
net/core/dev.c
··· 9765 9765 DECLARE_RWSEM(dev_addr_sem); 9766 9766 9767 9767 /* "sa" is a true struct sockaddr with limited "sa_data" member. */ 9768 - int dev_get_mac_address(struct sockaddr *sa, struct net *net, char *dev_name) 9768 + int netif_get_mac_address(struct sockaddr *sa, struct net *net, char *dev_name) 9769 9769 { 9770 9770 size_t size = sizeof(sa->sa_data_min); 9771 9771 struct net_device *dev; ··· 9791 9791 up_read(&dev_addr_sem); 9792 9792 return ret; 9793 9793 } 9794 - EXPORT_SYMBOL(dev_get_mac_address); 9794 + EXPORT_SYMBOL_NS_GPL(netif_get_mac_address, "NETDEV_INTERNAL"); 9795 9795 9796 9796 int netif_change_carrier(struct net_device *dev, bool new_carrier) 9797 9797 {
+2 -1
net/core/dev_ioctl.c
··· 728 728 switch (cmd) { 729 729 case SIOCGIFHWADDR: 730 730 dev_load(net, ifr->ifr_name); 731 - ret = dev_get_mac_address(&ifr->ifr_hwaddr, net, ifr->ifr_name); 731 + ret = netif_get_mac_address(&ifr->ifr_hwaddr, net, 732 + ifr->ifr_name); 732 733 if (colon) 733 734 *colon = ':'; 734 735 return ret;
+1 -1
net/core/net-sysfs.c
··· 256 256 } 257 257 static DEVICE_ATTR_RO(name_assign_type); 258 258 259 - /* use same locking rules as GIFHWADDR ioctl's (dev_get_mac_address()) */ 259 + /* use same locking rules as GIFHWADDR ioctl's (netif_get_mac_address()) */ 260 260 static ssize_t address_show(struct device *dev, struct device_attribute *attr, 261 261 char *buf) 262 262 {