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

net: s/dev_pre_changeaddr_notify/netif_pre_changeaddr_notify/

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_pre_changeaddr_notify is used only by ipvlan/bond, so move it into
NETDEV_INTERNAL namespace.

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

authored by

Stanislav Fomichev and committed by
Jakub Kicinski
0413a34e af1d0173

+25 -19
+2 -1
drivers/net/bonding/bond_main.c
··· 1040 1040 1041 1041 slave_dbg(bond_dev, slave_dev, "bond_dev=%p slave_dev=%p slave_dev->addr_len=%d\n", 1042 1042 bond_dev, slave_dev, slave_dev->addr_len); 1043 - err = dev_pre_changeaddr_notify(bond_dev, slave_dev->dev_addr, NULL); 1043 + err = netif_pre_changeaddr_notify(bond_dev, slave_dev->dev_addr, NULL); 1044 1044 if (err) 1045 1045 return err; 1046 1046 ··· 6743 6743 MODULE_LICENSE("GPL"); 6744 6744 MODULE_DESCRIPTION(DRV_DESCRIPTION); 6745 6745 MODULE_AUTHOR("Thomas Davis, tadavis@lbl.gov and many others"); 6746 + MODULE_IMPORT_NS("NETDEV_INTERNAL");
+4 -3
drivers/net/ipvlan/ipvlan_main.c
··· 784 784 case NETDEV_PRE_CHANGEADDR: 785 785 prechaddr_info = ptr; 786 786 list_for_each_entry(ipvlan, &port->ipvlans, pnode) { 787 - err = dev_pre_changeaddr_notify(ipvlan->dev, 788 - prechaddr_info->dev_addr, 789 - extack); 787 + err = netif_pre_changeaddr_notify(ipvlan->dev, 788 + prechaddr_info->dev_addr, 789 + extack); 790 790 if (err) 791 791 return notifier_from_errno(err); 792 792 } ··· 1094 1094 MODULE_AUTHOR("Mahesh Bandewar <maheshb@google.com>"); 1095 1095 MODULE_DESCRIPTION("Driver for L3 (IPv6/IPv4) based VLANs"); 1096 1096 MODULE_ALIAS_RTNL_LINK("ipvlan"); 1097 + MODULE_IMPORT_NS("NETDEV_INTERNAL");
+2 -2
include/linux/netdevice.h
··· 4214 4214 int __dev_set_mtu(struct net_device *, int); 4215 4215 int netif_set_mtu(struct net_device *dev, int new_mtu); 4216 4216 int dev_set_mtu(struct net_device *, int); 4217 - int dev_pre_changeaddr_notify(struct net_device *dev, const char *addr, 4218 - struct netlink_ext_ack *extack); 4217 + int netif_pre_changeaddr_notify(struct net_device *dev, const char *addr, 4218 + struct netlink_ext_ack *extack); 4219 4219 int netif_set_mac_address(struct net_device *dev, struct sockaddr_storage *ss, 4220 4220 struct netlink_ext_ack *extack); 4221 4221 int dev_set_mac_address(struct net_device *dev, struct sockaddr_storage *ss,
+4 -3
net/bridge/br.c
··· 74 74 if (br->dev->addr_assign_type == NET_ADDR_SET) 75 75 break; 76 76 prechaddr_info = ptr; 77 - err = dev_pre_changeaddr_notify(br->dev, 78 - prechaddr_info->dev_addr, 79 - extack); 77 + err = netif_pre_changeaddr_notify(br->dev, 78 + prechaddr_info->dev_addr, 79 + extack); 80 80 if (err) 81 81 return notifier_from_errno(err); 82 82 break; ··· 484 484 MODULE_VERSION(BR_VERSION); 485 485 MODULE_ALIAS_RTNL_LINK("bridge"); 486 486 MODULE_DESCRIPTION("Ethernet bridge driver"); 487 + MODULE_IMPORT_NS("NETDEV_INTERNAL");
+2 -1
net/bridge/br_if.c
··· 668 668 /* Ask for permission to use this MAC address now, even if we 669 669 * don't end up choosing it below. 670 670 */ 671 - err = dev_pre_changeaddr_notify(br->dev, dev->dev_addr, extack); 671 + err = netif_pre_changeaddr_notify(br->dev, dev->dev_addr, 672 + extack); 672 673 if (err) 673 674 goto err6; 674 675 }
+10 -8
net/core/dev.c
··· 9716 9716 } 9717 9717 9718 9718 /** 9719 - * dev_pre_changeaddr_notify - Call NETDEV_PRE_CHANGEADDR. 9720 - * @dev: device 9721 - * @addr: new address 9722 - * @extack: netlink extended ack 9719 + * netif_pre_changeaddr_notify() - Call NETDEV_PRE_CHANGEADDR. 9720 + * @dev: device 9721 + * @addr: new address 9722 + * @extack: netlink extended ack 9723 + * 9724 + * Return: 0 on success, -errno on failure. 9723 9725 */ 9724 - int dev_pre_changeaddr_notify(struct net_device *dev, const char *addr, 9725 - struct netlink_ext_ack *extack) 9726 + int netif_pre_changeaddr_notify(struct net_device *dev, const char *addr, 9727 + struct netlink_ext_ack *extack) 9726 9728 { 9727 9729 struct netdev_notifier_pre_changeaddr_info info = { 9728 9730 .info.dev = dev, ··· 9736 9734 rc = call_netdevice_notifiers_info(NETDEV_PRE_CHANGEADDR, &info.info); 9737 9735 return notifier_to_errno(rc); 9738 9736 } 9739 - EXPORT_SYMBOL(dev_pre_changeaddr_notify); 9737 + EXPORT_SYMBOL_NS_GPL(netif_pre_changeaddr_notify, "NETDEV_INTERNAL"); 9740 9738 9741 9739 int netif_set_mac_address(struct net_device *dev, struct sockaddr_storage *ss, 9742 9740 struct netlink_ext_ack *extack) ··· 9750 9748 return -EINVAL; 9751 9749 if (!netif_device_present(dev)) 9752 9750 return -ENODEV; 9753 - err = dev_pre_changeaddr_notify(dev, ss->__data, extack); 9751 + err = netif_pre_changeaddr_notify(dev, ss->__data, extack); 9754 9752 if (err) 9755 9753 return err; 9756 9754 if (memcmp(dev->dev_addr, ss->__data, dev->addr_len)) {
+1 -1
net/core/dev_addr_lists.c
··· 603 603 604 604 ASSERT_RTNL(); 605 605 606 - err = dev_pre_changeaddr_notify(dev, addr, NULL); 606 + err = netif_pre_changeaddr_notify(dev, addr, NULL); 607 607 if (err) 608 608 return err; 609 609 err = __hw_addr_add(&dev->dev_addrs, addr, dev->addr_len, addr_type);