Page Menu
Home
FreeBSD
Search
Configure Global Search
Log In
Files
F159557892
D12457/new/.diff
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Flag For Later
Award Token
Size
696 B
Referenced Files
None
Subscribers
None
D12457/new/.diff
View Options
Index: head/sys/net/if_stf.c
===================================================================
--- head/sys/net/if_stf.c
+++ head/sys/net/if_stf.c
@@ -367,6 +367,7 @@
static int
stf_getsrcifa6(struct ifnet *ifp, struct in6_addr *addr, struct in6_addr *mask)
{
+ struct rm_priotracker in_ifa_tracker;
struct ifaddr *ia;
struct in_ifaddr *ia4;
struct in6_ifaddr *ia6;
@@ -382,9 +383,11 @@
continue;
bcopy(GET_V4(&sin6->sin6_addr), &in, sizeof(in));
+ IN_IFADDR_RLOCK(&in_ifa_tracker);
LIST_FOREACH(ia4, INADDR_HASH(in.s_addr), ia_hash)
if (ia4->ia_addr.sin_addr.s_addr == in.s_addr)
break;
+ IN_IFADDR_RUNLOCK(&in_ifa_tracker);
if (ia4 == NULL)
continue;
File Metadata
Details
Attached
Mime Type
text/plain
Expires
Tue, Jun 16, 5:05 PM (9 h, 11 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
33994300
Default Alt Text
D12457/new/.diff (696 B)
Attached To
Mode
D12457: Complete INADDR_HASH lock protection
Attached
Detach File
Event Timeline
Log In to Comment