summaryrefslogtreecommitdiffstats
path: root/sys/netinet/udp_usrreq.c
diff options
context:
space:
mode:
authorrwatson <rwatson@FreeBSD.org>2007-07-07 09:46:34 +0000
committerrwatson <rwatson@FreeBSD.org>2007-07-07 09:46:34 +0000
commita78856a25adea9c313f58c5948c157421a7089f6 (patch)
tree3d3c6e6d186211f33928b260c91c66d0da9e12b9 /sys/netinet/udp_usrreq.c
parent0985df88fce8b53350ba7440655502f80785ea5b (diff)
downloadFreeBSD-src-a78856a25adea9c313f58c5948c157421a7089f6.zip
FreeBSD-src-a78856a25adea9c313f58c5948c157421a7089f6.tar.gz
Minor UDPv4 cleanup: capitalize comment, move statistics update after mbuf
free to be consistent with other error handling, and release socket buffer lock before freeing mbufs and statistics updates rather than after. Approved by: re (kensmith)
Diffstat (limited to 'sys/netinet/udp_usrreq.c')
-rw-r--r--sys/netinet/udp_usrreq.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/sys/netinet/udp_usrreq.c b/sys/netinet/udp_usrreq.c
index 9391f07..3b1e70b 100644
--- a/sys/netinet/udp_usrreq.c
+++ b/sys/netinet/udp_usrreq.c
@@ -496,10 +496,10 @@ udp_append(struct inpcb *inp, struct ip *ip, struct mbuf *n, int off,
INP_LOCK_ASSERT(inp);
#ifdef IPSEC
- /* check AH/ESP integrity. */
+ /* Check AH/ESP integrity. */
if (ipsec4_in_reject(n, inp)) {
- ipsec4stat.in_polvio++;
m_freem(n);
+ ipsec4stat.in_polvio++;
return;
}
#endif /* IPSEC */
@@ -538,11 +538,11 @@ udp_append(struct inpcb *inp, struct ip *ip, struct mbuf *n, int off,
so = inp->inp_socket;
SOCKBUF_LOCK(&so->so_rcv);
if (sbappendaddr_locked(&so->so_rcv, append_sa, n, opts) == 0) {
+ SOCKBUF_UNLOCK(&so->so_rcv);
m_freem(n);
if (opts)
m_freem(opts);
udpstat.udps_fullsock++;
- SOCKBUF_UNLOCK(&so->so_rcv);
} else
sorwakeup_locked(so);
}
OpenPOWER on IntegriCloud