diff options
author | Robert Watson <rwatson@FreeBSD.org> | 2010-03-06 22:04:45 +0000 |
---|---|---|
committer | Robert Watson <rwatson@FreeBSD.org> | 2010-03-06 22:04:45 +0000 |
commit | 1d7429e0a922fa70953c61b81703f0f60515ef11 (patch) | |
tree | 6672361974cd8450e6472f9389262d730fffe6c4 /sys/netinet/ip_divert.c | |
parent | 8296cddfdd11a2b2294fb677d143ba28d86f2751 (diff) | |
download | src-1d7429e0a922fa70953c61b81703f0f60515ef11.tar.gz src-1d7429e0a922fa70953c61b81703f0f60515ef11.zip |
Remove unnecessary locking of divcbinfo lock from div_output(): this has not
been required since FreeBSD 7.0 when the so_pcb pointer leading to inp was
guaranteed to be stable when a valid socket reference is held (as it is in
the output path).
MFC after: 1 week
Reviewed by: bz
Sponsored by: Juniper Networks
Notes
Notes:
svn path=/head/; revision=204810
Diffstat (limited to 'sys/netinet/ip_divert.c')
-rw-r--r-- | sys/netinet/ip_divert.c | 3 |
1 files changed, 0 insertions, 3 deletions
diff --git a/sys/netinet/ip_divert.c b/sys/netinet/ip_divert.c index 225dd467e1ab..7fd20f84527c 100644 --- a/sys/netinet/ip_divert.c +++ b/sys/netinet/ip_divert.c @@ -385,7 +385,6 @@ div_output(struct socket *so, struct mbuf *m, struct sockaddr_in *sin, struct inpcb *inp; dt->info |= IPFW_IS_DIVERT | IPFW_INFO_OUT; - INP_INFO_WLOCK(&V_divcbinfo); inp = sotoinpcb(so); INP_RLOCK(inp); /* @@ -396,7 +395,6 @@ div_output(struct socket *so, struct mbuf *m, struct sockaddr_in *sin, ((u_short)ntohs(ip->ip_len) > m->m_pkthdr.len)) { error = EINVAL; INP_RUNLOCK(inp); - INP_INFO_WUNLOCK(&V_divcbinfo); m_freem(m); } else { /* Convert fields to host order for ip_output() */ @@ -437,7 +435,6 @@ div_output(struct socket *so, struct mbuf *m, struct sockaddr_in *sin, error = ENOBUFS; } INP_RUNLOCK(inp); - INP_INFO_WUNLOCK(&V_divcbinfo); if (error == ENOBUFS) { m_freem(m); return (error); |