diff options
Diffstat (limited to 'net/ipv4/devinet.c')
| -rw-r--r-- | net/ipv4/devinet.c | 22 |
1 files changed, 11 insertions, 11 deletions
diff --git a/net/ipv4/devinet.c b/net/ipv4/devinet.c index ba2895ae8151..74f2207e131a 100644 --- a/net/ipv4/devinet.c +++ b/net/ipv4/devinet.c | |||
| @@ -351,7 +351,7 @@ static int inet_insert_ifa(struct in_ifaddr *ifa) | |||
| 351 | 351 | ||
| 352 | static int inet_set_ifa(struct net_device *dev, struct in_ifaddr *ifa) | 352 | static int inet_set_ifa(struct net_device *dev, struct in_ifaddr *ifa) |
| 353 | { | 353 | { |
| 354 | struct in_device *in_dev = __in_dev_get(dev); | 354 | struct in_device *in_dev = __in_dev_get_rtnl(dev); |
| 355 | 355 | ||
| 356 | ASSERT_RTNL(); | 356 | ASSERT_RTNL(); |
| 357 | 357 | ||
| @@ -449,7 +449,7 @@ static int inet_rtm_newaddr(struct sk_buff *skb, struct nlmsghdr *nlh, void *arg | |||
| 449 | goto out; | 449 | goto out; |
| 450 | 450 | ||
| 451 | rc = -ENOBUFS; | 451 | rc = -ENOBUFS; |
| 452 | if ((in_dev = __in_dev_get(dev)) == NULL) { | 452 | if ((in_dev = __in_dev_get_rtnl(dev)) == NULL) { |
| 453 | in_dev = inetdev_init(dev); | 453 | in_dev = inetdev_init(dev); |
| 454 | if (!in_dev) | 454 | if (!in_dev) |
| 455 | goto out; | 455 | goto out; |
| @@ -584,7 +584,7 @@ int devinet_ioctl(unsigned int cmd, void __user *arg) | |||
| 584 | if (colon) | 584 | if (colon) |
| 585 | *colon = ':'; | 585 | *colon = ':'; |
| 586 | 586 | ||
| 587 | if ((in_dev = __in_dev_get(dev)) != NULL) { | 587 | if ((in_dev = __in_dev_get_rtnl(dev)) != NULL) { |
| 588 | if (tryaddrmatch) { | 588 | if (tryaddrmatch) { |
| 589 | /* Matthias Andree */ | 589 | /* Matthias Andree */ |
| 590 | /* compare label and address (4.4BSD style) */ | 590 | /* compare label and address (4.4BSD style) */ |
| @@ -748,7 +748,7 @@ rarok: | |||
| 748 | 748 | ||
| 749 | static int inet_gifconf(struct net_device *dev, char __user *buf, int len) | 749 | static int inet_gifconf(struct net_device *dev, char __user *buf, int len) |
| 750 | { | 750 | { |
| 751 | struct in_device *in_dev = __in_dev_get(dev); | 751 | struct in_device *in_dev = __in_dev_get_rtnl(dev); |
| 752 | struct in_ifaddr *ifa; | 752 | struct in_ifaddr *ifa; |
| 753 | struct ifreq ifr; | 753 | struct ifreq ifr; |
| 754 | int done = 0; | 754 | int done = 0; |
| @@ -791,7 +791,7 @@ u32 inet_select_addr(const struct net_device *dev, u32 dst, int scope) | |||
| 791 | struct in_device *in_dev; | 791 | struct in_device *in_dev; |
| 792 | 792 | ||
| 793 | rcu_read_lock(); | 793 | rcu_read_lock(); |
| 794 | in_dev = __in_dev_get(dev); | 794 | in_dev = __in_dev_get_rcu(dev); |
| 795 | if (!in_dev) | 795 | if (!in_dev) |
| 796 | goto no_in_dev; | 796 | goto no_in_dev; |
| 797 | 797 | ||
| @@ -818,7 +818,7 @@ no_in_dev: | |||
| 818 | read_lock(&dev_base_lock); | 818 | read_lock(&dev_base_lock); |
| 819 | rcu_read_lock(); | 819 | rcu_read_lock(); |
| 820 | for (dev = dev_base; dev; dev = dev->next) { | 820 | for (dev = dev_base; dev; dev = dev->next) { |
| 821 | if ((in_dev = __in_dev_get(dev)) == NULL) | 821 | if ((in_dev = __in_dev_get_rcu(dev)) == NULL) |
| 822 | continue; | 822 | continue; |
| 823 | 823 | ||
| 824 | for_primary_ifa(in_dev) { | 824 | for_primary_ifa(in_dev) { |
| @@ -887,7 +887,7 @@ u32 inet_confirm_addr(const struct net_device *dev, u32 dst, u32 local, int scop | |||
| 887 | 887 | ||
| 888 | if (dev) { | 888 | if (dev) { |
| 889 | rcu_read_lock(); | 889 | rcu_read_lock(); |
| 890 | if ((in_dev = __in_dev_get(dev))) | 890 | if ((in_dev = __in_dev_get_rcu(dev))) |
| 891 | addr = confirm_addr_indev(in_dev, dst, local, scope); | 891 | addr = confirm_addr_indev(in_dev, dst, local, scope); |
| 892 | rcu_read_unlock(); | 892 | rcu_read_unlock(); |
| 893 | 893 | ||
| @@ -897,7 +897,7 @@ u32 inet_confirm_addr(const struct net_device *dev, u32 dst, u32 local, int scop | |||
| 897 | read_lock(&dev_base_lock); | 897 | read_lock(&dev_base_lock); |
| 898 | rcu_read_lock(); | 898 | rcu_read_lock(); |
| 899 | for (dev = dev_base; dev; dev = dev->next) { | 899 | for (dev = dev_base; dev; dev = dev->next) { |
| 900 | if ((in_dev = __in_dev_get(dev))) { | 900 | if ((in_dev = __in_dev_get_rcu(dev))) { |
| 901 | addr = confirm_addr_indev(in_dev, dst, local, scope); | 901 | addr = confirm_addr_indev(in_dev, dst, local, scope); |
| 902 | if (addr) | 902 | if (addr) |
| 903 | break; | 903 | break; |
| @@ -957,7 +957,7 @@ static int inetdev_event(struct notifier_block *this, unsigned long event, | |||
| 957 | void *ptr) | 957 | void *ptr) |
| 958 | { | 958 | { |
| 959 | struct net_device *dev = ptr; | 959 | struct net_device *dev = ptr; |
| 960 | struct in_device *in_dev = __in_dev_get(dev); | 960 | struct in_device *in_dev = __in_dev_get_rtnl(dev); |
| 961 | 961 | ||
| 962 | ASSERT_RTNL(); | 962 | ASSERT_RTNL(); |
| 963 | 963 | ||
| @@ -1078,7 +1078,7 @@ static int inet_dump_ifaddr(struct sk_buff *skb, struct netlink_callback *cb) | |||
| 1078 | if (idx > s_idx) | 1078 | if (idx > s_idx) |
| 1079 | s_ip_idx = 0; | 1079 | s_ip_idx = 0; |
| 1080 | rcu_read_lock(); | 1080 | rcu_read_lock(); |
| 1081 | if ((in_dev = __in_dev_get(dev)) == NULL) { | 1081 | if ((in_dev = __in_dev_get_rcu(dev)) == NULL) { |
| 1082 | rcu_read_unlock(); | 1082 | rcu_read_unlock(); |
| 1083 | continue; | 1083 | continue; |
| 1084 | } | 1084 | } |
| @@ -1149,7 +1149,7 @@ void inet_forward_change(void) | |||
| 1149 | for (dev = dev_base; dev; dev = dev->next) { | 1149 | for (dev = dev_base; dev; dev = dev->next) { |
| 1150 | struct in_device *in_dev; | 1150 | struct in_device *in_dev; |
| 1151 | rcu_read_lock(); | 1151 | rcu_read_lock(); |
| 1152 | in_dev = __in_dev_get(dev); | 1152 | in_dev = __in_dev_get_rcu(dev); |
| 1153 | if (in_dev) | 1153 | if (in_dev) |
| 1154 | in_dev->cnf.forwarding = on; | 1154 | in_dev->cnf.forwarding = on; |
| 1155 | rcu_read_unlock(); | 1155 | rcu_read_unlock(); |
