svn commit: r353422 - head/sys/netinet
Gleb Smirnoff
glebius at FreeBSD.org
Thu Oct 10 23:48:43 UTC 2019
Author: glebius
Date: Thu Oct 10 23:48:42 2019
New Revision: 353422
URL: https://svnweb.freebsd.org/changeset/base/353422
Log:
The divert(4) module must always be running in network epoch, thus
call to if_addr_rlock() isn't needed.
Modified:
head/sys/netinet/ip_divert.c
Modified: head/sys/netinet/ip_divert.c
==============================================================================
--- head/sys/netinet/ip_divert.c Thu Oct 10 23:47:14 2019 (r353421)
+++ head/sys/netinet/ip_divert.c Thu Oct 10 23:48:42 2019 (r353422)
@@ -231,10 +231,10 @@ divert_packet(struct mbuf *m, bool incoming)
/* Sanity check */
M_ASSERTPKTHDR(m);
+ NET_EPOCH_ASSERT();
/* Find IP address for receive interface */
ifp = m->m_pkthdr.rcvif;
- if_addr_rlock(ifp);
CK_STAILQ_FOREACH(ifa, &ifp->if_addrhead, ifa_link) {
if (ifa->ifa_addr->sa_family != AF_INET)
continue;
@@ -242,7 +242,6 @@ divert_packet(struct mbuf *m, bool incoming)
((struct sockaddr_in *) ifa->ifa_addr)->sin_addr;
break;
}
- if_addr_runlock(ifp);
}
/*
* Record the incoming interface name whenever we have one.
More information about the svn-src-all
mailing list