diff options
Diffstat (limited to 'net/core/dev.c')
| -rw-r--r-- | net/core/dev.c | 95 | 
1 files changed, 51 insertions, 44 deletions
| diff --git a/net/core/dev.c b/net/core/dev.c index 59a9089117de..354d3453b407 100644 --- a/net/core/dev.c +++ b/net/core/dev.c @@ -1768,7 +1768,7 @@ static void __dev_close(struct net_device *dev)  	list_del(&single);  } -void dev_close_many(struct list_head *head, bool unlink) +void netif_close_many(struct list_head *head, bool unlink)  {  	struct net_device *dev, *tmp; @@ -1786,7 +1786,7 @@ void dev_close_many(struct list_head *head, bool unlink)  			list_del_init(&dev->close_list);  	}  } -EXPORT_SYMBOL(dev_close_many); +EXPORT_SYMBOL_NS_GPL(netif_close_many, "NETDEV_INTERNAL");  void netif_close(struct net_device *dev)  { @@ -1794,7 +1794,7 @@ void netif_close(struct net_device *dev)  		LIST_HEAD(single);  		list_add(&dev->close_list, &single); -		dev_close_many(&single, true); +		netif_close_many(&single, true);  		list_del(&single);  	}  } @@ -4798,7 +4798,7 @@ static inline void ____napi_schedule(struct softnet_data *sd,  	if (test_bit(NAPI_STATE_THREADED, &napi->state)) {  		/* Paired with smp_mb__before_atomic() in -		 * napi_enable()/dev_set_threaded(). +		 * napi_enable()/netif_set_threaded().  		 * Use READ_ONCE() to guarantee a complete  		 * read on napi->thread. Only call  		 * wake_up_process() when it's not NULL. @@ -6990,7 +6990,7 @@ int napi_set_threaded(struct napi_struct *napi, bool threaded)  	return 0;  } -int dev_set_threaded(struct net_device *dev, bool threaded) +int netif_set_threaded(struct net_device *dev, bool threaded)  {  	struct napi_struct *napi;  	int err = 0; @@ -7031,7 +7031,7 @@ int dev_set_threaded(struct net_device *dev, bool threaded)  	return err;  } -EXPORT_SYMBOL(dev_set_threaded); +EXPORT_SYMBOL(netif_set_threaded);  /**   * netif_queue_set_napi - Associate queue with the napi @@ -9454,12 +9454,12 @@ void dev_set_rx_mode(struct net_device *dev)  }  /** - *	dev_get_flags - get flags reported to userspace - *	@dev: device + * netif_get_flags() - get flags reported to userspace + * @dev: device   * - *	Get the combination of flag bits exported through APIs to userspace. + * Get the combination of flag bits exported through APIs to userspace.   */ -unsigned int dev_get_flags(const struct net_device *dev) +unsigned int netif_get_flags(const struct net_device *dev)  {  	unsigned int flags; @@ -9482,7 +9482,7 @@ unsigned int dev_get_flags(const struct net_device *dev)  	return flags;  } -EXPORT_SYMBOL(dev_get_flags); +EXPORT_SYMBOL(netif_get_flags);  int __dev_change_flags(struct net_device *dev, unsigned int flags,  		       struct netlink_ext_ack *extack) @@ -9594,7 +9594,7 @@ int netif_change_flags(struct net_device *dev, unsigned int flags,  	return ret;  } -int __dev_set_mtu(struct net_device *dev, int new_mtu) +int __netif_set_mtu(struct net_device *dev, int new_mtu)  {  	const struct net_device_ops *ops = dev->netdev_ops; @@ -9605,7 +9605,7 @@ int __dev_set_mtu(struct net_device *dev, int new_mtu)  	WRITE_ONCE(dev->mtu, new_mtu);  	return 0;  } -EXPORT_SYMBOL(__dev_set_mtu); +EXPORT_SYMBOL_NS_GPL(__netif_set_mtu, "NETDEV_INTERNAL");  int dev_validate_mtu(struct net_device *dev, int new_mtu,  		     struct netlink_ext_ack *extack) @@ -9624,18 +9624,22 @@ int dev_validate_mtu(struct net_device *dev, int new_mtu,  }  /** - *	netif_set_mtu_ext - Change maximum transfer unit - *	@dev: device - *	@new_mtu: new transfer unit - *	@extack: netlink extended ack + * netif_set_mtu_ext() - Change maximum transfer unit + * @dev: device + * @new_mtu: new transfer unit + * @extack: netlink extended ack + * + * Change the maximum transfer size of the network device.   * - *	Change the maximum transfer size of the network device. + * Return: 0 on success, -errno on failure.   */  int netif_set_mtu_ext(struct net_device *dev, int new_mtu,  		      struct netlink_ext_ack *extack)  {  	int err, orig_mtu; +	netdev_ops_assert_locked(dev); +  	if (new_mtu == dev->mtu)  		return 0; @@ -9652,7 +9656,7 @@ int netif_set_mtu_ext(struct net_device *dev, int new_mtu,  		return err;  	orig_mtu = dev->mtu; -	err = __dev_set_mtu(dev, new_mtu); +	err = __netif_set_mtu(dev, new_mtu);  	if (!err) {  		err = call_netdevice_notifiers_mtu(NETDEV_CHANGEMTU, dev, @@ -9662,7 +9666,7 @@ int netif_set_mtu_ext(struct net_device *dev, int new_mtu,  			/* setting mtu back and notifying everyone again,  			 * so that they have a chance to revert changes.  			 */ -			__dev_set_mtu(dev, orig_mtu); +			__netif_set_mtu(dev, orig_mtu);  			call_netdevice_notifiers_mtu(NETDEV_CHANGEMTU, dev,  						     new_mtu);  		} @@ -9716,13 +9720,15 @@ void netif_set_group(struct net_device *dev, int new_group)  }  /** - *	dev_pre_changeaddr_notify - Call NETDEV_PRE_CHANGEADDR. - *	@dev: device - *	@addr: new address - *	@extack: netlink extended ack + * netif_pre_changeaddr_notify() - Call NETDEV_PRE_CHANGEADDR. + * @dev: device + * @addr: new address + * @extack: netlink extended ack + * + * Return: 0 on success, -errno on failure.   */ -int dev_pre_changeaddr_notify(struct net_device *dev, const char *addr, -			      struct netlink_ext_ack *extack) +int netif_pre_changeaddr_notify(struct net_device *dev, const char *addr, +				struct netlink_ext_ack *extack)  {  	struct netdev_notifier_pre_changeaddr_info info = {  		.info.dev = dev, @@ -9734,7 +9740,7 @@ int dev_pre_changeaddr_notify(struct net_device *dev, const char *addr,  	rc = call_netdevice_notifiers_info(NETDEV_PRE_CHANGEADDR, &info.info);  	return notifier_to_errno(rc);  } -EXPORT_SYMBOL(dev_pre_changeaddr_notify); +EXPORT_SYMBOL_NS_GPL(netif_pre_changeaddr_notify, "NETDEV_INTERNAL");  int netif_set_mac_address(struct net_device *dev, struct sockaddr_storage *ss,  			  struct netlink_ext_ack *extack) @@ -9748,7 +9754,7 @@ int netif_set_mac_address(struct net_device *dev, struct sockaddr_storage *ss,  		return -EINVAL;  	if (!netif_device_present(dev))  		return -ENODEV; -	err = dev_pre_changeaddr_notify(dev, ss->__data, extack); +	err = netif_pre_changeaddr_notify(dev, ss->__data, extack);  	if (err)  		return err;  	if (memcmp(dev->dev_addr, ss->__data, dev->addr_len)) { @@ -9765,7 +9771,7 @@ int netif_set_mac_address(struct net_device *dev, struct sockaddr_storage *ss,  DECLARE_RWSEM(dev_addr_sem);  /* "sa" is a true struct sockaddr with limited "sa_data" member. */ -int dev_get_mac_address(struct sockaddr *sa, struct net *net, char *dev_name) +int netif_get_mac_address(struct sockaddr *sa, struct net *net, char *dev_name)  {  	size_t size = sizeof(sa->sa_data_min);  	struct net_device *dev; @@ -9791,7 +9797,7 @@ unlock:  	up_read(&dev_addr_sem);  	return ret;  } -EXPORT_SYMBOL(dev_get_mac_address); +EXPORT_SYMBOL_NS_GPL(netif_get_mac_address, "NETDEV_INTERNAL");  int netif_change_carrier(struct net_device *dev, bool new_carrier)  { @@ -9844,16 +9850,17 @@ int dev_get_phys_port_name(struct net_device *dev,  }  /** - *	dev_get_port_parent_id - Get the device's port parent identifier - *	@dev: network device - *	@ppid: pointer to a storage for the port's parent identifier - *	@recurse: allow/disallow recursion to lower devices + * netif_get_port_parent_id() - Get the device's port parent identifier + * @dev: network device + * @ppid: pointer to a storage for the port's parent identifier + * @recurse: allow/disallow recursion to lower devices + * + * Get the devices's port parent identifier.   * - *	Get the devices's port parent identifier + * Return: 0 on success, -errno on failure.   */ -int dev_get_port_parent_id(struct net_device *dev, -			   struct netdev_phys_item_id *ppid, -			   bool recurse) +int netif_get_port_parent_id(struct net_device *dev, +			     struct netdev_phys_item_id *ppid, bool recurse)  {  	const struct net_device_ops *ops = dev->netdev_ops;  	struct netdev_phys_item_id first = { }; @@ -9872,7 +9879,7 @@ int dev_get_port_parent_id(struct net_device *dev,  		return err;  	netdev_for_each_lower_dev(dev, lower_dev, iter) { -		err = dev_get_port_parent_id(lower_dev, ppid, true); +		err = netif_get_port_parent_id(lower_dev, ppid, true);  		if (err)  			break;  		if (!first.id_len) @@ -9883,7 +9890,7 @@ int dev_get_port_parent_id(struct net_device *dev,  	return err;  } -EXPORT_SYMBOL(dev_get_port_parent_id); +EXPORT_SYMBOL(netif_get_port_parent_id);  /**   *	netdev_port_same_parent_id - Indicate if two network devices have @@ -9896,8 +9903,8 @@ bool netdev_port_same_parent_id(struct net_device *a, struct net_device *b)  	struct netdev_phys_item_id a_id = { };  	struct netdev_phys_item_id b_id = { }; -	if (dev_get_port_parent_id(a, &a_id, true) || -	    dev_get_port_parent_id(b, &b_id, true)) +	if (netif_get_port_parent_id(a, &a_id, true) || +	    netif_get_port_parent_id(b, &b_id, true))  		return false;  	return netdev_phys_item_id_same(&a_id, &b_id); @@ -12092,7 +12099,7 @@ void unregister_netdevice_many_notify(struct list_head *head,  			netdev_lock(dev);  		}  	} -	dev_close_many(&close_head, true); +	netif_close_many(&close_head, true);  	/* ... now unlock them and go over the rest. */  	list_for_each_entry(dev, head, unreg_list) {  		if (netdev_need_ops_lock(dev)) @@ -12100,7 +12107,7 @@ void unregister_netdevice_many_notify(struct list_head *head,  		else  			list_add_tail(&dev->close_list, &close_head);  	} -	dev_close_many(&close_head, true); +	netif_close_many(&close_head, true);  	list_for_each_entry(dev, head, unreg_list) {  		/* And unlink it from device chain. */ | 
