Page MenuHomeFreeBSD

D20338.diff
No OneTemporary

D20338.diff

Index: sys/netinet/udp_usrreq.c
===================================================================
--- sys/netinet/udp_usrreq.c
+++ sys/netinet/udp_usrreq.c
@@ -1156,9 +1156,15 @@
src.sin_family = 0;
sin = (struct sockaddr_in *)addr;
+retry:
if (sin == NULL ||
(inp->inp_laddr.s_addr == INADDR_ANY && inp->inp_lport == 0)) {
INP_WLOCK(inp);
+ if (sin != NULL && (inp->inp_laddr.s_addr != INADDR_ANY ||
+ inp->inp_lport != 0)) {
+ INP_WUNLOCK(inp);
+ goto retry;
+ }
unlock_inp = UH_WLOCKED;
} else {
INP_RLOCK(inp);

File Metadata

Mime Type
text/plain
Expires
Fri, Jan 23, 4:35 PM (5 h, 12 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
27887598
Default Alt Text
D20338.diff (553 B)

Event Timeline