summaryrefslogtreecommitdiffstats
path: root/sys/net/if_spppsubr.c
diff options
context:
space:
mode:
authorrwatson <rwatson@FreeBSD.org>2009-06-26 18:50:49 +0000
committerrwatson <rwatson@FreeBSD.org>2009-06-26 18:50:49 +0000
commitd5ad72596746c825ae9a0e4a13a839538471d21a (patch)
treeb1f8b50680d8810077fea553eacb216ae1490519 /sys/net/if_spppsubr.c
parent5a005d19741cce2b5c9770e31df90cb94fddbf3f (diff)
downloadFreeBSD-src-d5ad72596746c825ae9a0e4a13a839538471d21a.zip
FreeBSD-src-d5ad72596746c825ae9a0e4a13a839538471d21a.tar.gz
Use if_addr_rlock/if_addr_runlock for if_spp when iterating if_addrhead,
as it is loadable as a module. Approved by: re (kib) MFC after: 6 weeks
Diffstat (limited to 'sys/net/if_spppsubr.c')
-rw-r--r--sys/net/if_spppsubr.c16
1 files changed, 8 insertions, 8 deletions
diff --git a/sys/net/if_spppsubr.c b/sys/net/if_spppsubr.c
index 1e7adb4..0515afc 100644
--- a/sys/net/if_spppsubr.c
+++ b/sys/net/if_spppsubr.c
@@ -4905,7 +4905,7 @@ sppp_get_ip_addrs(struct sppp *sp, u_long *src, u_long *dst, u_long *srcmask)
* aliases don't make any sense on a p2p link anyway.
*/
si = 0;
- IF_ADDR_LOCK(ifp);
+ if_addr_rlock(ifp);
TAILQ_FOREACH(ifa, &ifp->if_addrhead, ifa_link)
if (ifa->ifa_addr->sa_family == AF_INET) {
si = (struct sockaddr_in *)ifa->ifa_addr;
@@ -4924,7 +4924,7 @@ sppp_get_ip_addrs(struct sppp *sp, u_long *src, u_long *dst, u_long *srcmask)
if (si && si->sin_addr.s_addr)
ddst = si->sin_addr.s_addr;
}
- IF_ADDR_UNLOCK(ifp);
+ if_addr_runlock(ifp);
if (dst) *dst = ntohl(ddst);
if (src) *src = ntohl(ssrc);
@@ -4948,7 +4948,7 @@ sppp_set_ip_addr(struct sppp *sp, u_long src)
* aliases don't make any sense on a p2p link anyway.
*/
si = 0;
- IF_ADDR_LOCK(ifp);
+ if_addr_rlock(ifp);
TAILQ_FOREACH(ifa, &ifp->if_addrhead, ifa_link) {
if (ifa->ifa_addr->sa_family == AF_INET) {
si = (struct sockaddr_in *)ifa->ifa_addr;
@@ -4958,7 +4958,7 @@ sppp_set_ip_addr(struct sppp *sp, u_long src)
}
}
}
- IF_ADDR_UNLOCK(ifp);
+ if_addr_runlock(ifp);
if (ifa != NULL) {
int error;
@@ -5010,7 +5010,7 @@ sppp_get_ip6_addrs(struct sppp *sp, struct in6_addr *src, struct in6_addr *dst,
* aliases don't make any sense on a p2p link anyway.
*/
si = NULL;
- IF_ADDR_LOCK(ifp);
+ if_addr_rlock(ifp);
TAILQ_FOREACH(ifa, &ifp->if_addrhead, ifa_link)
if (ifa->ifa_addr->sa_family == AF_INET6) {
si = (struct sockaddr_in6 *)ifa->ifa_addr;
@@ -5036,7 +5036,7 @@ sppp_get_ip6_addrs(struct sppp *sp, struct in6_addr *src, struct in6_addr *dst,
bcopy(&ddst, dst, sizeof(*dst));
if (src)
bcopy(&ssrc, src, sizeof(*src));
- IF_ADDR_UNLOCK(ifp);
+ if_addr_runlock(ifp);
}
#ifdef IPV6CP_MYIFID_DYN
@@ -5065,7 +5065,7 @@ sppp_set_ip6_addr(struct sppp *sp, const struct in6_addr *src)
*/
sin6 = NULL;
- IF_ADDR_LOCK(ifp);
+ if_addr_rlock(ifp);
TAILQ_FOREACH(ifa, &ifp->if_addrhead, ifa_link) {
if (ifa->ifa_addr->sa_family == AF_INET6) {
sin6 = (struct sockaddr_in6 *)ifa->ifa_addr;
@@ -5075,7 +5075,7 @@ sppp_set_ip6_addr(struct sppp *sp, const struct in6_addr *src)
}
}
}
- IF_ADDR_UNLOCK(ifp);
+ if_addr_runlock(ifp);
if (ifa != NULL) {
int error;
OpenPOWER on IntegriCloud