diff options
author | Stephen Hemminger <shemminger@osdl.org> | 2006-03-21 01:23:58 -0500 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2006-03-21 01:23:58 -0500 |
commit | 6756ae4b4e97aba48c042b4aa6b77a18f507d2cb (patch) | |
tree | 05bf37711d782fb0089d474716026c44a454f89b /net/ipv4 | |
parent | 253aa11578c1b89757282430891bb66ae5300092 (diff) |
[NET]: Convert RTNL to mutex.
This patch turns the RTNL from a semaphore to a new 2.6.16 mutex and
gets rid of some of the leftover legacy.
Signed-off-by: Stephen Hemminger <shemminger@osdl.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/ipv4')
-rw-r--r-- | net/ipv4/igmp.c | 24 | ||||
-rw-r--r-- | net/ipv4/ipconfig.c | 10 |
2 files changed, 17 insertions, 17 deletions
diff --git a/net/ipv4/igmp.c b/net/ipv4/igmp.c index 64ce52bf0485..3ec502f19da0 100644 --- a/net/ipv4/igmp.c +++ b/net/ipv4/igmp.c | |||
@@ -1730,7 +1730,7 @@ int ip_mc_join_group(struct sock *sk , struct ip_mreqn *imr) | |||
1730 | if (!MULTICAST(addr)) | 1730 | if (!MULTICAST(addr)) |
1731 | return -EINVAL; | 1731 | return -EINVAL; |
1732 | 1732 | ||
1733 | rtnl_shlock(); | 1733 | rtnl_lock(); |
1734 | 1734 | ||
1735 | in_dev = ip_mc_find_dev(imr); | 1735 | in_dev = ip_mc_find_dev(imr); |
1736 | 1736 | ||
@@ -1763,7 +1763,7 @@ int ip_mc_join_group(struct sock *sk , struct ip_mreqn *imr) | |||
1763 | ip_mc_inc_group(in_dev, addr); | 1763 | ip_mc_inc_group(in_dev, addr); |
1764 | err = 0; | 1764 | err = 0; |
1765 | done: | 1765 | done: |
1766 | rtnl_shunlock(); | 1766 | rtnl_unlock(); |
1767 | return err; | 1767 | return err; |
1768 | } | 1768 | } |
1769 | 1769 | ||
@@ -1837,7 +1837,7 @@ int ip_mc_source(int add, int omode, struct sock *sk, struct | |||
1837 | if (!MULTICAST(addr)) | 1837 | if (!MULTICAST(addr)) |
1838 | return -EINVAL; | 1838 | return -EINVAL; |
1839 | 1839 | ||
1840 | rtnl_shlock(); | 1840 | rtnl_lock(); |
1841 | 1841 | ||
1842 | imr.imr_multiaddr.s_addr = mreqs->imr_multiaddr; | 1842 | imr.imr_multiaddr.s_addr = mreqs->imr_multiaddr; |
1843 | imr.imr_address.s_addr = mreqs->imr_interface; | 1843 | imr.imr_address.s_addr = mreqs->imr_interface; |
@@ -1947,7 +1947,7 @@ int ip_mc_source(int add, int omode, struct sock *sk, struct | |||
1947 | ip_mc_add_src(in_dev, &mreqs->imr_multiaddr, omode, 1, | 1947 | ip_mc_add_src(in_dev, &mreqs->imr_multiaddr, omode, 1, |
1948 | &mreqs->imr_sourceaddr, 1); | 1948 | &mreqs->imr_sourceaddr, 1); |
1949 | done: | 1949 | done: |
1950 | rtnl_shunlock(); | 1950 | rtnl_unlock(); |
1951 | if (leavegroup) | 1951 | if (leavegroup) |
1952 | return ip_mc_leave_group(sk, &imr); | 1952 | return ip_mc_leave_group(sk, &imr); |
1953 | return err; | 1953 | return err; |
@@ -1970,7 +1970,7 @@ int ip_mc_msfilter(struct sock *sk, struct ip_msfilter *msf, int ifindex) | |||
1970 | msf->imsf_fmode != MCAST_EXCLUDE) | 1970 | msf->imsf_fmode != MCAST_EXCLUDE) |
1971 | return -EINVAL; | 1971 | return -EINVAL; |
1972 | 1972 | ||
1973 | rtnl_shlock(); | 1973 | rtnl_lock(); |
1974 | 1974 | ||
1975 | imr.imr_multiaddr.s_addr = msf->imsf_multiaddr; | 1975 | imr.imr_multiaddr.s_addr = msf->imsf_multiaddr; |
1976 | imr.imr_address.s_addr = msf->imsf_interface; | 1976 | imr.imr_address.s_addr = msf->imsf_interface; |
@@ -2030,7 +2030,7 @@ int ip_mc_msfilter(struct sock *sk, struct ip_msfilter *msf, int ifindex) | |||
2030 | pmc->sfmode = msf->imsf_fmode; | 2030 | pmc->sfmode = msf->imsf_fmode; |
2031 | err = 0; | 2031 | err = 0; |
2032 | done: | 2032 | done: |
2033 | rtnl_shunlock(); | 2033 | rtnl_unlock(); |
2034 | if (leavegroup) | 2034 | if (leavegroup) |
2035 | err = ip_mc_leave_group(sk, &imr); | 2035 | err = ip_mc_leave_group(sk, &imr); |
2036 | return err; | 2036 | return err; |
@@ -2050,7 +2050,7 @@ int ip_mc_msfget(struct sock *sk, struct ip_msfilter *msf, | |||
2050 | if (!MULTICAST(addr)) | 2050 | if (!MULTICAST(addr)) |
2051 | return -EINVAL; | 2051 | return -EINVAL; |
2052 | 2052 | ||
2053 | rtnl_shlock(); | 2053 | rtnl_lock(); |
2054 | 2054 | ||
2055 | imr.imr_multiaddr.s_addr = msf->imsf_multiaddr; | 2055 | imr.imr_multiaddr.s_addr = msf->imsf_multiaddr; |
2056 | imr.imr_address.s_addr = msf->imsf_interface; | 2056 | imr.imr_address.s_addr = msf->imsf_interface; |
@@ -2072,7 +2072,7 @@ int ip_mc_msfget(struct sock *sk, struct ip_msfilter *msf, | |||
2072 | goto done; | 2072 | goto done; |
2073 | msf->imsf_fmode = pmc->sfmode; | 2073 | msf->imsf_fmode = pmc->sfmode; |
2074 | psl = pmc->sflist; | 2074 | psl = pmc->sflist; |
2075 | rtnl_shunlock(); | 2075 | rtnl_unlock(); |
2076 | if (!psl) { | 2076 | if (!psl) { |
2077 | len = 0; | 2077 | len = 0; |
2078 | count = 0; | 2078 | count = 0; |
@@ -2091,7 +2091,7 @@ int ip_mc_msfget(struct sock *sk, struct ip_msfilter *msf, | |||
2091 | return -EFAULT; | 2091 | return -EFAULT; |
2092 | return 0; | 2092 | return 0; |
2093 | done: | 2093 | done: |
2094 | rtnl_shunlock(); | 2094 | rtnl_unlock(); |
2095 | return err; | 2095 | return err; |
2096 | } | 2096 | } |
2097 | 2097 | ||
@@ -2112,7 +2112,7 @@ int ip_mc_gsfget(struct sock *sk, struct group_filter *gsf, | |||
2112 | if (!MULTICAST(addr)) | 2112 | if (!MULTICAST(addr)) |
2113 | return -EINVAL; | 2113 | return -EINVAL; |
2114 | 2114 | ||
2115 | rtnl_shlock(); | 2115 | rtnl_lock(); |
2116 | 2116 | ||
2117 | err = -EADDRNOTAVAIL; | 2117 | err = -EADDRNOTAVAIL; |
2118 | 2118 | ||
@@ -2125,7 +2125,7 @@ int ip_mc_gsfget(struct sock *sk, struct group_filter *gsf, | |||
2125 | goto done; | 2125 | goto done; |
2126 | gsf->gf_fmode = pmc->sfmode; | 2126 | gsf->gf_fmode = pmc->sfmode; |
2127 | psl = pmc->sflist; | 2127 | psl = pmc->sflist; |
2128 | rtnl_shunlock(); | 2128 | rtnl_unlock(); |
2129 | count = psl ? psl->sl_count : 0; | 2129 | count = psl ? psl->sl_count : 0; |
2130 | copycount = count < gsf->gf_numsrc ? count : gsf->gf_numsrc; | 2130 | copycount = count < gsf->gf_numsrc ? count : gsf->gf_numsrc; |
2131 | gsf->gf_numsrc = count; | 2131 | gsf->gf_numsrc = count; |
@@ -2146,7 +2146,7 @@ int ip_mc_gsfget(struct sock *sk, struct group_filter *gsf, | |||
2146 | } | 2146 | } |
2147 | return 0; | 2147 | return 0; |
2148 | done: | 2148 | done: |
2149 | rtnl_shunlock(); | 2149 | rtnl_unlock(); |
2150 | return err; | 2150 | return err; |
2151 | } | 2151 | } |
2152 | 2152 | ||
diff --git a/net/ipv4/ipconfig.c b/net/ipv4/ipconfig.c index bb3613ec448c..cb8a92f18ef6 100644 --- a/net/ipv4/ipconfig.c +++ b/net/ipv4/ipconfig.c | |||
@@ -186,7 +186,7 @@ static int __init ic_open_devs(void) | |||
186 | unsigned short oflags; | 186 | unsigned short oflags; |
187 | 187 | ||
188 | last = &ic_first_dev; | 188 | last = &ic_first_dev; |
189 | rtnl_shlock(); | 189 | rtnl_lock(); |
190 | 190 | ||
191 | /* bring loopback device up first */ | 191 | /* bring loopback device up first */ |
192 | if (dev_change_flags(&loopback_dev, loopback_dev.flags | IFF_UP) < 0) | 192 | if (dev_change_flags(&loopback_dev, loopback_dev.flags | IFF_UP) < 0) |
@@ -215,7 +215,7 @@ static int __init ic_open_devs(void) | |||
215 | continue; | 215 | continue; |
216 | } | 216 | } |
217 | if (!(d = kmalloc(sizeof(struct ic_device), GFP_KERNEL))) { | 217 | if (!(d = kmalloc(sizeof(struct ic_device), GFP_KERNEL))) { |
218 | rtnl_shunlock(); | 218 | rtnl_unlock(); |
219 | return -1; | 219 | return -1; |
220 | } | 220 | } |
221 | d->dev = dev; | 221 | d->dev = dev; |
@@ -232,7 +232,7 @@ static int __init ic_open_devs(void) | |||
232 | dev->name, able, d->xid)); | 232 | dev->name, able, d->xid)); |
233 | } | 233 | } |
234 | } | 234 | } |
235 | rtnl_shunlock(); | 235 | rtnl_unlock(); |
236 | 236 | ||
237 | *last = NULL; | 237 | *last = NULL; |
238 | 238 | ||
@@ -251,7 +251,7 @@ static void __init ic_close_devs(void) | |||
251 | struct ic_device *d, *next; | 251 | struct ic_device *d, *next; |
252 | struct net_device *dev; | 252 | struct net_device *dev; |
253 | 253 | ||
254 | rtnl_shlock(); | 254 | rtnl_lock(); |
255 | next = ic_first_dev; | 255 | next = ic_first_dev; |
256 | while ((d = next)) { | 256 | while ((d = next)) { |
257 | next = d->next; | 257 | next = d->next; |
@@ -262,7 +262,7 @@ static void __init ic_close_devs(void) | |||
262 | } | 262 | } |
263 | kfree(d); | 263 | kfree(d); |
264 | } | 264 | } |
265 | rtnl_shunlock(); | 265 | rtnl_unlock(); |
266 | } | 266 | } |
267 | 267 | ||
268 | /* | 268 | /* |