diff options
author | neel <neel@FreeBSD.org> | 2012-11-17 02:55:47 +0000 |
---|---|---|
committer | neel <neel@FreeBSD.org> | 2012-11-17 02:55:47 +0000 |
commit | 0e18e1b9de7bacfe2cdccb09738c895dfaf0cbf8 (patch) | |
tree | 2bd9bddaae9e43ae0279e8ef5ed4b4d93aa41eff /sys/netinet6/nd6.c | |
parent | 1a164db277254c1198a5923050a4e403737937c3 (diff) | |
parent | 40d9982013b20f7e4359382de92b451264e2233b (diff) | |
download | FreeBSD-src-0e18e1b9de7bacfe2cdccb09738c895dfaf0cbf8.zip FreeBSD-src-0e18e1b9de7bacfe2cdccb09738c895dfaf0cbf8.tar.gz |
IFC @ r243164
Diffstat (limited to 'sys/netinet6/nd6.c')
-rw-r--r-- | sys/netinet6/nd6.c | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/sys/netinet6/nd6.c b/sys/netinet6/nd6.c index 0ce7378..9993c77 100644 --- a/sys/netinet6/nd6.c +++ b/sys/netinet6/nd6.c @@ -975,12 +975,12 @@ nd6_is_addr_neighbor(struct sockaddr_in6 *addr, struct ifnet *ifp) * Even if the address matches none of our addresses, it might be * in the neighbor cache. */ - IF_AFDATA_LOCK(ifp); + IF_AFDATA_RLOCK(ifp); if ((lle = nd6_lookup(&addr->sin6_addr, 0, ifp)) != NULL) { LLE_RUNLOCK(lle); rc = 1; } - IF_AFDATA_UNLOCK(ifp); + IF_AFDATA_RUNLOCK(ifp); return (rc); } @@ -1480,9 +1480,9 @@ nd6_ioctl(u_long cmd, caddr_t data, struct ifnet *ifp) if ((error = in6_setscope(&nb_addr, ifp, NULL)) != 0) return (error); - IF_AFDATA_LOCK(ifp); + IF_AFDATA_RLOCK(ifp); ln = nd6_lookup(&nb_addr, 0, ifp); - IF_AFDATA_UNLOCK(ifp); + IF_AFDATA_RUNLOCK(ifp); if (ln == NULL) { error = EINVAL; @@ -2198,9 +2198,9 @@ nd6_storelladdr(struct ifnet *ifp, struct mbuf *m, /* * the entry should have been created in nd6_store_lladdr */ - IF_AFDATA_LOCK(ifp); + IF_AFDATA_RLOCK(ifp); ln = lla_lookup(LLTABLE6(ifp), 0, dst); - IF_AFDATA_UNLOCK(ifp); + IF_AFDATA_RUNLOCK(ifp); if ((ln == NULL) || !(ln->la_flags & LLE_VALID)) { if (ln != NULL) LLE_RUNLOCK(ln); |