diff options
Diffstat (limited to 'net/core')
-rw-r--r-- | net/core/dev.c | 18 | ||||
-rw-r--r-- | net/core/sock.c | 2 |
2 files changed, 12 insertions, 8 deletions
diff --git a/net/core/dev.c b/net/core/dev.c index ab9a16530c36..cf8a95f48cff 100644 --- a/net/core/dev.c +++ b/net/core/dev.c | |||
@@ -4809,9 +4809,14 @@ static void netdev_adjacent_sysfs_del(struct net_device *dev, | |||
4809 | sysfs_remove_link(&(dev->dev.kobj), linkname); | 4809 | sysfs_remove_link(&(dev->dev.kobj), linkname); |
4810 | } | 4810 | } |
4811 | 4811 | ||
4812 | #define netdev_adjacent_is_neigh_list(dev, dev_list) \ | 4812 | static inline bool netdev_adjacent_is_neigh_list(struct net_device *dev, |
4813 | (dev_list == &dev->adj_list.upper || \ | 4813 | struct net_device *adj_dev, |
4814 | dev_list == &dev->adj_list.lower) | 4814 | struct list_head *dev_list) |
4815 | { | ||
4816 | return (dev_list == &dev->adj_list.upper || | ||
4817 | dev_list == &dev->adj_list.lower) && | ||
4818 | net_eq(dev_net(dev), dev_net(adj_dev)); | ||
4819 | } | ||
4815 | 4820 | ||
4816 | static int __netdev_adjacent_dev_insert(struct net_device *dev, | 4821 | static int __netdev_adjacent_dev_insert(struct net_device *dev, |
4817 | struct net_device *adj_dev, | 4822 | struct net_device *adj_dev, |
@@ -4841,7 +4846,7 @@ static int __netdev_adjacent_dev_insert(struct net_device *dev, | |||
4841 | pr_debug("dev_hold for %s, because of link added from %s to %s\n", | 4846 | pr_debug("dev_hold for %s, because of link added from %s to %s\n", |
4842 | adj_dev->name, dev->name, adj_dev->name); | 4847 | adj_dev->name, dev->name, adj_dev->name); |
4843 | 4848 | ||
4844 | if (netdev_adjacent_is_neigh_list(dev, dev_list)) { | 4849 | if (netdev_adjacent_is_neigh_list(dev, adj_dev, dev_list)) { |
4845 | ret = netdev_adjacent_sysfs_add(dev, adj_dev, dev_list); | 4850 | ret = netdev_adjacent_sysfs_add(dev, adj_dev, dev_list); |
4846 | if (ret) | 4851 | if (ret) |
4847 | goto free_adj; | 4852 | goto free_adj; |
@@ -4862,7 +4867,7 @@ static int __netdev_adjacent_dev_insert(struct net_device *dev, | |||
4862 | return 0; | 4867 | return 0; |
4863 | 4868 | ||
4864 | remove_symlinks: | 4869 | remove_symlinks: |
4865 | if (netdev_adjacent_is_neigh_list(dev, dev_list)) | 4870 | if (netdev_adjacent_is_neigh_list(dev, adj_dev, dev_list)) |
4866 | netdev_adjacent_sysfs_del(dev, adj_dev->name, dev_list); | 4871 | netdev_adjacent_sysfs_del(dev, adj_dev->name, dev_list); |
4867 | free_adj: | 4872 | free_adj: |
4868 | kfree(adj); | 4873 | kfree(adj); |
@@ -4895,8 +4900,7 @@ static void __netdev_adjacent_dev_remove(struct net_device *dev, | |||
4895 | if (adj->master) | 4900 | if (adj->master) |
4896 | sysfs_remove_link(&(dev->dev.kobj), "master"); | 4901 | sysfs_remove_link(&(dev->dev.kobj), "master"); |
4897 | 4902 | ||
4898 | if (netdev_adjacent_is_neigh_list(dev, dev_list) && | 4903 | if (netdev_adjacent_is_neigh_list(dev, adj_dev, dev_list)) |
4899 | net_eq(dev_net(dev),dev_net(adj_dev))) | ||
4900 | netdev_adjacent_sysfs_del(dev, adj_dev->name, dev_list); | 4904 | netdev_adjacent_sysfs_del(dev, adj_dev->name, dev_list); |
4901 | 4905 | ||
4902 | list_del_rcu(&adj->list); | 4906 | list_del_rcu(&adj->list); |
diff --git a/net/core/sock.c b/net/core/sock.c index d372b4bd3f99..9c3f823e76a9 100644 --- a/net/core/sock.c +++ b/net/core/sock.c | |||
@@ -1866,7 +1866,7 @@ EXPORT_SYMBOL(sock_alloc_send_skb); | |||
1866 | * skb_page_frag_refill - check that a page_frag contains enough room | 1866 | * skb_page_frag_refill - check that a page_frag contains enough room |
1867 | * @sz: minimum size of the fragment we want to get | 1867 | * @sz: minimum size of the fragment we want to get |
1868 | * @pfrag: pointer to page_frag | 1868 | * @pfrag: pointer to page_frag |
1869 | * @prio: priority for memory allocation | 1869 | * @gfp: priority for memory allocation |
1870 | * | 1870 | * |
1871 | * Note: While this allocator tries to use high order pages, there is | 1871 | * Note: While this allocator tries to use high order pages, there is |
1872 | * no guarantee that allocations succeed. Therefore, @sz MUST be | 1872 | * no guarantee that allocations succeed. Therefore, @sz MUST be |