git: 8ee0826f7513 - main - in6: Enter the net epoch in in6_tmpaddrtimer()
Mark Johnston
markj at FreeBSD.org
Mon Aug 9 17:49:27 UTC 2021
The branch main has been updated by markj:
URL: https://cgit.FreeBSD.org/src/commit/?id=8ee0826f75136f6ac6443f32c582882bc31abd73
commit 8ee0826f75136f6ac6443f32c582882bc31abd73
Author: Mark Johnston <markj at FreeBSD.org>
AuthorDate: 2021-08-09 17:14:23 +0000
Commit: Mark Johnston <markj at FreeBSD.org>
CommitDate: 2021-08-09 17:27:52 +0000
in6: Enter the net epoch in in6_tmpaddrtimer()
We need to do so to safely traverse the ifnet list.
Reviewed by: bz
MFC after: 1 week
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D31470
---
sys/netinet6/in6_ifattach.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/sys/netinet6/in6_ifattach.c b/sys/netinet6/in6_ifattach.c
index 02d6a2b230b4..6633a649b812 100644
--- a/sys/netinet6/in6_ifattach.c
+++ b/sys/netinet6/in6_ifattach.c
@@ -828,6 +828,7 @@ void
in6_tmpaddrtimer(void *arg)
{
CURVNET_SET((struct vnet *) arg);
+ struct epoch_tracker et;
struct nd_ifinfo *ndi;
u_int8_t nullbuf[8];
struct ifnet *ifp;
@@ -837,6 +838,7 @@ in6_tmpaddrtimer(void *arg)
V_ip6_temp_regen_advance) * hz, in6_tmpaddrtimer, curvnet);
bzero(nullbuf, sizeof(nullbuf));
+ NET_EPOCH_ENTER(et);
CK_STAILQ_FOREACH(ifp, &V_ifnet, if_link) {
if (ifp->if_afdata[AF_INET6] == NULL)
continue;
@@ -850,7 +852,7 @@ in6_tmpaddrtimer(void *arg)
ndi->randomseed1, ndi->randomid);
}
}
-
+ NET_EPOCH_EXIT(et);
CURVNET_RESTORE();
}
More information about the dev-commits-src-main
mailing list